html,body,#root{height:100%;margin:0}:root{--surface-1-t:#1a1a19db;--text-primary:#fff;--text-secondary:#c3c2b7;--border:#ffffff1a;--hairline:#2c2c2a;--accent:#3987e5;--topbar-h:56px;--bottombar-h:56px;--panel-w:300px}#panel,#buildingPanel,#addressResults,.line-list{scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}#panel::-webkit-scrollbar{width:8px}#buildingPanel::-webkit-scrollbar{width:8px}#addressResults::-webkit-scrollbar{width:8px}.line-list::-webkit-scrollbar{width:8px}#panel::-webkit-scrollbar-track{background:0 0}#buildingPanel::-webkit-scrollbar-track{background:0 0}#addressResults::-webkit-scrollbar-track{background:0 0}.line-list::-webkit-scrollbar-track{background:0 0}#panel::-webkit-scrollbar-thumb{background-color:#ffffff40;border-radius:5px}#buildingPanel::-webkit-scrollbar-thumb{background-color:#ffffff40;border-radius:5px}#addressResults::-webkit-scrollbar-thumb{background-color:#ffffff40;border-radius:5px}.line-list::-webkit-scrollbar-thumb{background-color:#ffffff40;border-radius:5px}#panel::-webkit-scrollbar-thumb:hover{background-color:#fff6}#buildingPanel::-webkit-scrollbar-thumb:hover{background-color:#fff6}#addressResults::-webkit-scrollbar-thumb:hover{background-color:#fff6}.line-list::-webkit-scrollbar-thumb:hover{background-color:#fff6}*{box-sizing:border-box}html,body{background:#000;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#cesiumContainer{height:100%}#timeBar{z-index:1200;background:var(--surface-1-t);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:10px 16px;display:flex;position:absolute;top:0;left:0;right:0}#bottomBar{z-index:1200;background:var(--surface-1-t);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:10px 16px;display:flex;position:absolute;bottom:0;left:0;right:0}#bottomBar input[type=datetime-local]{color:var(--text-primary);border:1px solid var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff0f;border-radius:8px;padding:6px 9px;font-family:inherit;font-size:12.5px}.timebar-btn{color:var(--text-primary);border:1px solid var(--border);cursor:pointer;background:#ffffff0f;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12.5px;line-height:1.3}.timebar-btn:hover{background:#ffffff1f}.timebar-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.timebar-btn.section-open{border-color:var(--border);background:#ffffff24}.timebar-btn-secondary{background:0 0}#playPauseBtn{min-width:34px;font-size:14px}.speed-group{gap:4px;display:flex}#panel{top:var(--topbar-h);z-index:1000;width:300px;max-width:calc(100vw - 40px);height:calc(100vh - var(--topbar-h) - var(--bottombar-h));background:var(--surface-1-t);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);border-right:1px solid var(--border);border-radius:0 14px 14px 0;padding:16px 18px;transition:transform .25s;position:absolute;left:0;overflow-y:auto;box-shadow:8px 0 28px #00000059}#panel.collapsed{transform:translate(-100%)}#panel .panel-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}#panelToggle{top:calc(var(--topbar-h) + 12px);left:var(--panel-w,300px);z-index:1001;border:1px solid var(--border);background:var(--surface-1-t);-webkit-backdrop-filter:blur(10px);width:26px;height:26px;color:var(--text-primary);cursor:pointer;border-left:none;border-radius:0 7px 7px 0;font-family:inherit;font-size:15px;line-height:1;transition:left .25s;position:absolute}#panelToggle.at-edge{border-left:1px solid var(--border);border-radius:0 7px 7px 0;left:0}#panelToggle:hover{background:#ffffff1f}#panel.collapsed .panel-body{display:none}#panel .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-size:10px;font-weight:600}#panel h1{letter-spacing:-.01em;margin:0 0 6px;font-size:16px;font-weight:650}#panel p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}#panel a{color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:2px}#panel a:hover{color:var(--text-primary)}#panel .footer{border-top:1px solid var(--hairline);color:#898781;margin-top:12px;padding-top:10px;font-size:10.5px;line-height:1.5}#panel .section summary{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:10px;font-weight:600;list-style:none;display:flex}#panel .section summary::-webkit-details-marker{display:none}#panel .section summary:after{content:"+";color:var(--text-secondary);font-size:13px;font-weight:400;transition:transform .15s}#panel .section[open] summary:after{transform:rotate(45deg)}#panel .tb-section{display:none}#panel .tb-section.tb-active{display:block}#panel .section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:600}#panel label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 6px;font-size:10px;font-weight:600;display:block}#basemapSelect,#historySelect,#addressSearchInput{width:100%;color:var(--text-primary);border:1px solid var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff0f;border-radius:8px;padding:7px 10px;font-family:inherit;font-size:12.5px}#basemapSelect option{color:#1a1a19}#addressResults{max-height:180px;margin:8px 0 0;padding:0;list-style:none;display:none;overflow-y:auto}#addressResults.visible{display:block}#addressResults li{color:var(--text-primary);cursor:pointer;border-radius:6px;padding:7px 9px;font-size:12px;line-height:1.4}#addressResults li:hover{background:#ffffff1a}#addressResults li.muted{color:var(--text-secondary);cursor:default}#addressResults li.muted:hover{background:0 0}#panel .shadow-toggle{color:var(--text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}#panel .shadow-toggle input{accent-color:var(--accent)}#panel .layer-toggle{color:var(--text-primary);align-items:center;gap:8px;font-size:12.5px;display:flex}#panel .layer-toggle+.layer-toggle{margin-top:8px}#panel .layer-toggle input{accent-color:var(--accent)}#panel .layer-toggle label,#panel .shadow-toggle label{text-transform:none;letter-spacing:normal;color:inherit;margin:0;font-weight:400}.btn{width:100%;color:var(--text-primary);border:1px solid var(--border);cursor:pointer;text-align:center;background:#ffffff0f;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:12.5px;display:block}.btn:hover{background:#ffffff1f}.btn:disabled{opacity:.6;cursor:default}.btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.btn.secondary{background:0 0}.btn+.btn{margin-top:7px}#measureResult,#drawResult{color:var(--text-secondary);min-height:14px;margin-top:8px;font-size:11.5px;line-height:1.4}#floodLevel,#drawHeightInput,#historyOpacity{width:100%;accent-color:var(--accent);margin-top:4px}#drawHeightRow{margin-top:10px}#panel .flood-disclaimer{color:#898781;margin-top:9px;font-size:10.5px;line-height:1.45}#zoomControls{right:16px;bottom:calc(var(--bottombar-h) + 16px);z-index:1000;background:var(--surface-1-t);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 28px #00000059}#zoomControls button{width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:22px;line-height:1;display:flex}#zoomControls button:hover{background:#ffffff14}#zoomControls button:active{background:#ffffff29}#zoomControls button:disabled{opacity:.4;cursor:default}#zoomControls button:disabled:hover{background:0 0}#zoomControls .sep{background:var(--hairline);height:1px}#zoomControls svg{width:20px;height:20px;display:block}#compassNeedle{transform-origin:10px 10px;transition:transform 50ms linear}#locateBtn.locate-error{color:#e5484d}#locateBtn.locate-active{color:#3987e5}#buildingPanel{top:calc(var(--topbar-h) + 16px);z-index:1000;width:280px;max-width:calc(100vw - 32px);max-height:calc(100vh - var(--topbar-h) - var(--bottombar-h) - 32px);background:var(--surface-1-t);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:none;position:absolute;right:16px;overflow-y:auto;box-shadow:0 8px 28px #00000059}#buildingPanel.open{display:block}#buildingPanel .bp-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}#buildingPanel .bp-title{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}#buildingPanel .bp-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:18px;line-height:1}#buildingPanel .bp-close:hover{color:var(--text-primary)}#buildingPanel dl{grid-template-columns:auto 1fr;gap:5px 10px;margin:0;font-size:12px;display:grid}#buildingPanel dt{color:var(--text-secondary)}#buildingPanel dd{text-align:right;font-variant-numeric:tabular-nums;word-break:break-all;margin:0}#buildingPanel .bp-sun{border-bottom:1px solid var(--hairline);margin-bottom:12px;padding-bottom:12px}#buildingPanel .bp-more{border-top:1px solid var(--hairline);margin-top:10px;padding-top:10px;display:none}#buildingPanel .bp-more summary{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:10px;font-weight:600;list-style:none;display:flex}#buildingPanel .bp-more summary::-webkit-details-marker{display:none}#buildingPanel .bp-more summary:after{content:"+";color:var(--text-secondary);font-size:13px;font-weight:400;transition:transform .15s}#buildingPanel .bp-more[open] summary:after{transform:rotate(45deg)}#buildingPanel .bp-more dl{margin-top:9px}#bpSunResult{color:var(--text-secondary);margin-top:8px;font-size:11px;line-height:1.45}.tb-group{gap:6px;display:flex}.tb-divider{background:var(--hairline);align-self:stretch;width:1px;margin:2px}.timebar-icon-btn{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.timebar-icon-btn svg{width:18px;height:18px;display:block}.weather-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;display:grid}.weather-grid .btn{padding:10px 6px;font-size:12px}#weatherStatus{border-top:1px solid var(--hairline);color:var(--text-secondary);min-height:14px;margin-top:10px;padding-top:10px;font-size:11px;line-height:1.45}.line-group+.line-group{margin-top:14px}.line-list{grid-template-columns:1fr 1fr;gap:4px 8px;max-height:220px;margin-top:6px;padding-right:2px;display:grid;overflow-y:auto}.line-toggle{font-size:11.5px!important}.line-toggle label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-swatch{border-radius:2px;flex:none;width:9px;height:9px;display:inline-block}.layer-toggle.disabled-look{opacity:.5}#buildingHeightLegend{border-top:1px solid var(--hairline);margin-top:8px;padding-top:8px;display:none}#buildingHeightLegend.visible{display:block}#buildingHeightLegend .legend-row{color:var(--text-secondary);align-items:center;gap:7px;font-size:11px;display:flex}#buildingHeightLegend .legend-row+.legend-row{margin-top:4px}:root{--surface-1-t:#16171ad6;--surface-2:#ffffff0f;--surface-2-hover:#ffffff1c;--text-primary:#f4f4f2;--text-secondary:#b3b2aa;--text-muted:#86857f;--border:#ffffff17;--hairline:#ffffff12;--accent:#3987e5;--accent-soft:#3987e52e;--radius:14px;--shadow:0 10px 32px #00000061;--gap:16px;--rail-w:48px;--chat-w:400px;--chat-offset:0px}body.chat-open{--chat-offset:calc(var(--chat-w) + var(--gap))}body{color:var(--text-primary)}#searchCard,#timeBar,#panel,#bottomBar,#zoomControls,#buildingPanel{background:var(--surface-1-t);-webkit-backdrop-filter:blur(14px)saturate(1.2);border:1px solid var(--border);box-shadow:var(--shadow)}#searchCard{top:var(--gap);left:var(--gap);z-index:1300;width:320px;max-width:calc(100vw - 2 * var(--gap));border-radius:var(--radius);padding:12px;position:absolute}#searchCard .brand{align-items:center;gap:10px;margin-bottom:10px;display:flex}#searchCard .brand-mark{background:linear-gradient(135deg,#3987e5 0%,#1fb58f 100%);border-radius:8px;flex:none;width:28px;height:28px;box-shadow:inset 0 0 0 1px #ffffff2e}#searchCard .brand-title{letter-spacing:-.01em;font-size:14px;font-weight:650}#searchCard .brand-sub{color:var(--text-secondary);margin-top:1px;font-size:11px}#searchCard .brand-sub a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:2px}#searchCard .search-field{position:relative}#searchCard .search-field svg{width:15px;height:15px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}#addressSearchInput{background:var(--surface-2);width:100%;color:var(--text-primary);border:1px solid var(--border);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:10px;padding:9px 10px 9px 32px;font-size:13px}#addressSearchInput:focus{border-color:var(--accent);background:#ffffff17;outline:none}#addressResults{margin-top:6px}#timeBar{top:calc(var(--gap) + 118px);left:var(--gap);width:var(--rail-w);border-radius:var(--radius);flex-flow:column;gap:4px;padding:6px;right:auto}#timeBar .tb-group{flex-direction:column;gap:4px}#timeBar .tb-divider{align-self:stretch;width:auto;height:1px;margin:2px 4px}#timeBar .timebar-icon-btn{width:36px;height:36px;color:var(--text-secondary);background:0 0;border-color:#0000;border-radius:10px;position:relative}#timeBar .timebar-icon-btn:hover{background:var(--surface-2-hover);color:var(--text-primary)}#timeBar .timebar-btn.section-open{background:var(--accent-soft);color:var(--text-primary);border-color:#0000}#timeBar .timebar-btn.active{background:var(--accent);color:#fff}#timeBar .timebar-icon-btn:after{content:attr(aria-label);white-space:nowrap;border:1px solid var(--border);color:var(--text-primary);pointer-events:none;opacity:0;background:#0e0f11;border-radius:6px;padding:5px 8px;font-size:12px;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}#timeBar .timebar-icon-btn:hover:after{opacity:1}#timeBar .timebar-btn.section-open:after,#panelToggle{display:none}#panel{top:calc(var(--gap) + 118px);left:calc(var(--gap) + var(--rail-w) + 10px);width:290px;max-width:calc(100vw - var(--rail-w) - 3 * var(--gap));height:auto;max-height:calc(100vh - var(--gap) * 2 - 118px - 64px);border-radius:var(--radius);padding:14px 16px 16px;transition:opacity .15s,transform .15s}#panel.collapsed{opacity:0;pointer-events:none;visibility:hidden;transform:translate(-8px)}#panel .panel-close{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;font-size:18px;line-height:1;position:absolute;top:8px;right:8px}#panel .panel-close:hover{background:var(--surface-2-hover);color:var(--text-primary)}#panel .section{border-top:none;margin-top:0;padding-top:0}#panel .section-title{letter-spacing:0;text-transform:none;color:var(--text-primary);padding-right:28px;font-size:13px;font-weight:600}#panel .section .section-body{margin-top:12px}#panel .line-group>label{margin-bottom:8px}#bottomBar{left:var(--gap);right:auto;bottom:calc(var(--gap) + 18px);border-radius:12px;flex-wrap:nowrap;gap:6px;padding:6px}#bottomBar input[type=datetime-local]{background:var(--surface-2);border-radius:8px;padding:5px 8px;font-size:12px}#bottomBar .timebar-btn{background:0 0;border-color:#0000;border-radius:8px;padding:5px 9px;font-size:12px}#bottomBar .timebar-btn:hover{background:var(--surface-2-hover)}#bottomBar .timebar-btn.active{background:var(--accent);color:#fff}#bottomBar .speed-group{border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);gap:2px;padding:0 4px}#zoomControls{right:calc(var(--gap) + var(--chat-offset));bottom:calc(var(--gap) + 18px);border-radius:12px;transition:right .2s}#zoomControls button{width:40px;height:40px;font-size:20px}.cesium-viewer .cesium-viewer-toolbar{top:var(--gap);right:calc(var(--gap) + var(--chat-offset));transition:right .2s}.cesium-viewer .cesium-viewer-toolbar .cesium-button,.cesium-viewer .cesium-viewer-toolbar .cesium-toolbar-button{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;background:var(--surface-1-t)!important}.cesium-viewer .cesium-viewer-toolbar .cesium-button:hover{border-color:var(--border);box-shadow:var(--shadow);background:#2a2c31}.cesium-viewer .cesium-viewer-toolbar{align-items:center;gap:6px;display:flex}.cesium-viewer .cesium-viewer-toolbar>*{margin:0}#viewModeSwitch{background:var(--surface-1-t);-webkit-backdrop-filter:blur(14px)saturate(1.2);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;gap:2px;padding:3px;display:inline-flex}#viewModeSwitch button{min-width:34px;height:26px;color:var(--text-secondary);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 8px;font:600 12px/1 system-ui,-apple-system,Segoe UI,sans-serif}#viewModeSwitch button:hover{color:var(--text-primary);background:var(--surface-2-hover)}#viewModeSwitch button.active{background:var(--accent);color:#fff}#viewModeSwitch button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}body.view-2d .only-3d{display:none!important}#buildingPanel{top:calc(var(--gap) + 48px);right:calc(var(--gap) + var(--chat-offset));max-height:calc(100vh - 2 * var(--gap) - 48px - 80px);border-radius:var(--radius);transition:right .2s}#basemapCredit{z-index:900;left:var(--gap);max-width:calc(100vw - var(--chat-offset) - 2 * var(--gap) - 200px);text-overflow:ellipsis;white-space:nowrap;color:#ffffff8c;text-shadow:0 1px 2px #000c;pointer-events:none;font-size:10px;position:absolute;bottom:2px;overflow:hidden}#dataSourcesBtn{pointer-events:auto;font:inherit;color:#fffc;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}#dataSourcesBtn:hover,#dataSourcesBtn[aria-expanded=true]{color:#fff}#dataSources{z-index:1400;left:var(--gap);width:380px;max-width:calc(100vw - 2 * var(--gap));border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1-t);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-height:60vh;box-shadow:var(--shadow);color:var(--text-secondary);padding:12px 14px;font-size:12px;line-height:1.45;position:absolute;bottom:22px;overflow-y:auto}#dataSources[hidden]{display:none}#dataSources h3{color:var(--text-primary);margin:0 0 8px;font-size:13px}#dataSources ul{margin:0;padding-left:16px}#dataSources li{margin-bottom:4px}#dataSources b{color:var(--text-primary);font-weight:600}#dataSources p{color:var(--text-muted);margin:8px 0 0}.cesium-viewer .cesium-viewer-bottom{padding-right:0;transition:right .2s;bottom:0;left:auto!important;right:calc(var(--gap) + var(--chat-offset))!important}.weather-grid .weather-wide{grid-column:1/-1}#historySwipe{z-index:800;pointer-events:none;width:0;position:fixed;top:0;bottom:0;left:50%}#historySwipe[hidden]{display:none}#historySwipe .hs-line{background:#fff;width:2px;position:absolute;top:0;bottom:0;left:-1px;box-shadow:0 0 0 1px #00000059}#historySwipe .hs-handle{color:var(--text-primary);cursor:ew-resize;pointer-events:auto;touch-action:none;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;display:flex;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}#historySwipe .hs-handle svg{background:var(--surface-1-t);border:1px solid var(--border);border-radius:50%;flex:none;width:36px;height:36px;padding:8px;box-shadow:0 2px 10px #00000059}#historySwipe .hs-handle:focus-visible svg{outline:2px solid var(--accent);outline-offset:2px}#historySwipe .hs-label{background:var(--surface-1-t);white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:calc(100% + 8px)}#historySwipe .hs-then{right:calc(50% + 6px)}#historySwipe .hs-now{left:calc(50% + 6px)}.views-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.views-grid .btn{margin:0;padding:8px 6px;font-size:12px;line-height:1.25}#tourBtn.active{background:var(--accent);border-color:var(--accent);color:#fff}#shareViewStatus{color:var(--text-secondary);min-height:14px;margin-top:8px;font-size:11px}@media (width<=720px){:root{--gap:10px}body.chat-open{--chat-offset:0px}#searchCard{max-width:calc(100vw - 2 * var(--gap) - 128px);padding:10px}#searchCard .brand{margin-bottom:8px}#searchCard .brand-sub{display:none}#timeBar,#panel{top:calc(var(--gap) + 100px)}#panel{max-height:calc(100vh - 250px)}#bottomBar{bottom:calc(var(--gap) + 76px);max-width:calc(100vw - 2 * var(--gap) - 56px);flex-wrap:wrap}#zoomControls{bottom:calc(var(--gap) + 76px)}#timeBar .timebar-icon-btn:after{display:none}}.ask-bar{left:max(calc(50% - 220px), calc(var(--gap) + 490px));bottom:calc(var(--gap) + 18px);z-index:1250;width:min(440px, calc(100vw - 2 * var(--gap) - 490px - 60px));background:var(--surface-1-t);-webkit-backdrop-filter:blur(14px)saturate(1.2);box-shadow:var(--shadow), 0 0 0 4px #3987e514;color:var(--text-secondary);font:inherit;text-align:left;cursor:text;border:1px solid #3987e573;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-size:14px;transition:border-color .15s,color .15s;display:flex;position:absolute}.ask-bar:hover{border-color:var(--accent);color:var(--text-primary)}.ask-bar svg{color:#7fb2f0;flex:none;width:18px;height:18px}.ask-bar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-panel{top:var(--gap);right:var(--gap);bottom:var(--gap);z-index:1300;width:var(--chat-w);max-width:calc(100vw - 2 * var(--gap));background:var(--surface-1-t);-webkit-backdrop-filter:blur(14px)saturate(1.2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text-primary);flex-direction:column;font-size:14px;display:flex;position:absolute;overflow:hidden}.chat-panel__header{border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 12px 16px;display:flex}.chat-panel__title{align-items:center;gap:10px;min-width:0;display:flex}.chat-panel__title>svg{color:#7fb2f0;flex:none;width:20px;height:20px}.chat-panel__title h2{margin:0;font-size:14px;font-weight:650}.chat-panel__title span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.chat-panel__actions{flex:none;gap:2px;display:flex}.icon-btn{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{background:var(--surface-2-hover);color:var(--text-primary)}.icon-btn.is-on{background:var(--accent-soft);color:var(--text-primary)}.chat-panel__settings{border-bottom:1px solid var(--hairline);background:#ffffff06;flex-direction:column;flex:none;gap:10px;padding:12px 16px 14px;display:flex}.chat-panel__settings .field-row{grid-template-columns:auto 1fr;gap:8px;display:grid}.chat-panel__settings label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.chat-panel__settings select,.chat-panel__settings input{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text-primary);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:7px 9px;font-size:13px;font-weight:400}.chat-panel__settings select:focus,.chat-panel__settings input:focus{border-color:var(--accent);outline:none}.chat-panel__hint{color:var(--text-muted);margin:0;font-size:11px;line-height:1.4}.chat-panel__messages{scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex-direction:column;flex:auto;gap:14px;padding:16px;display:flex;overflow-y:auto}.chat-empty{margin:auto 0}.chat-empty__lead{margin:0 0 6px;font-size:16px;font-weight:600;line-height:1.35}.chat-empty__sub{color:var(--text-secondary);margin:0 0 16px;font-size:12.5px;line-height:1.5}.chat-empty__chips{flex-direction:column;gap:6px;display:flex}.chat-empty__chips button{text-align:left;background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.35}.chat-empty__chips button:hover{background:var(--surface-2-hover);border-color:#3987e580}.chat-msg{flex-direction:column;max-width:100%;display:flex}.chat-msg__bubble{white-space:pre-wrap;overflow-wrap:anywhere;width:fit-content;max-width:100%;padding:9px 13px;line-height:1.5}.chat-msg--user .chat-msg__bubble{background:var(--accent);color:#fff;border-radius:14px 14px 4px;align-self:flex-end;max-width:85%}.chat-msg--assistant .chat-msg__bubble{padding-left:0;padding-right:0}.chat-typing{gap:4px;display:flex;padding:12px 0!important}.chat-typing span{background:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite chat-typing}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-msg__blocks{flex-direction:column;gap:8px;margin-top:6px;display:flex}.chat-panel__error{color:#ffb8b6;background:#e5484d1f;border:1px solid #e5484d59;border-radius:10px;padding:9px 11px;font-size:12.5px;line-height:1.45}.chat-panel__input{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex:none;align-items:flex-end;gap:8px;margin:0 12px 12px;padding:6px 6px 6px 12px;display:flex}.chat-panel__input:focus-within{border-color:var(--accent)}.chat-panel__input textarea{resize:none;field-sizing:content;min-height:22px;max-height:120px;color:var(--text-primary);font:inherit;background:0 0;border:none;outline:none;flex:auto;padding:5px 0;line-height:1.4}.chat-panel__input textarea::placeholder{color:var(--text-muted)}.chat-panel__input button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:grid}.chat-panel__input button svg{width:17px;height:17px}.chat-panel__input button:disabled{opacity:.35;cursor:default}@media (width<=720px){.chat-panel{z-index:2000;background:#16171a;border:none;border-radius:0;width:auto;max-width:none;inset:0}.ask-bar{left:var(--gap);width:calc(100vw - 2 * var(--gap) - 56px);bottom:calc(var(--gap) + 18px)}}.block{border:1px solid var(--border);background:#ffffff09;border-radius:12px;padding:12px}.block__title{color:var(--text-secondary);margin:0 0 8px;font-size:12px;font-weight:600}.block--stat .block__value{font-size:22px;font-weight:700}.block--stat .block__label{color:var(--text-secondary);margin-top:2px;font-size:12px}.block--table table{border-collapse:collapse;width:100%;font-size:12px}.block--table th,.block--table td{text-align:left;border-bottom:1px solid var(--hairline);padding:4px 6px}.block--table th{color:var(--text-secondary);font-weight:600}.block--table-wrap{max-height:220px;overflow-y:auto}.block--chart .legend{color:var(--text-secondary);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:11px;display:flex}.block--chart .legend-swatch{border-radius:2px;width:9px;height:9px;margin-right:4px;display:inline-block}.block--map_layer{flex-direction:column;gap:8px;display:flex}.block--map_layer-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-legend{color:var(--text-secondary);gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.map-legend li{align-items:center;gap:8px;display:flex}.map-legend__swatch{border-radius:3px;flex:none;width:14px;height:10px;box-shadow:0 0 0 1px #ffffff26}.block--map_layer button{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:#ffffff14;border-radius:7px;flex:none;padding:5px 10px;font-size:12px}.block--map_layer button:hover{background:#ffffff24}.chat-msg__source{color:var(--text-secondary);margin:-2px 0 4px;font-size:11px}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.block--table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.block-history__actions{flex:none;gap:6px;display:flex}
