:root{color-scheme:dark;--bg: #0b1217;--panel: rgba(14, 22, 28, .92);--surface: #0e161c;--surface-2: #0a1115;--surface-3: #16222a;--hover: #18252d;--line: #24323b;--line-2: #1c2830;--line-strong: #39505c;--text: #eef3f5;--text-2: #c7d3d8;--muted: #93a4ad;--accent: #5bdbb2;--accent-bg: #1c3a35;--accent-ink: #c9f7e6;--accent-line: #2f7563;--primary-bg: #143a31;--primary-ink: #b5f5df;--switch-off: #31424b;--switch-on: #1e9c74;--amber: #f3b65a;--red: #ff6b78;--pill: #2d3a42;--tag: #1d2b33;--overlay-bg: rgba(14, 20, 24, .95);--tooltip-bg: #111b21;--shadow: 0 6px 24px rgba(0, 0, 0, .55);--ring-ink: #fff;--ring-halo: 0 1px 3px #000, 0 0 2px #000;--sev-default: #24343c;--sev-default-ink: #bcc8cd;--sev-severe: #6b1630;--sev-severe-ink: #ffd0da;--sev-high: #6a2a12;--sev-high-ink: #ffd8c2;--sev-elevated: #5b4a12;--sev-elevated-ink: #ffeeb4;--toast-bg: #1f1a10;--toast-line: #5a4a26;--toast-ink: #ffe2a8;--backdrop: rgba(0, 0, 0, .62);font-family:Inter,system-ui,sans-serif;font-size:13px;--rail: 60px;--sb-open: 300px;--out-w: 340px;--out-mini-w: 190px;--brand-h: 56px}body{--left-w: calc(var(--rail) + 20px);--right-w: calc(var(--out-w) + 20px)}body.sb-pinned{--left-w: calc(var(--sb-open) + 20px)}body.view-page{--right-w: 10px}body.windy-mode{--right-w: calc(var(--out-w) + 80px)}:root[data-theme=light]{color-scheme:light;--bg: #eef2f4;--panel: rgba(255, 255, 255, .94);--surface: #ffffff;--surface-2: #f1f4f6;--surface-3: #e9eef1;--hover: #eef3f6;--line: #d6dee3;--line-2: #e5eaee;--line-strong: #b4c1c9;--text: #13202a;--text-2: #33434d;--muted: #5d6f7a;--accent: #0f8f6c;--accent-bg: #d9f2e9;--accent-ink: #0a5a44;--accent-line: #8fd3bd;--primary-bg: #0f8f6c;--primary-ink: #ffffff;--switch-off: #c3ced5;--switch-on: #0f8f6c;--amber: #a35f00;--red: #c62f3d;--pill: #e4eaee;--tag: #edf1f4;--overlay-bg: rgba(255, 255, 255, .96);--tooltip-bg: #ffffff;--shadow: 0 6px 24px rgba(20, 35, 45, .18);--ring-ink: #13202a;--ring-halo: 0 0 3px #fff, 0 0 2px #fff, 0 0 1px #fff;--sev-default: #e6ecef;--sev-default-ink: #3d4d57;--sev-severe: #fde0e6;--sev-severe-ink: #8a1235;--sev-high: #fde6d9;--sev-high-ink: #8a3a10;--sev-elevated: #fbf0cf;--sev-elevated-ink: #6e5200;--toast-bg: #fff6e0;--toast-line: #e8c77a;--toast-ink: #5c4300;--backdrop: rgba(20, 32, 40, .38)}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--bg)}.swatch{display:inline-block;flex-shrink:0;width:10px;height:10px;border-radius:3px;background:var(--c);box-shadow:inset 0 0 0 1px #7f7f7f59;vertical-align:-1px}.topbar{position:fixed;z-index:1000;top:10px;left:calc(var(--sb-open) + 20px);right:10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;pointer-events:none}.topbar>*{pointer-events:auto}.topbar-spacer{justify-self:start}.brand-mark{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:9px;color:var(--accent);background:var(--accent-bg)}.brand-mark svg{width:18px;height:18px}.brand-name{font-weight:800;font-size:14px;letter-spacing:-.2px}.brand-sub{color:var(--muted);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.updated-banner{display:flex;align-items:center;gap:18px;padding:7px 20px;border:1px solid var(--line-strong);border-radius:10px;background:var(--overlay-bg);box-shadow:var(--shadow);text-align:center;cursor:help}.updated-label{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.updated-banner strong{font-size:17px;font-weight:800;letter-spacing:-.2px}.banner-total{display:flex;flex-direction:column;align-items:flex-start;padding-left:18px;border-left:1px solid var(--line-strong);line-height:1.1}.updated-banner .banner-total-num{color:#e5484d;font-size:26px;font-variant-numeric:tabular-nums}.banner-total-sub{color:var(--text-2);font-size:11.5px;font-weight:700;white-space:nowrap}.banner-updated{display:flex;flex-direction:column;align-items:center}.updated-banner.degraded{border-color:var(--amber)}.updated-banner.degraded .updated-label{color:var(--amber)}.topbar-actions{display:flex;align-items:center;gap:8px;justify-self:end}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:600}.btn:hover{border-color:var(--line-strong)}.btn[hidden]{display:none}a.btn{text-decoration:none;color:inherit}.btn.small svg{width:14px;height:14px}.btn svg{width:16px;height:16px}.btn.primary{border-color:var(--accent-line);background:var(--primary-bg);color:var(--primary-ink)}.btn.icon{width:36px;padding:0}.btn.small{min-height:30px;padding:0 10px;font-size:12px;background:var(--surface)}.btn.small.primary{background:var(--primary-bg);color:var(--primary-ink)}.btn:disabled{opacity:.5;cursor:default}#refresh-button:disabled{cursor:wait}.live-switch{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:600;cursor:pointer}.live-switch input,.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:relative;flex-shrink:0;width:30px;height:17px;border-radius:9px;background:var(--switch-off);transition:background .2s}.switch-thumb{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .2s}input:checked+.switch-track{background:var(--switch-on)}input:checked+.switch-track .switch-thumb{transform:translate(13px)}input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.is-live .live-switch{border-color:var(--accent-line);color:var(--accent-ink)}.is-live .live-switch:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.net-panel{flex-shrink:0;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:10px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.net-panel.muted{opacity:.45}.net-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:0;background:transparent;text-align:left}.net-head-main{flex:1;min-width:0}.net-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.net-title{display:flex;align-items:center;gap:7px;min-width:0;font-weight:700;font-size:14px}.net-off{flex-shrink:0;color:var(--text-2);font-size:11.5px;font-weight:600;white-space:nowrap}.net-off strong{color:var(--text);font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}.net-sub{margin-top:1px;color:var(--muted);font-weight:500;font-size:11.5px}.net-toggle{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:6px;background:var(--surface-3);color:var(--text-2);font-weight:800}.net-list{max-height:330px;overflow-y:auto;border-top:1px solid var(--line);scrollbar-width:thin}.net-panel.collapsed .net-list{display:none}.row{display:block;width:100%;padding:7px 10px;border:0;border-bottom:1px solid var(--line-2);background:transparent;text-align:left}.row:hover{background:var(--hover)}.row-top{display:flex;justify-content:space-between;gap:8px;font-weight:700}.row-off{white-space:nowrap;font-variant-numeric:tabular-nums}.row-meta{margin-top:2px;color:var(--muted);font-size:11.5px}.pill{padding:1px 5px;border-radius:4px;background:var(--pill);color:var(--text-2);font-size:10px;font-weight:600;text-transform:uppercase}.delta{font-size:11px}.delta.up{color:var(--red)}.delta.down{color:var(--accent)}.stale{color:var(--amber);font-size:11px}.empty{padding:10px;color:var(--muted);font-size:12px}.tag{padding:2px 7px;border-radius:5px;background:var(--tag);color:var(--muted);font-size:11px}.seg{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.seg button{padding:6px 0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:600}.seg button.active{background:var(--accent-bg);color:var(--accent-ink)}.seg button[hidden]{display:none}.windy-mode .seg{grid-template-columns:repeat(4,1fr)}.basemap-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;color:var(--text-2);font-size:12px}.basemap-row[hidden]{display:none}.basemap-row select{flex:1;max-width:190px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--text);font-size:12px}.wind-style{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;color:var(--text-2)}.wind-style[hidden]{display:none}.wind-style>span{white-space:nowrap;font-size:12px}.seg.small{grid-template-columns:repeat(3,auto)}.seg.small button{padding:4px 9px;font-size:11.5px}.windy-mode .seg.small{grid-template-columns:repeat(2,auto)}.toggles{display:grid;gap:5px;margin:10px 0 8px}.toggles label{display:flex;align-items:center;gap:8px;color:var(--text-2);cursor:pointer}.toggles input{accent-color:var(--switch-on)}.net-filter{display:flex;flex-wrap:wrap;gap:4px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:11px;font-weight:600}.chip:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c, var(--muted));opacity:.45}.chip.active{border-color:var(--line-strong);background:var(--surface-3);color:var(--text)}.chip.active:before{opacity:1}.insights{display:flex;flex-direction:column;gap:6px;overflow-y:auto;scrollbar-width:thin}.insight{display:grid;gap:3px;padding:8px 9px;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:7px;background:var(--surface);text-align:left}.insight{position:relative;cursor:pointer}.insight:hover{background:var(--hover)}.insight-x{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:17px;line-height:1;opacity:.55}.insight:hover .insight-x,.insight-x:focus-visible{opacity:1}.insight-x:hover{background:var(--surface-3);color:var(--text)}.insight .insight-title{padding-right:18px}.insights-restore{align-self:center;margin:2px 0 4px}.insight .sev{justify-self:start;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--sev-default);color:var(--sev-default-ink)}.sev-severe .sev{background:var(--sev-severe);color:var(--sev-severe-ink)}.sev-high .sev{background:var(--sev-high);color:var(--sev-high-ink)}.sev-elevated .sev,.sev-warn .sev{background:var(--sev-elevated);color:var(--sev-elevated-ink)}.insight-title{font-weight:700}.insight-detail{color:var(--muted);font-size:12px;line-height:1.4}.cluster{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:auto}.cluster-ring{display:grid;place-items:center;width:var(--s);height:var(--s);border:2px dashed #e5484d;border-radius:50%;background:#e5484d24;color:var(--ring-ink);font-weight:800;font-size:14px;text-shadow:var(--ring-halo)}[data-map-tone=light] .cluster-ring{color:#13202a;text-shadow:0 0 3px #fff,0 0 2px #fff,0 0 1px #fff}[data-map-tone=dark] .cluster-ring{color:#fff;text-shadow:0 1px 3px #000,0 0 2px #000}.cluster.planned .cluster-ring{border-color:#8d9ba3;background:#8d9ba31f}.cluster-tag{position:absolute;bottom:calc(100% + 2px);padding:2px 7px;border-radius:5px;background:var(--overlay-bg);border:1px solid var(--line-strong);color:var(--text);font-weight:700;font-size:11.5px;white-space:nowrap;box-shadow:var(--shadow)}.callout{position:absolute;transform:translate(-50%,-50%);padding:6px 9px;border:1px solid var(--line-strong);border-top:4px solid var(--c);border-radius:7px;background:var(--overlay-bg);box-shadow:var(--shadow);cursor:grab;white-space:nowrap}#callout-dock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;pointer-events:none}#callout-leaders{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.callout.docked{transform:none;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;padding-right:26px}.callout.docked.dragging{cursor:grabbing}.callout-close{position:absolute;top:3px;right:4px;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:16px;line-height:1}.callout-close:hover{background:var(--hover);color:var(--text)}.callout-title{display:flex;align-items:center;gap:6px;font-weight:700;font-size:12.5px}.callout-body{margin-top:2px;font-size:12px}.callout-foot{margin-top:1px;color:var(--muted);font-size:11px}.callout.label{min-width:0;text-align:center;padding:5px 14px 6px}.label-name{font-weight:800;font-size:16px}.label-sub{color:var(--text-2);font-weight:700;font-size:11.5px}.label-meta{color:var(--muted);font-weight:600;font-size:11px}.dim{color:var(--muted)}.pop{font-size:12px;line-height:1.45}.pop-head{display:flex;align-items:center;gap:6px;font-weight:700}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--tooltip-bg);color:var(--text);box-shadow:var(--shadow)}.leaflet-tooltip{background:var(--tooltip-bg);color:var(--text);border-color:var(--line-strong)}.leaflet-container{background:var(--bg);font-family:inherit}.leaflet-container a.leaflet-popup-close-button{color:var(--muted)}.leaflet-bar a,.leaflet-bar a:hover{background:var(--surface);color:var(--text);border-color:var(--line)}.leaflet-control-attribution{background:color-mix(in srgb,var(--bg) 75%,transparent)!important;color:var(--muted)}.leaflet-control-attribution a{color:var(--text-2)}.leaflet-top.leaflet-left{margin:calc(var(--brand-h) + 18px) 0 0 var(--left-w)}.leaflet-bottom.leaflet-left{margin-left:var(--left-w)}.leaflet-bottom.leaflet-left .leaflet-control-attribution{font-size:10px}.link-button{margin-top:8px;padding:0;border:0;background:none;color:var(--muted);font-size:11.5px;text-decoration:underline}.link-button:hover{color:var(--text)}.timebar{position:fixed;z-index:900;left:var(--left-w);right:var(--right-w);bottom:20px;display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.windy-mode .timebar,.windy-mode .legend:not(.legend-fire){display:none}#play-button svg{width:16px;height:16px}#play-button.playing{border-color:var(--accent);color:var(--accent)}.time-track{--thumb: 16px;position:relative;flex:1;padding:12px 0 14px}.time-track input{display:block;width:100%;height:18px;margin:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.time-track input::-webkit-slider-runnable-track{height:6px;border-radius:3px;--fill: calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--frac, 0));background:linear-gradient(90deg,var(--switch-on) var(--fill),var(--surface-3) var(--fill))}.time-track input:focus-visible{outline:none}.time-track input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}.time-track input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}.time-track input::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-3)}.time-track input::-moz-range-progress{height:6px;border-radius:3px;background:var(--switch-on)}.time-track input::-webkit-slider-thumb{-webkit-appearance:none;width:var(--thumb);height:var(--thumb);margin-top:-5px;border:2px solid var(--surface);border-radius:50%;background:var(--switch-on);box-shadow:0 1px 4px #0006}.time-track input::-moz-range-thumb{width:var(--thumb);height:var(--thumb);border:2px solid var(--surface);border-radius:50%;background:var(--switch-on);box-shadow:0 1px 4px #0006}.time-ticks span{position:absolute;bottom:0;left:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--p));transform:translate(-50%);color:var(--muted);font-size:10.5px;white-space:nowrap}.now-marker{position:absolute;top:2px;bottom:12px;left:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--p, 0));width:14px;padding:0;border:0;background:none;transform:translate(-50%);pointer-events:auto;cursor:pointer;z-index:1}.now-marker:before{content:"";position:absolute;left:50%;top:8px;bottom:0;width:2px;transform:translate(-50%);border-radius:1px;background:#e5484d;box-shadow:0 0 0 1px color-mix(in srgb,var(--surface) 70%,transparent)}.now-marker span{position:absolute;left:50%;top:-4px;transform:translate(-50%);color:#e5484d;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.now-btn{min-height:32px;padding:0 10px;font-size:12px}.now-btn svg{width:15px;height:15px}.timebar.off-now .now-btn{border-color:#e5484d;color:#e5484d}.time-label{min-width:110px;font-weight:700;text-align:right}.time-label small{display:block;color:var(--muted);font-weight:500;font-size:11px}.radar-status{flex:none;padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.radar-status:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#00a3e0;vertical-align:0}.radar-status.model:before{background:transparent;border:1.5px dashed #00a3e0;width:4px;height:4px}.radar-status.none:before,.radar-status.stale:before{background:#e5a23a}.legend{position:fixed;z-index:900;right:var(--right-w);bottom:94px;display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:11px}.legend-bar{display:flex;justify-content:space-between;width:260px;padding:2px 4px;border-radius:4px;color:#fff;font-weight:700;font-size:10.5px;text-shadow:0 1px 2px #000}.legend-unit{color:var(--muted);font-weight:700}.legend[hidden]{display:none}.toast{position:fixed;z-index:2000;left:50%;bottom:84px;transform:translate(-50%);max-width:min(560px,calc(100vw - 32px));padding:10px 14px;border:1px solid var(--toast-line);border-radius:9px;background:var(--toast-bg);color:var(--toast-ink);box-shadow:var(--shadow)}dialog.settings{width:min(880px,calc(100vw - 32px));height:min(640px,calc(100vh - 48px));padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 24px 64px #00000073;overflow:hidden}dialog.settings::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-shell{display:grid;grid-template-columns:220px 1fr;height:100%}.settings-nav{display:flex;flex-direction:column;gap:2px;padding:18px 12px;border-right:1px solid var(--line);background:var(--surface-2)}.settings-nav h2{margin:0 8px 14px;font-size:18px;font-weight:700}.settings-nav button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font-weight:500;text-align:left}.settings-nav button svg{width:17px;height:17px;flex-shrink:0;color:var(--muted)}.settings-nav button:hover{background:var(--hover)}.settings-nav button.active{background:var(--surface-3);color:var(--text);font-weight:600}.settings-nav button.active svg{color:var(--text)}.settings-body{position:relative;overflow-y:auto;padding:22px 28px 28px}.settings-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:22px;line-height:1}.settings-close:hover{background:var(--hover);color:var(--text)}.settings-body section{display:grid;gap:18px;max-width:600px}.settings-body section[hidden]{display:none}.settings-body h3{margin:0;font-size:17px;font-weight:700}.settings-group{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line)}.settings-group:first-of-type{padding-top:0;border-top:0}.about-disclaimer{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.about-disclaimer+.settings-group{padding-top:0;border-top:0}.settings-group h4{margin:0;font-size:13.5px;font-weight:700}.setting{display:flex;align-items:center;justify-content:space-between;gap:18px}.setting-label{font-weight:600}.setting-help,.settings-group>p{margin:2px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45}.settings-body select,.settings-body input[type=text],.settings-body input[type=password]{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text)}.settings-body select{min-width:180px}.range-field{display:flex;align-items:center;gap:10px}.range-field input[type=range]{width:180px;accent-color:var(--switch-on)}.range-field output{min-width:38px;color:var(--text-2);font-variant-numeric:tabular-nums;text-align:right}.switch{position:relative;display:inline-flex;cursor:pointer}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.theme-option{display:grid;gap:8px;padding:0;border:0;background:none;color:var(--text-2);font-weight:600;text-align:center}.theme-preview{position:relative;height:84px;border:2px solid var(--line);border-radius:10px;overflow:hidden}.theme-option.active .theme-preview{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.theme-option.active{color:var(--text)}.theme-preview .tp-bar{position:absolute;left:8px;right:8px;top:8px;height:10px;border-radius:3px}.theme-preview .tp-side{position:absolute;left:8px;top:24px;bottom:8px;width:28%;border-radius:4px}.theme-preview .tp-map{position:absolute;left:calc(28% + 14px);right:8px;top:24px;bottom:8px;border-radius:4px}.tp-dark{background:#0b1217}.tp-dark .tp-bar,.tp-dark .tp-side{background:#1c2830}.tp-dark .tp-map{background:linear-gradient(135deg,#1e3a4a,#2a5a46)}.tp-light{background:#eef2f4}.tp-light .tp-bar,.tp-light .tp-side{background:#fff;box-shadow:0 0 0 1px #d6dee3}.tp-light .tp-map{background:linear-gradient(135deg,#b9d7e6,#bfe3cf)}.tp-system{background:linear-gradient(90deg,#eef2f4 50%,#0b1217 50%)}.tp-system .tp-bar,.tp-system .tp-side{background:linear-gradient(90deg,#fff 50%,#1c2830 50%)}.tp-system .tp-side{background:#fff;box-shadow:0 0 0 1px #d6dee3}.tp-system .tp-map{background:linear-gradient(90deg,#b9d7e6 50%,#1e3a4a 50%)}.basemap-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.basemap-card{display:grid;gap:2px;padding:0;border:0;background:none;color:var(--text-2);text-align:left}.basemap-thumb{height:70px;margin-bottom:4px;border:2px solid var(--line);border-radius:9px;background:var(--surface-3) center / cover no-repeat}.basemap-thumb.split{background:var(--a) left center / cover no-repeat;position:relative;overflow:hidden}.basemap-thumb.split:after{content:"";position:absolute;top:0;right:0;bottom:0;left:50%;background:var(--b) right center / cover no-repeat}.basemap-card.active .basemap-thumb{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.basemap-name{font-weight:600;font-size:12.5px}.basemap-card.active .basemap-name{color:var(--text)}.basemap-note{color:var(--muted);font-size:11.5px}.color-rows{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}.color-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.color-row:first-child{border-top:0}.color-swatch{width:40px;height:30px;padding:0;border:1px solid var(--line-strong);border-radius:7px;background:none;cursor:pointer}.color-swatch::-webkit-color-swatch-wrapper{padding:3px}.color-swatch::-webkit-color-swatch{border:0;border-radius:4px}.color-swatch::-moz-color-swatch{border:0;border-radius:4px}.color-name{font-weight:600}.color-hint{color:var(--muted);font-size:11.5px;font-weight:400}.hex-input{width:92px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:lowercase}.settings-actions,.key-field{display:flex;gap:8px}.key-field input{flex:1}.status-line{color:var(--muted);font-size:12.5px}@media(max-width:1100px){.topbar{grid-template-columns:1fr auto}.updated-banner{grid-column:1 / -1;grid-row:2;justify-self:center}.updated-banner strong{font-size:14px}.leaflet-top.leaflet-left{margin-top:124px}}@media(max-width:700px){.settings-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.settings-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.settings-nav h2{display:none}.settings-nav button{width:auto;white-space:nowrap}.settings-body{padding:18px 16px}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.color-row{grid-template-columns:auto 1fr auto}.color-row .hex-input{display:none}}.trends,.page{position:fixed;z-index:950;top:0;right:0;bottom:0;left:0;padding:calc(var(--brand-h) + 30px) 0 0 calc(var(--left-w) - 10px);overflow-y:auto;background:var(--bg)}.trends.loading .tr-chart,.trends.loading .tr-tiles,.page.loading .tr-chart,.page.loading .tr-tiles,.page.loading .ev-table{opacity:.6;transition:opacity .2s}.trends-inner{max-width:1500px;margin:0 auto;padding:14px 16px 32px;display:grid;gap:16px}#ev-list-view:not([hidden]),#ev-detail-view:not([hidden]){display:grid;gap:16px}#ev-detail-view .ev-back{justify-self:start;margin-bottom:-10px}.tr-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.seg.tr-seg{display:inline-grid;grid-auto-flow:column;grid-template-columns:none}.seg.tr-seg button{padding:6px 11px}.tr-chips{display:flex;flex-wrap:wrap;gap:4px}.tr-custom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:10px;background:color-mix(in srgb,var(--accent-bg) 45%,var(--surface))}.tr-custom[hidden]{display:none}.tr-custom label{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px}.tr-custom input{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text)}.tr-custom .link-button{margin:0}.tr-custom-msg{color:var(--muted);font-size:12px}.tr-custom-msg.error{color:#e5484d;font-weight:600}.tr-chips .chip{padding:5px 11px 5px 9px;font-size:12px}.tr-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tile{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.tile-label{color:var(--muted);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.tile-value{margin-top:4px;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.tile-note{margin-top:2px;color:var(--muted);font-size:12px}.tr-card{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.tr-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tr-card-head h2{margin:0;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2)}.tr-card-head .link-button{margin:0}.tr-card-tools{display:flex;align-items:center;gap:12px}.icon-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.icon-seg button{display:grid;place-items:center;width:30px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted)}.icon-seg button:hover{color:var(--text);background:var(--hover)}.icon-seg button.active{background:var(--accent-bg);color:var(--accent-ink)}.icon-seg svg{width:17px;height:17px}.tr-chart{position:relative;height:min(52vh,460px);min-height:280px}.tr-note{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.tr-table-wrap{overflow-x:auto;max-height:420px;overflow-y:auto}.tr-table{width:100%;margin-top:8px;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.tr-table th{position:sticky;top:0;padding:6px 8px;background:var(--surface-2);color:var(--muted);font-weight:600;text-align:left;white-space:nowrap}.tr-table td{padding:6px 8px;border-top:1px solid var(--line-2);white-space:nowrap}.tr-table td.num,.tr-table th.num{text-align:right}.tr-table td.strong{font-weight:700}.tr-table td.ongoing{color:var(--accent);font-weight:600}.tr-table td.net-cell:before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:3px;background:var(--c);box-shadow:inset 0 0 0 1px #7f7f7f59;vertical-align:-1px}@media(max-width:1100px){.trends,.page{padding-top:118px}.tr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.sidebar{position:fixed;z-index:1100;top:calc(var(--brand-h) + 18px);bottom:10px;left:10px;display:flex;flex-direction:column;width:var(--rail);border:1px solid var(--line);border-radius:14px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);overflow:hidden;transition:width .18s ease}.sb-open .sidebar,.sb-pinned .sidebar{width:var(--sb-open)}.sidebar .sb-label{display:none}.sb-open .sidebar .sb-label,.sb-pinned .sidebar .sb-label{display:revert}.sb-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1090;background:transparent}.app-brand{position:fixed;z-index:1110;top:10px;left:10px;display:flex;align-items:center;gap:10px;width:var(--sb-open);height:var(--brand-h);padding:0 10px;border:1px solid var(--line);border-radius:14px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.sb-brand{flex:1;min-width:0}.sb-brand .brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px}.sb-icon-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted)}.sb-icon-btn:hover{background:var(--hover);color:var(--text)}.sb-icon-btn svg{width:17px;height:17px}.sb-icon-btn[aria-pressed=true]{background:var(--accent-bg);color:var(--accent-ink)}.sb-top{display:flex;justify-content:center;padding:8px 10px 0}.sb-open .sb-top,.sb-pinned .sb-top{justify-content:flex-end}.sb-collapse{width:40px;height:34px}.sb-collapse svg{width:18px;height:18px;transition:transform .18s}body:not(.sb-open,.sb-pinned) .sb-collapse svg{transform:rotate(180deg)}.sb-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.sb-group{display:grid;gap:2px;padding:8px 10px 6px}.sb-group[hidden]{display:none}.sb-group+.sb-group{border-top:1px solid var(--line)}.sb-heading{padding:4px 6px 2px;color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sb-item{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:8px 9px;border:0;border-radius:9px;background:transparent;color:var(--text-2);text-align:left}.sb-item>svg{flex-shrink:0;width:20px;height:20px}.sb-item:hover{background:var(--hover);color:var(--text)}.sb-item.active{background:var(--accent-bg);color:var(--accent-ink)}.sb-item .sb-label{font-weight:600;line-height:1.25}.sb-item small{display:block;color:var(--muted);font-size:11.5px;font-weight:400}.sb-item.active small{color:color-mix(in srgb,var(--accent-ink) 70%,transparent)}.sb-panel{padding:6px 4px 10px}.sb-panel-head{display:flex;align-items:center;justify-content:space-between;margin:2px 0 8px;color:var(--text-2);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sb-foot{display:grid;gap:2px;padding:8px 10px 10px;border-top:1px solid var(--line)}.outputs{position:fixed;z-index:900;top:72px;bottom:20px;right:10px;display:flex;flex-direction:column;gap:8px;width:var(--out-w)}.windy-mode .outputs{right:70px;bottom:120px}.view-page .outputs{display:none}.window{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.window[data-win=intel]{flex:0 1 auto;max-height:50%}.window[data-win=networks]{flex:1 1 0}.window.collapsed{flex:0 0 auto}.win-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:0;background:transparent;color:var(--text-2);text-align:left}.win-head:hover{background:var(--hover)}.win-title{flex:1;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.win-chev{width:16px;height:16px;color:var(--muted);transition:transform .15s}.window.collapsed .win-chev{transform:rotate(-90deg)}.win-body{flex:1;min-height:0;overflow-y:auto;padding:0 10px 10px;scrollbar-width:thin}.window.collapsed .win-body{display:none}.net-panels{display:flex;flex-direction:column;gap:8px}.net-panels .net-panel{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.edge-toggle{position:fixed;display:flex;align-items:center;gap:6px;height:34px;min-width:34px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);color:var(--muted)}.edge-toggle:hover{background:var(--hover);color:var(--text)}.edge-toggle svg{width:17px;height:17px;transition:transform .18s}.out-toggle{z-index:901;top:72px;right:calc(var(--out-w) + 18px);transition:right .18s ease}.out-toggle .tag{display:none}.windy-mode .out-toggle{right:calc(var(--out-w) + 78px)}.view-page .out-toggle,.out-mini{display:none}body.out-collapsed{--right-w: calc(var(--out-mini-w) + 20px)}body.out-collapsed.windy-mode{--right-w: calc(var(--out-mini-w) + 80px)}.out-collapsed .outputs{width:var(--out-mini-w);bottom:auto}.out-collapsed .outputs .window{display:none}.out-collapsed .out-toggle{right:calc(var(--out-mini-w) + 18px)}.out-collapsed.windy-mode .out-toggle{right:calc(var(--out-mini-w) + 78px)}.out-collapsed .out-toggle svg{transform:rotate(180deg)}.out-collapsed .out-toggle .tag:not([hidden]){display:inline}.out-collapsed .out-mini{display:flex;flex-direction:column;gap:2px;width:100%;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);text-align:left}.out-mini:hover{border-color:var(--muted)}.mini-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:7px;font-size:12px}.mini-row.muted{opacity:.45}.mini-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-off{font-weight:700;font-variant-numeric:tabular-nums}.mini-total{margin-bottom:2px;background:var(--surface)}.mini-total .mini-name{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.mini-stale{color:var(--muted);font-weight:400}@media(max-width:1100px){:root{--out-w: 290px}.outputs,.out-toggle{top:124px}}@media(max-width:1100px){.topbar{left:calc(var(--sb-open) + 20px)}}.event-control{display:flex;align-items:center}.event-start{white-space:nowrap}.event-start svg{width:15px;height:15px}.event-pill{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 4px 0 12px;border:1px solid #e5484d;border-radius:9px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rec-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#e5484d;animation:rec 1.6s ease-in-out infinite}@keyframes rec{50%{opacity:.35}}.event-pill-text{display:flex;align-items:baseline;gap:8px;max-width:280px;padding:0;border:0;background:none;color:var(--text);text-align:left}.event-pill-name{overflow:hidden;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.event-pill-time{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.event-stop,#ev-stop{min-height:28px;border-color:#e5484d;background:var(--surface);color:#e5484d;font-weight:700}.event-stop:hover,#ev-stop:hover{background:#e5484d;color:#fff}@media(max-width:1100px){.event-pill-name{max-width:120px}}.events-page .trends-inner{padding-top:22px}.form-dialog input:user-invalid{border-color:var(--red)}.ev-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.events-page h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.3px}.ev-sub{margin:4px 0 0;color:var(--muted)}.ev-filters{margin-top:4px}.ev-search{min-width:220px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.ev-search.small{min-width:180px;padding:5px 9px;font-size:12px}.ev-filters select,.ev-date input{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.ev-date{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.ev-filters .link-button{margin:0}.ev-list-wrap{max-height:none}.ev-table .ev-row{cursor:pointer}.ev-table .ev-row:hover td,.ev-table .ev-row:focus-visible td{background:var(--hover)}.ev-table .ev-row.is-active td:first-child{box-shadow:inset 3px 0 #e5484d}.ev-name{font-weight:700;white-space:normal}.ev-notes-snippet{max-width:420px;overflow:hidden;color:var(--muted);font-size:11.5px;text-overflow:ellipsis}.ev-live{color:#e5484d;font-weight:700}.ev-done{color:var(--muted);font-weight:600}.cat-badge{display:inline-block;padding:2px 8px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-3);color:var(--text-2);font-size:11.5px;font-weight:600;white-space:nowrap}.ev-back{margin:0 0 4px;font-size:12.5px}.ev-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ev-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;color:var(--text-2)}.ev-actions{display:flex;gap:8px}.btn.danger{color:var(--red)}.btn.danger:hover{border-color:var(--red)}.ev-notes{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text-2);white-space:pre-wrap}.ev-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}.ev-chart-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.ev-selection{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:6px;padding:7px 10px;border-radius:8px;background:var(--surface-2);color:var(--text-2);font-size:12.5px;font-variant-numeric:tabular-nums}.ev-selection strong{color:var(--text)}.ev-chart{height:min(48vh,420px)}.tr-hint{margin:6px 0 0;color:var(--muted);font-size:11.5px}.share-cell{display:flex;align-items:center;gap:8px;min-width:160px}.share-bar{flex:1;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--c) var(--w),var(--surface-3) var(--w))}.share-pct{min-width:36px;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.sort-btn{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:600;cursor:pointer}.sort-btn:hover{color:var(--text)}.sort-arrow{font-size:9px}.ev-incidents-wrap{max-height:520px}@media(max-width:1100px){.ev-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.ev-title-row{flex-direction:column}}dialog.form-dialog{width:min(520px,calc(100vw - 32px));padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 24px 64px #00000073}dialog.form-dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.form-dialog h2{margin:0;font-size:17px}.dialog-sub{margin:4px 0 14px;color:var(--muted);font-size:12.5px}.form-dialog .field{display:grid;gap:5px;margin-bottom:12px}.form-dialog .field span{font-weight:600;font-size:12.5px}.form-dialog .field small{color:var(--muted);font-weight:400}.form-dialog input,.form-dialog select,.form-dialog textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text);font:inherit}.form-dialog textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row[hidden]{display:none}.form-error{min-height:1em;margin:0 0 8px;color:var(--red);font-size:12.5px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:700px){.field-row{grid-template-columns:1fr}}.ev-adjust-bar{display:grid;gap:6px;margin-bottom:8px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:10px;background:color-mix(in srgb,var(--accent-bg) 45%,var(--surface))}.ev-adjust-bar[hidden]{display:none}.ev-adjust-fields{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.ev-adjust-fields label{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px}.ev-adjust-fields label[hidden]{display:none}.ev-adjust-fields input{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text)}.ev-adjust-buttons{display:flex;align-items:center;gap:8px;margin-left:auto}.ev-adjust-buttons .link-button{margin:0}.ev-adjust-summary{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--text-2);font-size:12.5px;font-variant-numeric:tabular-nums}.ev-adjust-summary strong{color:var(--text)}.ev-adjust-help{margin:0;color:var(--muted);font-size:11.5px}.adj-start{color:#0f8f6c}.adj-end{color:#e5484d}.ev-adjust-bar .form-error{margin:0;min-height:0}.ev-adjusting .ev-selection,.ev-adjusting #ev-chart-type,.ev-adjusting .ev-chart+.tr-hint{display:none}.ev-adjusting .ev-chart{touch-action:none}.about-head{display:flex;align-items:center;gap:12px}.about-name{font-size:15px;font-weight:800}.about-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:4px 0 0}.about-facts dt{color:var(--muted);font-weight:600}.about-facts dd{margin:0;font-variant-numeric:tabular-nums}.settings-body a{color:var(--accent)}.source-list{display:grid;gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:10px;overflow:hidden}.source-list li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 12px;border-top:1px solid var(--line)}.source-list li:first-child{border-top:0}.src-name{display:flex;align-items:center;gap:8px;font-weight:600}.src-purpose{grid-column:1;color:var(--muted);font-size:12px}.src-links{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:12px;white-space:nowrap}.src-status{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--muted)}.src-status.ok{background:#2fb46e}.src-status.bad{background:#e5484d}@media(max-width:700px){.source-list li{grid-template-columns:1fr}.src-links{grid-column:1;grid-row:auto}}.ev-adjust-fields .ev-ongoing{font-weight:600;cursor:pointer}.ev-adjust-fields .ev-ongoing input{accent-color:#e5484d;padding:0}#ev-resume{border-color:var(--accent-line);color:var(--accent);font-weight:700}.legends{position:fixed;z-index:900;right:var(--right-w);bottom:94px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.legends .legend{position:static}.windy-mode .legends .legend:not(.legend-fire){display:none}.legend-fire{flex-wrap:nowrap;justify-content:flex-end}.legend-fire[hidden]{display:none}.fdr-chip{display:inline-block;padding:1px 7px;border:1px solid rgba(0,0,0,.25);border-radius:4px;background:var(--fc);color:var(--fi);font-size:10.5px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.tfb-key{padding:1px 7px;border:2px dashed #e5484d;border-radius:4px;color:#e5484d;font-size:10.5px;font-weight:800}.sb-subhead{margin:12px 0 4px;color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hazard-toggles{margin-top:0}.fire-days{grid-template-columns:repeat(5,auto);margin-bottom:4px}.fire-days[hidden]{display:none}.fire-days button.has-tfb{color:#e5484d}.fire-status{margin:2px 0 8px;color:var(--muted);font-size:11px}.fire-status.bad{color:var(--amber)}.fire-label{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap;pointer-events:none}.fire-name{padding:1px 6px;border-radius:4px;background:var(--overlay-bg);color:var(--text);font-size:11px;font-weight:700;box-shadow:var(--shadow)}.tfb-badge{padding:1px 6px;border-radius:4px;background:#e5484d;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em}.fire-pop .pop-head{margin-bottom:6px}.fire-days-table{border-collapse:collapse;margin-bottom:6px}.fire-days-table td{padding:3px 8px 3px 0}.fire-days-table tr.sel td{font-weight:700}.fire-days-table .tfb{color:#e5484d}.leaflet-pane.leaflet-boundaries-pane>svg path.leaflet-interactive{pointer-events:visibleStroke}.layer-section{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.layer-section:first-child{padding-top:4px;border-top:0}.layer-section .sb-panel-head,.layer-section .toggles{margin:0}.layer-section .wind-style,.layer-section .basemap-row{margin-top:0}.layer-section .fire-status:empty{display:none}.layer-section .fire-status,.layer-section .fire-days{margin:0}.src-note{margin-left:auto;color:var(--muted);font-size:10.5px}.layer-section .toggles label{width:100%}#sb-layers>.link-button{margin-top:4px}.seg.small.fire-days{grid-template-columns:repeat(5,minmax(0,1fr))}.seg.small.fire-days button{padding:4px 2px;font-size:11px;white-space:nowrap}.fdp-label{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;white-space:nowrap;pointer-events:none}.fdp-name{padding:0 5px;border-radius:3px;background:var(--overlay-bg);color:var(--text);font-size:10.5px;font-weight:700}.fdp-when{padding:0 5px;border-radius:3px;color:#fff;font-size:10px;font-weight:800}.fdp-declared .fdp-when,.fdp-partly .fdp-when{background:#b45309}.fdp-soon .fdp-when{background:#d97706}.fdp-chip{display:inline-block;padding:0 6px;border-radius:4px;font-size:10.5px;font-weight:800;white-space:nowrap}.fdp-chip.fdp-declared{background:#b45309;color:#fff}.fdp-chip.fdp-upcoming{background:#fde3bf;color:#7a3e00}.fdp-chip.fdp-ended,.fdp-chip.fdp-not-declared{background:var(--pill);color:var(--text-2)}.fdp-table{border-collapse:collapse;margin:4px 0 6px}.fdp-table td{padding:3px 8px 3px 0;vertical-align:top}.fdp-anomaly{color:var(--amber);font-size:11px}.fdp-key{padding:1px 7px;border-radius:4px;font-size:10.5px;font-weight:800;white-space:nowrap}.fdp-key.declared{background:#b4530959;border:2px solid #b45309;color:var(--text)}.fdp-key.partly{background:#b4530929;border:2px dashed #b45309;color:var(--text)}.fdp-key.soon{border:2px dotted #d97706;color:var(--text)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.user-box{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 9px}.user-box[hidden]{display:none}.user-avatar{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--accent-bg);color:var(--accent-ink);font-size:10px;font-weight:700}.user-label{flex:1;min-width:0;line-height:1.25}.user-label .user-name{display:block;overflow:hidden;color:var(--text);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.user-label small{display:block;overflow:hidden;color:var(--muted);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.sidebar .user-signout{display:none}.sb-open .sidebar .user-signout,.sb-pinned .sidebar .user-signout{display:grid}body[data-role=viewer] :is(.event-start,.event-stop,#ev-start-btn,#ev-edit,#ev-stop,#ev-resume,#ev-delete,#ev-adjust){display:none!important}.users-count{margin-left:auto;background:var(--accent-bg);color:var(--accent-ink)}.users-count[hidden]{display:none}.users-link{display:grid;gap:8px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--toast-line);border-radius:10px;background:var(--toast-bg);color:var(--toast-ink);font-size:12.5px;line-height:1.45}.users-link[hidden]{display:none}.users-link-row{display:flex;gap:8px}.users-link-row input{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-size:12px}.req-list{display:grid;gap:8px}.req-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.req-who{min-width:0;line-height:1.45}.req-reason{margin-top:4px;color:var(--text-2)}.req-actions{display:flex;align-items:center;gap:6px}.muted{color:var(--muted)}.muted.small,.req-who .small{font-size:11.5px}.users-table-wrap{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:12.5px}.users-table th{padding:6px 8px;border-bottom:1px solid var(--line);color:var(--muted);font-weight:600;text-align:left}.users-table td{padding:8px;border-bottom:1px solid var(--line-2);vertical-align:middle;line-height:1.4}.users-table tr.is-disabled td:first-child{opacity:.55}.settings-body :is(.users-table,.req-actions,.users-invite) select{min-width:0;width:auto}.users-table td:nth-child(3){color:var(--text-2);white-space:nowrap}.user-actions{text-align:right}.user-actions .btn{margin:2px 0 2px 4px;white-space:nowrap}:is(.req-actions,.users-table,.users-invite) select,.users-invite input{min-height:30px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-size:12.5px}.users-invite{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:8px}@media(max-width:700px){.users-invite{grid-template-columns:1fr 1fr}}.sb-item{position:relative}.sb-badge{position:absolute;top:3px;left:25px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:var(--bg);font-size:10px;font-weight:800;line-height:16px;text-align:center}.sb-badge[hidden]{display:none}.admin-page .trends-inner{padding-top:22px}.admin-page [data-admin]:not([hidden]){display:grid;gap:16px}.admin-page .tr-card-head h2+.tag{margin-left:8px;margin-right:auto}.admin-help{margin:0 0 10px}.admin-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.admin-page .users-table td:nth-child(4){white-space:nowrap}.admin-page .users-table .num{text-align:right;font-variant-numeric:tabular-nums}.tag.ok{background:var(--accent-bg);color:var(--accent-ink)}.tag.warn{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.tag.bad{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.tile-warn .tile-value{color:var(--amber)}.tile-bad .tile-value,.tr-table tr.row-bad td,.status-line.bad{color:var(--red)}#db-check-result{margin-bottom:8px}.admin-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 10px;font-size:12.5px}.admin-facts dt{color:var(--muted)}.admin-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.day-bars-plot{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;align-items:end;height:110px}.day-bar{display:flex;align-items:flex-end;height:100%;border-radius:3px;background:var(--surface-2)}.day-bar span{width:100%;border-radius:3px;background:var(--accent)}.day-bar.low span{background:var(--red)}.day-bar.none{background:repeating-linear-gradient(135deg,var(--surface-2) 0 4px,transparent 4px 8px)}.day-bars-axis{display:flex;justify-content:space-between;margin-top:4px;color:var(--muted);font-size:11px}@media(max-width:1100px){.admin-cols{grid-template-columns:minmax(0,1fr)}}:root[data-accent=blue]{--accent: #7fb4f0;--accent-bg: #1b2d44;--accent-ink: #d3e6fb;--accent-line: #2f5584;--primary-bg: #18304d;--primary-ink: #c4defb;--switch-on: #3a7bc8}:root[data-accent=indigo]{--accent: #a3a9f4;--accent-bg: #25284a;--accent-ink: #dfe1fc;--accent-line: #464c8f;--primary-bg: #262a52;--primary-ink: #d3d6fb;--switch-on: #5d64c9}:root[data-accent=plum]{--accent: #d69ad9;--accent-bg: #3a2440;--accent-ink: #f6dcf7;--accent-line: #6d4273;--primary-bg: #3a2140;--primary-ink: #f1d0f3;--switch-on: #9a58a0}:root[data-accent=rose]{--accent: #e79ab3;--accent-bg: #3d2430;--accent-ink: #fadbe5;--accent-line: #74404f;--primary-bg: #40222f;--primary-ink: #f7d0dc;--switch-on: #a8566f}:root[data-accent=slate]{--accent: #a9bfcf;--accent-bg: #26333d;--accent-ink: #dde8f0;--accent-line: #4a6070;--primary-bg: #26343f;--primary-ink: #d3e1ec;--switch-on: #5d7a8f}:root[data-theme=light][data-accent=blue]{--accent: #2266b0;--accent-bg: #dde9f7;--accent-ink: #174a82;--accent-line: #9dbfe6;--primary-bg: #2266b0;--primary-ink: #ffffff;--switch-on: #2266b0}:root[data-theme=light][data-accent=indigo]{--accent: #4f56b8;--accent-bg: #e3e4f7;--accent-ink: #363c8a;--accent-line: #b0b4e8;--primary-bg: #4f56b8;--primary-ink: #ffffff;--switch-on: #4f56b8}:root[data-theme=light][data-accent=plum]{--accent: #8a4a8f;--accent-bg: #f1e1f1;--accent-ink: #63306a;--accent-line: #d3aed6;--primary-bg: #8a4a8f;--primary-ink: #ffffff;--switch-on: #8a4a8f}:root[data-theme=light][data-accent=rose]{--accent: #a64d6a;--accent-bg: #f6e1e8;--accent-ink: #7a3049;--accent-line: #e0afc0;--primary-bg: #a64d6a;--primary-ink: #ffffff;--switch-on: #a64d6a}:root[data-theme=light][data-accent=slate]{--accent: #4a6375;--accent-bg: #e2e9ee;--accent-ink: #31485a;--accent-line: #aebfcb;--primary-bg: #4a6375;--primary-ink: #ffffff;--switch-on: #4a6375}.accent-options{display:flex;flex-wrap:wrap;gap:8px}.accent-option{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px 0 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-2);font-weight:600}.accent-option:hover{border-color:var(--line-strong)}.accent-option .accent-dot{width:18px;height:18px;border-radius:50%;background:var(--dot);box-shadow:inset 0 0 0 1px #0000001f}.accent-option.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}dialog.disclaimer{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:24px 28px 22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 24px 64px #00000073;overflow-y:auto}dialog.disclaimer::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.disclaimer-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.disclaimer-head h2{margin:0;font-size:18px}.disclaimer-text{color:var(--text-2);font-size:13.5px;line-height:1.55}.disclaimer-text p{margin:0 0 10px}.disclaimer-text p:last-child{margin-bottom:0}.disclaimer-text b{color:var(--text)}.disclaimer-text ul{display:grid;gap:5px;margin:0 0 12px;padding-left:20px}.disclaimer-meta{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:11.5px;line-height:1.5}.disclaimer-actions{display:flex;justify-content:flex-end;margin-top:16px}.disclaimer-actions .btn{min-width:140px;min-height:40px}@media(max-width:700px){dialog.disclaimer{padding:18px 16px}}.mobile-tabs,.map-expand{display:none}@media(max-width:700px){:root{--bar-h: 52px;--phone-top: var(--bar-h);--tabs-h: calc(58px + env(safe-area-inset-bottom)) ;--map-h: 50svh}body:has(#event-control .event-pill){--phone-top: calc(var(--bar-h) + 42px)}body.map-expanded{--map-h: calc(100svh - var(--phone-top) - var(--tabs-h))}html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}body{display:flex;flex-direction:column;padding:var(--phone-top) 0 calc(var(--tabs-h) + 12px);--left-w: 0px;--right-w: 0px}body.view-page{overflow:hidden;height:100%}.app-brand{top:0;left:0;right:0;width:auto;height:var(--bar-h);padding:0 10px env(safe-area-inset-right) 10px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.app-brand .sb-brand{display:none}.topbar{position:fixed;z-index:1120;top:0;left:56px;right:10px;height:var(--bar-h);display:flex;align-items:center;gap:8px}.topbar-spacer{display:none}.updated-banner{flex:1;min-width:0;flex-direction:column-reverse;align-items:flex-start;gap:0;padding:0;border:0;background:none;box-shadow:none;text-align:left}.banner-total{flex-direction:row;align-items:baseline;gap:5px;max-width:100%;padding:0;border:0}.updated-banner .banner-total-num{font-size:20px}.banner-total-sub{overflow:hidden;text-overflow:ellipsis;font-size:11.5px}.banner-updated .updated-label{display:none}.updated-banner .banner-updated strong{color:var(--muted);font-size:11px;font-weight:600}.topbar-actions{gap:6px}.live-switch{padding:0 9px}.live-switch #live-label{display:none}#refresh-button{width:38px;padding:0}#refresh-button span{display:none}.event-control:empty,.event-start{display:none}.event-control:has(.event-pill){position:fixed;top:var(--bar-h);left:0;right:0;height:42px;padding:0 10px;display:flex;align-items:center;background:var(--surface);border-bottom:1px solid var(--line)}.event-pill{flex:1;min-width:0;border-radius:8px}.event-pill-text{flex:1;min-width:0}.event-pill-name{max-width:none}.map-root{position:relative;inset:auto;order:1;flex:none;width:100%;height:var(--map-h)}.leaflet-top.leaflet-left{margin-top:0}.leaflet-control-zoom{display:none}.map-expand{display:grid;place-items:center;width:38px;height:38px;margin:10px 10px 0 0;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text-2);box-shadow:var(--shadow);cursor:pointer}.map-expand svg{width:18px;height:18px}.map-expanded .map-expand{background:var(--accent-bg);color:var(--accent-ink);border-color:var(--accent-line)}.callout.label{padding:3px 7px;border-top-width:3px}.label-name{font-size:12.5px}.label-sub{font-size:10.5px}.label-meta,#callout-dock{display:none}.timebar{position:static;order:2;margin:10px 12px 0;padding:6px 10px;gap:8px;flex-wrap:wrap}.time-track{min-width:120px}.radar-status{order:9;margin:-4px auto 2px}.legends{position:static;order:3;align-items:stretch;margin:8px 12px 0}.legends .legend{justify-content:space-between}.legend-bar{flex:1;width:auto;min-width:0}.legend-fire{flex-wrap:wrap;justify-content:flex-start}.map-expanded :is(.outputs,.legends){display:none}.outputs{position:static;order:4;width:auto;margin:12px 12px 0;gap:12px}.out-toggle,.out-mini{display:none}.window,.window[data-win=intel],.window[data-win=networks]{flex:none;max-height:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)}.win-body,.insights{overflow:visible}.win-head{min-height:44px}.net-list{max-height:50svh}.insight-x{width:32px;height:32px;top:2px;right:2px;opacity:.8}.net-toggle{width:32px;height:32px}.sidebar{display:none;top:0;bottom:0;left:0;z-index:1200;width:min(340px,calc(100vw - 40px));padding-top:env(safe-area-inset-top);border-radius:0 14px 14px 0;transition:none}.sb-open .sidebar,.sb-pinned .sidebar{display:flex;width:min(340px,calc(100vw - 40px))}.sb-scrim{z-index:1190;background:var(--backdrop)}.sb-top{display:none}.toggles label{min-height:32px}.mobile-tabs{position:fixed;z-index:1150;left:0;right:0;bottom:0;height:var(--tabs-h);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--surface)}.mobile-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;color:var(--muted);font-size:11px;font-weight:600}.mobile-tabs svg{width:22px;height:22px}.mobile-tabs button.active{color:var(--accent)}.mobile-tabs button.active svg{padding:1px 12px;box-sizing:content-box;border-radius:999px;background:var(--accent-bg);color:var(--accent-ink)}.toast{bottom:calc(var(--tabs-h) + 12px)}.trends,.page{padding:var(--phone-top) 0 var(--tabs-h)}.trends-inner,.events-page .trends-inner,.admin-page .trends-inner{padding:14px 12px 24px;gap:12px}.tr-filters{gap:6px}.tr-filters .seg{overflow-x:auto;max-width:100%;scrollbar-width:none}.tr-tiles,.ev-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tr-card{padding:10px 10px 12px}.tr-card-head{flex-wrap:wrap;gap:6px}.tr-card-tools{flex-wrap:wrap}.tr-chart{height:280px;min-height:0}.tr-hint{display:none}.ev-head,.ev-title-row{flex-direction:column;align-items:stretch;gap:10px}.ev-actions{flex-wrap:wrap}.ev-adjust-buttons{margin-left:0;flex-wrap:wrap}.trends,.page{overflow-x:hidden}.trends-inner,.events-page .trends-inner,.admin-page .trends-inner{grid-template-columns:minmax(0,1fr)}.trends-inner>*,.tr-card,.tr-filters>*{min-width:0;max-width:100%}.cluster-tag{display:none}.leaflet-control-attribution{max-width:calc(100vw - 20px);overflow:hidden;font-size:9.5px;white-space:nowrap;text-overflow:ellipsis}.now-btn{width:38px;padding:0;font-size:0;gap:0}.now-btn svg{width:18px;height:18px}.time-label strong,.time-label{font-size:12.5px}.toggles label:has(#t-windcallouts){display:none}dialog.settings{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}}
