:root{--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-head: var(--font-body);--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", Menlo, Consolas, monospace;--bg: #f3f5f9;--surface: #ffffff;--surface-2: #f1f4f9;--surface-border: #e4e8ef;--text: #0f172a;--text-muted: #64748b;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: rgba(37, 99, 235, .1);--accent-contrast: #ffffff;--danger: #e11d48;--warn: #d97706;--ok: #16a34a;--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .08);--shadow: 0 4px 16px rgba(15, 23, 42, .1);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .16);--focus-ring: 2px solid var(--accent);--outset: var(--shadow-sm);--inset: inset 0 2px 4px rgba(15, 23, 42, .08);--bevel-hi: transparent;--bevel-lo: var(--surface-border);--bevel-lo-2: var(--surface-border);--title-bar: linear-gradient(120deg, #2563eb, #0ea5e9)}:root[data-theme=dark]{--bg: #0b1120;--surface: #141b2d;--surface-2: #1b2437;--surface-border: #273249;--text: #e8edf6;--text-muted: #94a3b8;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-soft: rgba(59, 130, 246, .16);--accent-contrast: #ffffff;--danger: #fb7185;--warn: #fbbf24;--ok: #4ade80;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .4);--shadow: 0 6px 22px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .6);--inset: inset 0 2px 4px rgba(0, 0, 0, .35);--title-bar: linear-gradient(120deg, #1e40af, #0369a1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-body);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:var(--accent-contrast)}#app{position:fixed;inset:0;overflow:hidden}#map{position:absolute;inset:0;background:var(--bg)}.leaflet-container{background:var(--bg);font-family:inherit}.leaflet-layer.stormgrid-radar-frame{transition:opacity .52s linear;will-change:opacity}.panel,.chip{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);box-shadow:var(--outset),var(--shadow);color:var(--text)}.chip{position:absolute;display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;font-family:var(--font-mono);letter-spacing:-.01em;z-index:1000}.chip-topleft{top:12px;left:12px;max-width:min(94vw,560px)}#status-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex:none}.chip-dot.stale{background:#f59e0b}.panel-search{position:absolute;top:56px;left:12px;z-index:1000;width:min(85vw,280px);padding:6px}.panel-topright-secondary{position:absolute;top:12px;right:12px;z-index:1000;display:flex;gap:8px;padding:6px}.map-tools{position:absolute;top:68px;right:12px;z-index:1000;display:flex;flex-direction:column;gap:8px}.map-tools .icon-btn.active{background:var(--accent);color:var(--accent-contrast)}.left-tools{position:absolute;top:110px;left:12px;z-index:1000;display:flex;flex-direction:column;gap:8px}#app.ui-hidden .panel,#app.ui-hidden .chip,#app.ui-hidden .scale-bar,#app.ui-hidden .map-tools,#app.ui-hidden .attribution,#app.ui-hidden #panel-dock-root{display:none}.panel-bottom{position:absolute;left:12px;right:12px;bottom:12px;z-index:1000;padding:10px 14px}.scale-bar{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:999;display:flex;flex-direction:column;width:34px;border-radius:6px 0 0 6px;overflow:hidden;box-shadow:var(--shadow);font-size:10px;line-height:1}.scale-title{background:var(--surface);color:var(--text-muted);text-align:center;padding:3px 0;font-weight:700;font-size:9px}.scale-cell{flex:1;min-height:13px;display:flex;align-items:center;justify-content:center}.scale-cell span{color:#0f172a;font-weight:700;font-size:9px;text-shadow:0 0 2px rgba(255,255,255,.7)}@media (max-height: 560px){.scale-cell:nth-child(odd) span{display:none}}.lightning-legend{position:absolute;top:264px;left:12px;z-index:999;padding:8px 10px;font-size:11px;display:flex;flex-direction:column;gap:4px}.lightning-legend[hidden]{display:none}.lightning-legend-row{display:flex;align-items:center;gap:6px}.lightning-dot{width:10px;height:10px;border-radius:50%;flex:none}.attribution{position:absolute;right:8px;bottom:4px;z-index:998;font-size:10px;color:var(--text-muted);background:transparent}.attribution a{color:inherit}button{font-family:inherit}.btn{display:flex;align-items:center;gap:8px;border:1px solid var(--surface-border);background:var(--surface-2);color:var(--text);padding:8px 10px;border-radius:0;box-shadow:var(--outset);font-size:13px;cursor:pointer;text-align:left;transition:none}.btn:hover{background:var(--surface)}.btn:active{box-shadow:var(--inset);transform:translate(1px,1px)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.icon-btn:focus-visible,button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);box-shadow:var(--inset)}.btn.locked{opacity:.6}.btn .lock-badge{margin-left:auto;font-size:9px;font-family:var(--font-mono);letter-spacing:.04em;padding:2px 6px;border-radius:0;background:var(--warn);color:#1a1200;font-weight:700}.layer-item{display:flex;flex-direction:column;gap:4px}.layer-item .btn{width:100%}.submode-control{display:flex;gap:2px;padding:0 2px 2px 30px}.submode-btn{flex:1;border:1px solid var(--surface-border);background:transparent;color:var(--text-muted);font-size:11px;padding:3px 4px;border-radius:6px;cursor:pointer}.submode-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.wx-label{font-size:12px;font-weight:700;color:var(--text);text-shadow:0 0 3px var(--surface),0 0 3px var(--surface);text-align:center;pointer-events:none}.wx-wind{text-align:center;line-height:1;pointer-events:none}.wx-arrow{display:inline-block;color:#1d6fd6;font-size:18px}.wx-wind-speed{display:block;font-size:9px;font-weight:700;color:var(--text);text-shadow:0 0 3px var(--surface)}.wx-pressure{font-size:11px;font-weight:700;text-align:center;text-shadow:0 0 3px var(--surface),0 0 3px var(--surface)}.wx-pressure.wx-high{color:#dc3d1d}.wx-pressure.wx-low{color:#3b6fd6}.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;border:1px solid var(--surface-border);background:var(--surface-2);color:var(--text);cursor:pointer;box-shadow:var(--outset);font-size:16px;text-decoration:none;transition:none}.icon-btn:hover{background:var(--surface)}.icon-btn:active{box-shadow:var(--inset);transform:translate(1px,1px)}#dark-toggle-btn:not(.bulb-on),#chrome-dark:not(.bulb-on){filter:grayscale(.5) opacity(.6)}#dark-toggle-btn.bulb-on,#chrome-dark.bulb-on{text-shadow:0 0 8px rgba(255,208,40,.95)}.timeline-row{display:flex;align-items:center;gap:12px}#timeline input[type=range],#world-timeline input[type=range]{flex:1;accent-color:var(--accent)}.world-timeline.panel-bottom{bottom:80px}.world-timeline[hidden]{display:none}#app.world-on #panel-dock-root{bottom:164px}.timeline-time{font-variant-numeric:tabular-nums;font-size:13px;min-width:92px;text-align:center}.timeline-time.forecast{color:var(--accent);font-weight:600}.round-btn{border-radius:0;width:40px;height:40px;font-size:13px;flex:none}.step-controls{display:flex;gap:6px;flex:none}.step-back-wrap{position:relative;display:flex}.step-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--surface-border);border-radius:10px;box-shadow:var(--shadow);z-index:1002}.step-menu[hidden]{display:none}.step-opt{border:none;background:transparent;color:var(--text);font-size:12px;padding:5px 12px;border-radius:7px;cursor:pointer;white-space:nowrap;text-align:center}.step-opt:hover{background:var(--bg)}.step-opt.sel{background:var(--accent);color:var(--accent-contrast);font-weight:600}.time-chip{position:absolute;top:-38px;left:50%;transform:translate(-50%);background:var(--danger);color:#fff;font-weight:700;font-family:var(--font-mono);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;padding:5px 12px;border-radius:10px;box-shadow:var(--shadow);z-index:1001;pointer-events:none;transition:left .12s linear}.time-chip.forecast,.time-chip.world{background:var(--accent);color:var(--accent-contrast)}@media (prefers-reduced-motion: reduce){.time-chip{transition:none}}.anim-loading{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:1500;pointer-events:none}.anim-loading[hidden]{display:none}.anim-loading-box{pointer-events:auto;background:var(--surface);border:1px solid var(--surface-border);border-radius:12px;box-shadow:var(--shadow);padding:14px 18px;width:min(85vw,300px);text-align:center}.anim-loading-title{font-weight:700;font-size:14px;margin-bottom:10px}.anim-loading-bar{height:10px;border-radius:6px;background:#7f7f7f40;overflow:hidden;margin-bottom:10px}#anim-loading-fill{height:100%;width:0%;background:var(--accent);transition:width .15s ease-out}.anim-loading-box button{width:100%;padding:7px;border-radius:8px;border:1px solid var(--surface-border);background:var(--bg);color:var(--text);cursor:pointer;font-size:13px}.legend-ramp{display:flex;height:10px;border-radius:6px;overflow:hidden;margin:6px 0 4px}.legend-ramp span{flex:1}.legend-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted)}.legend-title{font-size:11px;font-weight:600;color:var(--text-muted)}.search-box{display:flex;gap:6px;position:relative}.search-box input{flex:1;min-width:0;padding:8px 10px;border-radius:10px;border:1px solid var(--surface-border);background:var(--surface);color:var(--text);font-size:13px}.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--surface-border);border-radius:10px;box-shadow:var(--shadow);max-height:200px;overflow-y:auto;z-index:1001}.search-results button{width:100%;text-align:left;border:none;background:transparent;padding:8px 10px;font-size:13px;cursor:pointer;color:var(--text)}.search-results button:hover,.search-results button:focus-visible{background:#1d6fd61f}.overlay-backdrop{position:fixed;inset:0;background:#04081080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:16px}.modal{background:var(--surface);border:1px solid var(--surface-border);border-radius:16px;box-shadow:var(--shadow);padding:24px;max-width:420px;width:100%;max-height:90vh;overflow-y:auto}.modal h2{margin-top:0}.modal label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px}.modal input,.modal select{width:100%;padding:9px 10px;border-radius:0;border:1px solid var(--surface-border);box-shadow:var(--inset);background:var(--surface);color:var(--text);font-size:14px}.modal .primary{margin-top:18px;width:100%;padding:11px;border-radius:0;border:1px solid var(--accent-hover);box-shadow:var(--outset);background:var(--accent);color:var(--accent-contrast);font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;font-size:13px}.modal .primary:active{box-shadow:var(--inset);transform:translate(1px,1px)}.modal .link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.modal .error-text{color:var(--danger);font-size:13px;margin-top:8px}.modal .close-x{float:right;background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-muted)}.pricing-page{position:fixed;inset:0;z-index:3000;overflow-y:auto;background:var(--bg);color:var(--text);padding:32px 16px 64px}.pricing-inner{max-width:960px;margin:0 auto}.pricing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.pricing-title{text-align:center;margin-bottom:32px}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:40px}.price-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:0;padding:24px 20px;box-shadow:var(--outset),var(--shadow);display:flex;flex-direction:column}.price-card.featured{outline:3px solid var(--accent);outline-offset:-1px}.price-card h3{margin:0 0 4px;text-transform:uppercase;letter-spacing:.03em;font-size:15px}.price-amount{font-size:30px;font-weight:800;font-family:var(--font-mono);margin:8px 0 16px}.price-amount span{font-size:13px;font-weight:400;color:var(--text-muted)}.price-card ul{list-style:none;padding:0;margin:0 0 20px;flex:1}.price-card li{padding:5px 0;font-size:13px;color:var(--text-muted)}.price-card li.included{color:var(--text)}.price-card li.included:before{content:"✓ ";color:#16a34a}.price-card li:not(.included):before{content:"– "}.comparison-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:12px;overflow:hidden;font-size:13px}.comparison-table th,.comparison-table td{padding:10px 12px;border-bottom:1px solid var(--surface-border);text-align:center}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left;color:var(--text-muted)}.comparison-table thead th{color:var(--text);font-weight:700}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}#panel-dock-root{position:absolute;left:12px;bottom:96px;z-index:1001;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.panel-dock{display:flex;flex-direction:column;gap:8px}.dock-btn.active{background:var(--accent);color:var(--accent-contrast)}.side-panel{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px;width:min(78vw,260px);max-height:min(72vh,520px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px}.side-panel--pro{width:min(88vw,320px)}.dock-btn--pro{border-color:#d4a017;box-shadow:0 0 0 1px #d4a01759}.dock-btn--pro.active{background:#d4a017;color:#1a1205}.browser-frame.no-shot img{display:none}.browser-frame.no-shot:after{content:"📸 Screenshot coming soon";display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 10;font-size:14px;color:var(--text-muted);background:linear-gradient(135deg,#2563eb14,#2563eb05)}.panel-note{margin:0;font-size:11px;line-height:1.45;color:var(--text-muted)}.pro-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:2px 0 -2px}.pro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pro-grid .row-toggle{font-size:12px;padding:6px 8px;gap:6px}.pro-grid .row-locked-preview{font-size:12px}.pro-grid .row-locked-preview .row-toggle{font-size:12px;padding:6px 8px;gap:6px}.side-panel-title{margin:0 0 2px;font-size:13px;font-weight:700;color:var(--accent);text-align:center}.row-select select{width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--surface-border);background:var(--bg);color:var(--text);font-size:13px;cursor:pointer}.row-slider{display:flex;align-items:center;gap:10px;font-size:13px}.row-slider input[type=range]{flex:1;accent-color:var(--accent)}.row-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:6px 10px;border-radius:10px;border:1px solid var(--surface-border);cursor:pointer}.row-toggle input{position:absolute;opacity:0;pointer-events:none}.row-toggle .switch{width:34px;height:18px;border-radius:999px;background:#7f7f7f59;position:relative;flex:none;transition:background .15s}.row-toggle .switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.row-toggle input:checked+.switch{background:var(--accent)}.row-toggle input:checked+.switch:after{transform:translate(16px)}.row-toggle input:focus-visible+.switch{outline:var(--focus-ring);outline-offset:2px}.row-locked-preview{display:flex;align-items:center;gap:6px;border-radius:10px;cursor:pointer;opacity:.5;transition:opacity .12s ease,background .12s ease}.row-locked-preview>:not(.lock-badge){flex:1;min-width:0;pointer-events:none}.row-locked-preview .lock-badge{flex:none}.row-locked-preview:hover,.row-locked-preview:focus-visible{opacity:.82;background:#f59e0b14}.row-locked-preview:focus-visible{outline:var(--focus-ring);outline-offset:2px}.row-locked-preview select:disabled,.row-locked-preview input:disabled{color:var(--text);opacity:1}.row-locked-preview .row-toggle input:disabled{opacity:0}.wx-icon{font-size:18px;text-align:center;line-height:24px}.wx-topten{font-size:11px;font-weight:700;white-space:nowrap;text-shadow:0 0 3px var(--surface),0 0 3px var(--surface)}.wx-topten-rank{display:inline-block;background:var(--text);color:var(--bg);border-radius:4px;padding:0 3px;font-size:10px}.wx-arrow.wx-gust{color:#d6361d}.gauge-marker{background:var(--surface);border:1px solid var(--surface-border);border-radius:6px;font-size:10px;font-weight:700;text-align:center;line-height:16px;color:var(--text-muted);box-shadow:var(--shadow)}.gauge-marker.gauge-wet{background:#1d6fd6;border-color:#1d6fd6;color:#fff}.click-wx{font-size:12px}.click-wx-head{font-weight:700;margin-bottom:6px}.click-wx table{border-collapse:collapse}.click-wx td{padding:1px 6px 1px 0}.click-wx td:last-child{font-weight:600;text-align:right}.click-wx-minutely{margin-top:8px;border-top:1px solid var(--surface-border);padding-top:6px}.click-wx-minutely-head{font-weight:700;margin-bottom:4px}.click-wx-minutely-max{font-weight:400;color:var(--text-muted);float:right}.click-wx-minutely svg{display:block}.click-wx-minutely rect.wet{fill:var(--accent)}.click-wx-minutely rect.dry{fill:#7f7f7f59}.click-wx-minutely-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted);margin-top:2px}.click-wx-minutely-dry{color:var(--text-muted)}.click-wx-lock{display:block;width:100%;margin-top:8px;padding:5px 8px;border:1px dashed var(--surface-border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;text-align:center}.click-wx-lock:hover{color:var(--text)}.charts-loc{position:relative;display:flex;align-items:center;gap:10px}.charts-loc input{padding:6px 10px;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px}.charts-results{position:absolute;top:calc(100% + 4px);right:0;z-index:10;display:flex;flex-direction:column;min-width:260px;background:var(--surface);border:1px solid var(--surface-border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.charts-results button{border:none;background:transparent;color:var(--text);text-align:left;padding:8px 12px;font-size:12px;cursor:pointer}.charts-results button:hover{background:var(--bg)}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 4px;font-size:13px}.chart-key{display:inline-flex;align-items:center;gap:6px}.chart-key-dot{width:12px;height:12px;border-radius:3px;display:inline-block}.charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}@media (max-width: 760px){.charts-grid{grid-template-columns:1fr}}.chart-panel{background:var(--surface);border:1px solid var(--surface-border);border-radius:12px;box-shadow:var(--shadow);padding:12px 14px}.chart-zoomable{position:relative;cursor:zoom-in;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.chart-zoomable:after{content:"⛶ Enlarge";position:absolute;top:10px;right:12px;padding:4px 7px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:6px;background:color-mix(in srgb,var(--surface) 90%,transparent);font-size:10px;font-weight:750;opacity:.82}.chart-zoomable:hover,.chart-zoomable:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 48%,var(--surface-border));box-shadow:var(--shadow-lg);outline:none}.chart-lightbox[hidden]{display:none}.chart-lightbox{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:24px;background:#02060fd1;backdrop-filter:blur(8px);animation:chart-lightbox-in .14s ease-out}.chart-lightbox-box{position:relative;width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);padding:34px 30px 18px;overflow:auto;border:1px solid var(--surface-border);border-radius:18px;color:var(--text);background:var(--surface);box-shadow:0 30px 100px #0000008c}.chart-lightbox-close{position:absolute;z-index:2;top:10px;right:12px;width:38px;height:38px;display:grid;place-items:center;padding:0;color:var(--text);border:1px solid var(--surface-border);border-radius:50%;background:var(--surface-2);cursor:pointer;font-size:27px;line-height:1}.chart-lightbox-close:hover,.chart-lightbox-close:focus-visible{color:#fff;border-color:var(--accent);background:var(--accent);outline:none}.chart-lightbox-content .chart-panel{padding:8px 0 0;border:0;box-shadow:none;background:transparent}.chart-lightbox-content .chart-panel:after{display:none}.chart-lightbox-content .chart-panel:hover{transform:none}.chart-lightbox-content .chart-panel h3{padding-right:44px;font-size:22px}.chart-lightbox-content .chart-panel svg{width:100%;max-height:72vh}.chart-lightbox-hint{margin:8px 0 0;color:var(--text-muted);text-align:center;font-size:12px}body.lightbox-open{overflow:hidden}@keyframes chart-lightbox-in{0%{opacity:0}to{opacity:1}}@media (max-width:620px){.chart-lightbox{padding:10px}.chart-lightbox-box{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:42px 14px 14px}.chart-lightbox-content .chart-panel svg{min-width:700px}.chart-lightbox-content{overflow-x:auto}}.charts-intro{max-width:760px;color:var(--text-muted);font-size:13px;line-height:1.5;margin:6px 0 4px}.charts-intro strong{color:var(--text)}.chart-panel h3{margin:0 0 8px;font-size:15px}.chart-unit{font-weight:400;color:var(--text-muted);font-size:12px}.chart-panel svg{display:block;width:100%;height:auto}.chart-grid{stroke:var(--surface-border);stroke-width:1}.chart-axis{stroke:var(--text-muted);stroke-width:1}.chart-day,.chart-tick{fill:var(--text-muted);font-size:10px}.chart-tick{text-anchor:end}.chart-note{color:var(--text-muted);font-size:12px}.charts-locked{text-align:center;background:var(--surface);border:1px dashed var(--surface-border);border-radius:14px;padding:36px 20px;margin:24px 0}.charts-locked-badge{display:inline-block;background:var(--accent);color:var(--accent-contrast);font-weight:800;font-size:12px;border-radius:6px;padding:2px 8px;margin-bottom:8px}.charts-locked-cta{display:inline-block;margin-top:10px;padding:8px 18px;border-radius:10px;background:var(--accent);color:var(--accent-contrast);text-decoration:none;font-weight:700}:root.map-locked .leaflet-control-zoom{display:none}.leaflet-bottom.leaflet-right .leaflet-control-zoom{margin-bottom:96px;margin-right:48px}.page-root{position:fixed;inset:0;z-index:1500;overflow-y:auto;background:var(--bg);color:var(--text);-webkit-overflow-scrolling:touch}.page-root[hidden]{display:none}.portal{min-height:100%;display:flex;flex-direction:column}.portal-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--surface-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.portal-logo{font-weight:800;font-size:18px;letter-spacing:-.01em;text-transform:uppercase;color:var(--text);text-decoration:none;white-space:nowrap}.portal-logo .logo-uk{color:var(--accent-contrast);background:var(--accent);padding:1px 7px;margin-left:3px;border-radius:7px}.portal-nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}.nav-menu-toggle{display:none;font-size:20px;line-height:1}@media (max-width: 860px){.portal-header{min-height:58px;flex-wrap:nowrap;gap:8px;padding:9px 12px}.portal-header-actions{margin-left:auto}.nav-menu-toggle{display:inline-grid;place-items:center}.portal-nav{display:none;position:absolute;top:calc(100% + 1px);left:10px;right:10px;z-index:20;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:calc(100vh - 78px);padding:10px;overflow-y:auto;border:1px solid var(--surface-border);border-radius:0 0 14px 14px;background:var(--surface);box-shadow:0 18px 42px #0206173d;backdrop-filter:blur(16px)}.portal-nav.mobile-open{display:grid}.portal-nav-link{min-width:0;padding:11px 10px;text-align:center;white-space:normal}}.portal-nav-link{padding:7px 12px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;border:1px solid transparent}.portal-nav-link:hover{color:var(--accent);text-decoration:underline}.portal-nav-link.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent-hover);box-shadow:var(--outset)}.portal-header-actions{display:flex;align-items:center;gap:8px}.nav-account{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--surface-border);background:var(--surface-2);color:var(--text);padding:7px 12px;border-radius:0;box-shadow:var(--outset);font-size:13px;font-weight:700;cursor:pointer;transition:none}.nav-account:active{box-shadow:var(--inset);transform:translate(1px,1px)}.nav-account.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent-hover);text-transform:uppercase;letter-spacing:.03em}.nav-account-label{font-size:11px;font-family:var(--font-mono)}.portal-main{flex:1}.portal-footer{border-top:1px solid var(--surface-border);padding:20px 18px 32px;font-size:12px;color:var(--text-muted);text-align:center;display:flex;flex-direction:column;gap:8px}.portal-footer-links a{color:var(--text-muted)}@media (max-width: 640px){.nav-account-label{display:none}.portal-logo{font-size:16px}.portal-header-actions{gap:5px}.portal-header-actions .icon-btn,.nav-account{min-width:38px;min-height:38px;padding:7px 9px}}.page{max-width:960px;margin:0 auto;padding:28px 18px 48px}.page-title{margin:0 0 8px;font-size:30px;font-weight:800;letter-spacing:-.01em}.page-lead{color:var(--text-muted);margin:0 0 20px;max-width:60ch}.link-back{display:inline-block;margin-bottom:14px;color:var(--accent);text-decoration:underline;font-weight:700;font-size:13px}.btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 22px;border-radius:0;border:1px solid var(--surface-border);background:var(--surface-2);color:var(--text);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;text-decoration:none;box-shadow:var(--outset);transition:none}.btn-cta:hover{background:var(--surface)}.btn-cta:active{box-shadow:var(--inset);transform:translate(1px,1px)}.btn-cta.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent-hover)}.btn-cta.primary:hover{background:var(--accent-hover)}.hero{position:relative;padding:72px 18px 64px;overflow:hidden;border-bottom:1px solid var(--surface-border);background:radial-gradient(820px 420px at 78% 8%,rgba(37,99,235,.28),transparent 62%),radial-gradient(600px 300px at 8% 90%,rgba(14,165,233,.12),transparent 60%),linear-gradient(180deg,#0b1120,#0e1730)}.hero-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.02fr 1fr;gap:56px;align-items:center}.hero-copy{text-align:left}.hero-copy .hero-cta{justify-content:flex-start}.hero-copy .hero-sub{margin:0 0 26px}.hero-shot{position:relative}.hero-frame{transform:rotate(1.2deg);box-shadow:0 24px 60px #0206178c}.hero-scribble{display:flex;align-items:flex-start;gap:12px;margin:22px 0 0 10px;color:#fcd34d;font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:27px;line-height:1.25;transform:rotate(-2deg);text-shadow:0 2px 10px rgba(0,0,0,.35)}.hero-arrow{width:92px;height:72px;flex:none;margin-top:-22px}.hero-kicker{display:inline-block;margin:0 0 18px;padding:6px 14px;font-size:13px;font-weight:600;color:#bfdbfe;background:#2563eb47;border:1px solid rgba(147,197,253,.35);border-radius:999px;backdrop-filter:blur(4px)}.hero-title{font-size:clamp(34px,6.5vw,60px);line-height:1.04;margin:0 0 18px;font-weight:800;letter-spacing:-.03em;color:#f8fafc}.hero-title .hl{color:#60a5fa}.hero-sub{font-size:18px;color:#e2e8f0eb;margin:0 auto 26px;max-width:52ch}.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero .btn-cta.ghost{background:#0f172a73;color:#e2e8f0;border-color:#94a3b873;backdrop-filter:blur(4px)}.hero .btn-cta.ghost:hover{border-color:#e2e8f0b3;background:#0f172aa6}.hero-note{margin-top:16px;font-size:13px;color:#cbd5e1d9}.hero-caption{position:relative;z-index:1;margin:56px 0 -58px;font-size:12.5px;color:#94a3b8e6}.stats-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;max-width:980px;margin:0 auto;padding:34px 18px 10px;text-align:center}.stat strong{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--accent)}.stat span{font-size:13px;color:var(--text-muted)}.feature-rows{max-width:1120px;margin:0 auto;padding:40px 18px 8px;display:flex;flex-direction:column;gap:72px}.frow{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}.frow.rev .frow-media{order:2}.frow.rev .frow-copy{order:1}.frow-kicker{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.04em;text-transform:uppercase}.frow-copy h2{margin:0 0 12px;font-size:clamp(22px,3vw,30px);line-height:1.15;font-weight:800;letter-spacing:-.02em}.frow-copy p{margin:0 0 16px;color:var(--text-muted);font-size:15.5px;line-height:1.6}.mobile-feature-copy{display:none}.frow-link{font-weight:600;color:var(--accent);text-decoration:none}.frow-link:hover{text-decoration:underline}.browser-frame{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--surface-border);box-shadow:var(--shadow-lg);background:var(--surface)}.browser-bar{display:flex;gap:6px;padding:10px 14px;background:var(--surface-2, var(--surface));border-bottom:1px solid var(--surface-border)}.browser-bar i{width:10px;height:10px;border-radius:50%;background:var(--surface-border)}.browser-bar i:first-child{background:#f87171}.browser-bar i:nth-child(2){background:#fbbf24}.browser-bar i:nth-child(3){background:#34d399}.browser-frame img{display:block;width:100%;height:auto}.feature-grid{max-width:1040px;margin:0 auto;padding:56px 18px 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.feature-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px}.feature-icon{font-size:22px;margin-bottom:12px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);border-radius:var(--radius-sm)}.feature-card h3{margin:0 0 8px;font-size:16px;font-weight:700}.feature-card p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.5}.reviews-band{max-width:720px;margin:56px auto 0;padding:40px 26px;text-align:center;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.reviews-band h2{margin:0 0 10px;font-size:24px;font-weight:800;letter-spacing:-.02em}.reviews-note{color:var(--text-muted);font-size:15px;line-height:1.6;margin:0 auto 20px;max-width:56ch}.mobile-coming-soon{position:relative;max-width:1180px;margin:76px auto 88px;padding:64px 38px 38px;overflow:hidden;isolation:isolate;color:#eaf6ff;border:1px solid rgba(57,189,248,.22);border-radius:28px;background:linear-gradient(145deg,#03090f,#071726 52%,#061017);box-shadow:0 28px 80px #020a1247;scroll-margin-top:88px}.mobile-coming-glow{position:absolute;z-index:-1;inset:-40% -10% auto 45%;height:420px;background:radial-gradient(circle,rgba(14,165,233,.2),transparent 65%)}.mobile-coming-heading{max-width:720px;margin:0 auto 34px;text-align:center}.mobile-coming-heading h2{margin:6px 0 12px;font-size:clamp(30px,4vw,48px);line-height:1.06;letter-spacing:-.04em}.mobile-coming-heading>p:last-child{margin:0 auto;max-width:60ch;color:#a9bfd0;font-size:17px;line-height:1.65}.mobile-showcase{position:relative}.mobile-master-art{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:18px;border:1px solid rgba(125,211,252,.15);box-shadow:0 24px 55px #0000006b}.mobile-phone-snapshots{display:flex;justify-content:center;gap:22px;margin:-105px auto 20px;position:relative}.mobile-phone-snapshots figure{margin:0;padding:10px 10px 12px;border:1px solid rgba(148,210,236,.2);border-radius:24px;background:#030c14db;box-shadow:0 18px 40px #00000073;backdrop-filter:blur(14px)}.mobile-phone-snapshots figcaption{margin-top:8px;text-align:center;color:#8de5ff;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.mobile-phone-crop{width:150px;height:290px;border-radius:17px;background-image:url(/img/home/stormgrid-mobile-coming-soon.png);background-repeat:no-repeat;background-size:768px 512px}.phone-radar{background-position:-21px -156px}.phone-forecast{background-position:-316px -156px}.phone-arrival{background-position:-460px -156px}.mobile-waitlist-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center;padding:28px;border:1px solid rgba(103,232,249,.2);border-radius:18px;background:#04141fcc}.mobile-waitlist-card h3{margin:0 0 7px;font-size:24px}.mobile-waitlist-card p{margin:0;color:#9db3c4;line-height:1.55}.mobile-waitlist-row{display:flex;gap:10px}.mobile-waitlist-row input{min-width:0;flex:1;padding:13px 15px;color:#eaf6ff;border:1px solid rgba(148,210,236,.28);border-radius:9px;outline:none;background:#07131e}.mobile-waitlist-row input:focus{border-color:#22c7f2;box-shadow:0 0 0 3px #22c7f221}.mobile-consent{display:flex;gap:8px;margin-top:11px;color:#8fa9bc;font-size:12px;line-height:1.4}.mobile-consent input{margin-top:2px}.mobile-waitlist-message{min-height:20px;margin:9px 0 0!important;color:#67e8f9!important;font-size:13px}@media (max-width:760px){.mobile-coming-soon{margin:48px 12px 62px;padding:46px 18px 22px;border-radius:20px}.mobile-master-art{display:none}.mobile-phone-snapshots{margin:0;gap:8px;overflow:hidden}.mobile-phone-snapshots figure:nth-child(3){display:none}.mobile-waitlist-card{grid-template-columns:1fr;margin-top:22px}.mobile-waitlist-row{flex-direction:column}.mobile-phone-crop{transform:scale(.9);margin:-14px -8px}}.home-cta-band{text-align:center;padding:56px 18px;margin-top:56px}.faq-section{max-width:1120px;margin:20px auto 88px;padding:0 28px;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:64px;align-items:start}.faq-heading{position:sticky;top:92px}.faq-heading h2{margin:8px 0 14px;color:var(--text);font-size:clamp(28px,3.3vw,42px);line-height:1.08;letter-spacing:-.035em}.faq-heading>p:last-child{margin:0;color:var(--text-muted);line-height:1.7}.faq-list{border-top:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:22px;padding:22px 2px;color:var(--text);font-size:17px;font-weight:750}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--surface-2);position:relative}.faq-item summary span:before,.faq-item summary span:after{content:"";position:absolute;top:11px;left:7px;width:10px;height:2px;border-radius:2px;background:var(--accent);transition:transform .16s ease}.faq-item summary span:after{transform:rotate(90deg)}.faq-item[open] summary span:after{transform:rotate(0)}.faq-item p{margin:-5px 42px 24px 2px;color:var(--text-muted);line-height:1.7}.faq-page-hero{max-width:900px;margin:0 auto;padding:86px 28px 46px;text-align:center}.faq-page-hero h1{margin:8px 0 16px;color:var(--text);font-size:clamp(38px,6vw,64px);line-height:1.02;letter-spacing:-.05em}.faq-page-hero>p:last-child{max-width:650px;margin:0 auto;color:var(--text-muted);font-size:17px;line-height:1.65}.faq-page-content{max-width:1040px;margin:0 auto 96px;padding:0 28px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:54px;align-items:start}.faq-help-card{position:sticky;top:92px;padding:26px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.faq-help-card h2{margin:0 0 10px;font-size:21px}.faq-help-card p{margin:0 0 20px;color:var(--text-muted);line-height:1.6}.faq-help-card .btn-cta{width:100%;justify-content:center}.welcome-offer-modal{position:relative;width:min(540px,calc(100vw - 24px));overflow:hidden;padding:0;background:var(--surface)}.welcome-offer-modal .welcome-close{position:absolute;top:14px;right:14px;z-index:3;float:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#050c1c9e;color:#fff;font-size:23px;line-height:1;backdrop-filter:blur(8px)}.welcome-offer-visual{position:relative;height:190px;overflow:hidden;background:#061226}.welcome-offer-visual:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(transparent,#040a18b3);pointer-events:none}.welcome-offer-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 46%}.welcome-offer-badge{position:absolute;left:20px;bottom:18px;z-index:2;display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:#0a1530c7;color:#fff;box-shadow:0 12px 32px #0000004d;backdrop-filter:blur(10px)}.welcome-offer-badge strong{color:#7dd3fc;font-size:28px;line-height:1;letter-spacing:-.05em}.welcome-offer-badge span{font-size:11px;font-weight:750;line-height:1.25}.welcome-offer-content{padding:27px 32px 29px}.welcome-offer-kicker{margin:0 0 7px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:850}.welcome-offer-modal h2{margin:0 0 10px;font-size:30px;letter-spacing:-.035em}.welcome-offer-copy{margin:0 0 15px;color:var(--text-muted);line-height:1.55;font-size:14px}.welcome-offer-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.welcome-offer-benefits span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:750}.welcome-offer-benefits span:before{content:"✓";font-weight:900}.welcome-offer-content form>label:first-child{margin-top:0}.welcome-offer-content input[type=email]{padding:11px 12px;border-radius:var(--radius-sm)}.welcome-consent{display:flex!important;align-items:flex-start;gap:10px;margin:15px 0!important;color:var(--text-muted)!important;font-size:12px!important;font-weight:500!important;line-height:1.45}.welcome-consent input{width:17px!important;height:17px;margin:1px 0 0!important;padding:0!important;flex:0 0 17px;accent-color:var(--accent)}.welcome-submit{width:100%}.welcome-offer-modal .welcome-submit{margin-top:4px;padding:12px}.welcome-fineprint{margin:11px 0 0;color:var(--text-muted);text-align:center;font-size:11px}.welcome-success{text-align:center}.welcome-success{padding:38px 34px}.welcome-success-icon{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok);font-size:28px;font-weight:900}.welcome-success h2{margin-right:0}.welcome-success>p:not(.welcome-offer-kicker){color:var(--text-muted);line-height:1.55}.welcome-code{margin:22px 0;padding:14px;border:1px dashed var(--accent);border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,transparent)}.welcome-code span{display:block;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.welcome-code strong{display:block;margin-top:4px;color:var(--accent);font-size:23px;letter-spacing:.08em}@media (max-width: 760px){.faq-section{grid-template-columns:1fr;gap:28px;margin-bottom:64px}.faq-heading{position:static}.faq-page-content{grid-template-columns:1fr;gap:30px}.faq-help-card{position:static}.welcome-offer-visual{height:155px}.welcome-offer-content{padding:23px 22px 25px}.welcome-offer-modal h2{font-size:27px}.welcome-offer-copy{font-size:13px}}.home-cta-band.cta-photo{position:relative;overflow:hidden;padding:84px 18px;background:url(/img/home/hero-radar.jpg) center 60% / cover no-repeat #0b1120}.home-cta-band.cta-photo:after{content:"";position:absolute;inset:0;background:#0b1120c7}.cta-inner{position:relative;z-index:1}.home-cta-band h2{margin:0 0 6px;font-size:26px}.home-cta-band.cta-photo h2{color:#f8fafc;font-size:clamp(24px,4vw,34px);font-weight:800;letter-spacing:-.02em}.home-cta-band p{color:var(--text-muted);margin:0 0 20px}.home-cta-band.cta-photo p{color:#e2e8f0e6}.home-cta-band.cta-photo .btn-cta.ghost{background:#0f172a73;color:#e2e8f0;border-color:#94a3b873}@media (max-width: 860px){.frow,.frow.rev{grid-template-columns:1fr;gap:22px}.frow.rev .frow-media{order:1}.frow.rev .frow-copy{order:2}.feature-rows{gap:48px}.hero{padding:64px 16px 56px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{text-align:center}.hero-copy .hero-cta{justify-content:center}.hero-scribble{justify-content:center;font-size:23px}}@media (max-width: 640px){.hero{padding:44px 14px 34px}.hero-grid{gap:22px}.hero-title{font-size:38px}.hero-sub{font-size:16px;line-height:1.55}.hero-note{line-height:1.45}.hero-frame{transform:none;border-radius:14px}.hero-scribble{display:none}.stats-band{grid-template-columns:repeat(2,1fr);padding:26px 14px 4px}.stat strong{font-size:22px}.feature-rows{gap:38px;padding:34px 14px 4px}.frow,.frow.rev{gap:17px}.frow-copy h2{margin-bottom:9px;font-size:22px}.desktop-feature-copy{display:none}.mobile-feature-copy{display:block;font-size:14px!important;line-height:1.5!important}.browser-frame{max-width:100%;border-radius:14px}.browser-frame img{max-width:100%;object-fit:contain}.feature-grid{padding:38px 14px 4px;grid-template-columns:1fr;gap:10px}.feature-card{display:grid;grid-template-columns:42px 1fr;column-gap:12px;padding:15px}.feature-icon{grid-row:1 / 3;width:42px;height:42px;margin:0}.feature-card h3{margin:1px 0 4px}.feature-card p{font-size:12.5px;line-height:1.45}.reviews-band{margin:42px 14px 0;padding:28px 18px}.faq-section{padding:0 18px;margin-top:50px}.faq-item summary{padding:18px 2px;font-size:15px}.mobile-coming-heading h2{font-size:30px}.mobile-coming-heading>p:last-child{font-size:15px}.mobile-phone-snapshots figure:nth-child(2),.mobile-phone-snapshots figure:nth-child(3){display:none}.mobile-phone-snapshots{overflow:visible}.mobile-waitlist-card{padding:19px;gap:20px}.mobile-waitlist-card h3{font-size:22px}.home-cta-band{margin-top:40px;padding:54px 16px}}.fc-search{display:flex;gap:8px;position:relative;max-width:480px}.fc-search input{flex:1;padding:11px 14px;border-radius:10px;border:1px solid var(--surface-border);background:var(--surface);color:var(--text);font-size:15px}.fc-attrib{font-size:12px;color:var(--text-muted);margin:8px 0 20px}.fc-empty{color:var(--text-muted);padding:20px 0}.fc-current{background:var(--surface);border:1px solid var(--surface-border);border-radius:0;box-shadow:var(--outset);padding:22px;display:flex;flex-direction:column;gap:18px}.fc-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px 16px;margin:0;padding-top:16px;border-top:1px solid var(--surface-border)}.fc-detail-grid>div{min-width:0}.fc-detail-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.fc-detail-grid dd{margin:2px 0 0;font-weight:700;font-family:var(--font-mono);font-size:15px}.fc-pollen dd:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:middle}.fc-pollen-low dd:before{background:#4ade80}.fc-pollen-moderate dd:before{background:#ffd21f}.fc-pollen-high dd:before{background:#ff8f1f}.fc-pollen-veryhigh dd:before{background:#e0102a}.fc-current-main{display:flex;align-items:center;gap:16px}.fc-current-icon{font-size:52px}.fc-current-temp{font-size:40px;font-weight:800;line-height:1}.fc-current-desc{color:var(--text-muted);margin-top:4px}.fc-current-place{font-weight:600;margin-top:6px}.fc-when{font-family:var(--font-mono);color:var(--text-muted);font-weight:700}.fc-temp-lo{font-size:22px;color:var(--text-muted);font-weight:600}.fc-current-stats{display:grid;grid-template-columns:repeat(2,auto);gap:6px 26px;margin:0;align-self:center}.fc-current-stats dt{font-size:12px;color:var(--text-muted)}.fc-current-stats dd{margin:0;font-weight:700}.fc-h{margin:28px 0 12px;font-size:18px}.fc-hourly{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.fc-hour{flex:none;width:64px;text-align:center;background:var(--surface);border:1px solid var(--surface-border);border-radius:12px;padding:10px 4px}.fc-hour-time{font-size:12px;color:var(--text-muted)}.fc-hour-icon{font-size:22px;margin:4px 0}.fc-hour-temp{font-weight:700}.fc-hour-pop{font-size:11px;color:var(--text-muted)}.fc-hour-pop.wet{color:var(--accent);font-weight:700}.fc-hour:focus{outline:2px solid var(--accent);outline-offset:2px}.fc-hour-popover{position:fixed;z-index:1500;padding:15px;border:1px solid var(--surface-border);border-radius:14px;background:#0f172afa;color:var(--text);box-shadow:0 16px 44px #00000080;pointer-events:none}.fc-hour-popover-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.fc-hour-popover-title>span{font-size:28px}.fc-hour-popover-title strong,.fc-hour-popover-title small{display:block}.fc-hour-popover-title small{margin-top:2px;color:var(--text-muted)}.fc-hour-popover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.fc-hour-popover-grid div{min-width:0;padding-top:8px;border-top:1px solid rgba(148,163,184,.14)}.fc-hour-popover-grid dt{color:var(--text-muted);font-size:10px}.fc-hour-popover-grid dd{margin:3px 0 0;font-size:12px;font-weight:700}@media (max-width: 480px){.fc-hour-popover-grid{grid-template-columns:repeat(2,1fr)}}.legal-page{width:min(820px,calc(100% - 32px));margin:0 auto;padding:54px 0 72px;line-height:1.65}.legal-page h1{margin:4px 0 2px;font-size:clamp(2rem,5vw,3.25rem)}.legal-page h2{margin:32px 0 8px;font-size:1.2rem}.legal-page ul{padding-left:22px}.legal-page li{margin:7px 0}.legal-updated{margin:0 0 28px;color:var(--text-muted);font-size:.84rem}.legal-note{margin-top:36px;padding:16px;border:1px solid var(--surface-border);border-radius:12px;background:var(--surface);color:var(--text-muted);font-size:.88rem}.acct-danger{margin-top:20px;border-color:#f8717166}.acct-danger .win-titlebar{color:#fca5a5}.acct-danger #delete-account:not(:disabled){border-color:#ef4444;color:#fecaca}.fc-daily{display:flex;flex-direction:column;gap:6px}.fc-day{display:grid;grid-template-columns:1fr auto 70px 90px;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--surface-border);border-radius:0!important;box-shadow:var(--outset);padding:12px 16px;cursor:pointer;color:var(--text);font-size:14px;transition:none}.fc-day:hover{background:var(--surface-2)}.fc-day.active{border-color:var(--accent);box-shadow:var(--inset);outline:2px solid var(--accent);outline-offset:-1px}.fc-hint{font-size:12px;font-weight:400;color:var(--text-muted)}.fc-day-detail{margin-top:14px}.fc-day-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}.fc-day-summary-icon{font-size:40px}.fc-day-summary-desc{font-weight:700}.fc-day-summary-temps{font-family:var(--font-mono);font-size:20px;font-weight:800}.fc-day-summary-temps .lo{color:var(--text-muted)}.fc-day-summary .fc-current-stats{margin-left:auto}.fc-day-name{font-weight:700}.fc-day-icon{font-size:22px}.fc-day-pop{font-size:13px;color:var(--text-muted)}.fc-day-pop.wet{color:var(--accent)}.fc-day-temps{text-align:right}.fc-day-temps .hi{font-weight:800}.fc-day-temps .lo{color:var(--text-muted)}.forum-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.forum-cats{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.forum-cat{border:1px solid var(--surface-border);background:transparent;color:var(--text-muted);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer}.forum-cat.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.forum-form{background:var(--surface);border:1px solid var(--surface-border);border-radius:14px;padding:18px;margin-bottom:18px;display:flex;flex-direction:column;gap:10px}.forum-form h3{margin:0}.forum-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.forum-form input,.forum-form select,.forum-form textarea,.reply-box textarea{padding:9px 12px;border-radius:8px;border:1px solid var(--surface-border);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit}.forum-error{color:var(--danger);font-size:13px;margin:0}.thread-list{display:flex;flex-direction:column;gap:8px}.forum-sortbar{display:flex;gap:16px;align-items:center;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin:10px 0}.forum-sortbar label{display:flex;gap:7px;align-items:center;font-size:13px}.forum-sortbar select{padding:6px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.thread-row{display:flex;align-items:stretch}.thread-row-link{color:inherit;text-decoration:none;flex:1;padding:12px;min-width:0}.forum-votes{width:48px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:var(--surface-2)}.forum-votes button{border:0;background:transparent;color:var(--muted);cursor:pointer;line-height:1}.forum-votes .vote-up.active{color:#f06a28}.forum-votes .vote-down.active{color:#6574cc}.profile-fields{display:grid;gap:12px}.profile-fields label{display:grid;gap:6px}.profile-fields textarea{resize:vertical}.profile-locked{filter:grayscale(1);opacity:.55}.profile-lock-note{padding:10px;border:1px solid var(--warning);border-radius:7px}.thread-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--surface-border);border-radius:12px;text-decoration:none;color:var(--text);flex-wrap:wrap}.thread-row:hover{border-color:var(--accent)}.thread-row-main{display:flex;align-items:center;gap:10px;min-width:0}.thread-cat-tag{flex:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--accent);background:#1d6fd61f;padding:3px 8px;border-radius:6px}.thread-title{font-weight:600}.thread-row-meta{display:flex;gap:14px;font-size:12px;color:var(--text-muted)}.thread-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.thread-view-title{margin:0;font-size:24px}.posts{display:flex;flex-direction:column;gap:12px}.post{background:var(--surface);border:1px solid var(--surface-border);border-radius:12px;padding:16px 18px}.post-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-bottom:8px}.post-author{font-weight:700;color:var(--text)}.forum-plan-badge{display:inline-flex;align-items:center;margin-left:4px;padding:1px 6px;border:1px solid rgba(245,158,11,.55);border-radius:999px;background:#f59e0b21;color:#d97706;font-size:9px;font-weight:900;letter-spacing:.06em;line-height:1.5;vertical-align:middle}.forum-plan-badge.pro-plus{border-color:#8b5cf68c;background:linear-gradient(135deg,#8b5cf629,#3b82f626);color:#7c3aed}[data-theme=dark] .forum-plan-badge{color:#fbbf24}[data-theme=dark] .forum-plan-badge.pro-plus{color:#c4b5fd}.post-body{line-height:1.55}.reply-box{margin-top:20px;display:flex;flex-direction:column;gap:10px}.reply-box textarea{width:100%}.radar-health-state{display:flex;align-items:center;gap:8px;margin:12px 0 16px}.radar-health-state span{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #22c55e21}.radar-health-state.bad span{background:#ef4444;box-shadow:0 0 0 4px #ef444421}.radar-health-grid,.radar-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.radar-health-grid>div,.radar-guide-grid article{margin:0;padding:12px;border:1px solid var(--surface-border);border-radius:10px;background:var(--surface-soft)}.radar-health-grid dt{color:var(--text-muted);font-size:12px}.radar-health-grid dd{margin:3px 0 0;font-weight:750}.radar-guide-grid p{margin:5px 0 0;color:var(--text-muted);font-size:13px;line-height:1.45}@media (max-width: 540px){.radar-health-grid,.radar-guide-grid{grid-template-columns:1fr}}.warn-empty{text-align:center;max-width:520px;margin:30px auto;background:var(--surface);border:1px solid var(--surface-border);border-radius:16px;padding:36px 24px}.warn-empty-icon{font-size:40px;margin-bottom:8px}.warn-empty h2{margin:0 0 10px}.warn-empty p{color:var(--text-muted);margin:0 0 18px;line-height:1.5}.pricing-inner{max-width:980px;margin:0 auto;padding:28px 18px 48px}.pws-badge{background:none;border:none}.pws-badge span{display:inline-block;padding:1px 5px;border-radius:6px;font:700 11px/1.4 system-ui,sans-serif;color:#fff;background:var(--pws, #2563eb);border:1px solid rgba(255,255,255,.6);box-shadow:0 1px 3px #0006;white-space:nowrap}.news-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 18px;text-decoration:none;font-size:14px;color:var(--text);background:var(--accent-soft);border-bottom:1px solid var(--surface-border)}.news-strip:hover{filter:brightness(.98)}.news-tag{flex:none;font-weight:700;font-size:12px;padding:3px 10px;border-radius:999px;background:var(--accent);color:var(--accent-contrast)}.news-headline{flex:1;min-width:0;font-weight:600}.news-src{flex:none;font-size:12px;color:var(--text-muted);font-weight:600}.warn-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 18px;text-decoration:none;color:#111;border-bottom:2px solid rgba(0,0,0,.25);font-size:14px}.warn-banner .warn-pill{font-weight:700;font-size:12px;letter-spacing:.01em;padding:3px 10px;background:#000000d9;color:#fff;border-radius:999px;flex:none}.warn-banner .warn-headline{font-weight:700;flex:1;min-width:0}.warn-banner .warn-more{font-size:12px;font-weight:600;opacity:.8}.warn-banner .warn-cta{font-weight:700;font-size:13px;white-space:nowrap}.warn-banner:hover{filter:brightness(.95)}@media (max-width: 520px){.warn-banner{display:grid;grid-template-columns:1fr auto;gap:7px 10px;padding:10px 14px}.warn-banner .warn-pill{justify-self:start}.warn-banner .warn-headline{grid-column:1 / -1;line-height:1.35}.warn-banner .warn-more{align-self:center}.warn-banner .warn-cta{justify-self:end}.news-strip{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:10px 14px}.news-tag{justify-self:start}.news-headline{grid-column:1 / -1;line-height:1.35}.news-src{justify-self:end}}.warn-yellow{background:#ffd21f}.warn-amber{background:#ff8f1f}.warn-red{background:#e0102a;color:#fff}.warn-red .warn-pill{background:#fff;color:#e0102a}.warn-clear{background:var(--surface-2);color:var(--text-muted);font-size:13px;justify-content:center;border-bottom:1px solid var(--surface-border)}.warn-cards{display:flex;flex-direction:column;gap:12px}.warn-card{border:1px solid var(--surface-border);border-left-width:6px;box-shadow:var(--outset);background:var(--surface);padding:16px 18px}.warn-card.warn-yellow{border-left-color:#ffd21f;background:var(--surface)}.warn-card.warn-amber{border-left-color:#ff8f1f;background:var(--surface)}.warn-card.warn-red{border-left-color:#e0102a;background:var(--surface);color:var(--text)}.warn-card-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.warn-card-head h3{margin:0;font-size:17px;text-transform:uppercase;letter-spacing:.01em}.warn-card .warn-pill{font-family:var(--font-mono);font-weight:800;text-transform:uppercase;font-size:11px;padding:2px 8px;color:#111}.warn-card.warn-yellow .warn-pill{background:#ffd21f}.warn-card.warn-amber .warn-pill{background:#ff8f1f}.warn-card.warn-red .warn-pill{background:#e0102a;color:#fff}.warn-card-title{margin:0 0 6px;font-weight:700}.warn-card-summary{margin:0 0 10px;color:var(--text-muted);line-height:1.5;font-size:14px}.warn-card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.warn-card-date{font-family:var(--font-mono)}.acct-page{max-width:720px}.acct-card{margin-bottom:18px}.acct-plan{margin:0 0 10px;font-size:14px}.acct-badge{display:inline-block;background:var(--title-bar);color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:700;padding:2px 8px;border:1px solid var(--accent-hover)}.acct-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:14px}.acct-actions .btn-cta{width:100%;justify-content:center}.acct-msg{font-size:13px;color:var(--ok);margin:10px 0 0;min-height:1em}.loc-list{display:flex;flex-direction:column;gap:6px;margin:12px 0}.loc-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--surface-2);border:1px solid var(--surface-border);box-shadow:var(--inset);font-size:13px}.loc-coord{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.loc-del{border:1px solid var(--surface-border);background:var(--surface);box-shadow:var(--outset);color:var(--danger);font-size:12px;font-weight:700;padding:3px 8px;cursor:pointer}.loc-del:active{box-shadow:var(--inset);transform:translate(1px,1px)}.loc-add{display:grid;grid-template-columns:1fr 80px 80px auto;gap:8px;margin-top:10px}.acct-input{padding:8px 10px;border:1px solid var(--surface-border);background:var(--surface);color:var(--text);font-size:13px}@media (max-width: 560px){.loc-add{grid-template-columns:1fr 1fr}}.fc-current,.fc-hour,.fc-day,.thread-row,.post,.forum-form,.warn-empty,.win-card{border-radius:0!important;box-shadow:var(--outset)}.fc-search input,.forum-form input,.forum-form select,.forum-form textarea,.reply-box textarea,.acct-input{border-radius:0!important;box-shadow:var(--inset);background:var(--surface)!important}.fc-current-temp,.fc-current-stats dd,.fc-hour-time,.fc-hour-temp,.fc-day-temps,.thread-row-meta,.post-date,.post-meta,.status-mono{font-family:var(--font-mono)}.fc-current-temp{letter-spacing:-.03em}.thread-cat-tag{border-radius:0;border:1px solid var(--accent-hover);background:var(--title-bar);color:#fff}.portal-main a:not(.btn-cta):not(.thread-row):not(.link-back):not(.portal-nav-link):not(.warn-banner):not(.charts-locked-cta){color:var(--accent);text-decoration:underline}.portal-main a:not(.btn-cta):not(.thread-row):not(.warn-banner):not(.charts-locked-cta):hover{color:var(--danger)}.warn-banner,.warn-banner:hover,.warn-banner *{text-decoration:none}.portal-footer a:hover{color:var(--danger)}.hr-groove{border:none;height:3px;margin:8px 0;background:linear-gradient(to bottom,var(--bevel-lo) 0 50%,var(--bevel-hi) 50% 100%)}.win-card{background:var(--surface);border:1px solid var(--surface-border)}.win-titlebar{background:var(--title-bar);color:#fff;font-weight:700;font-size:13px;letter-spacing:.02em;padding:6px 12px;display:flex;align-items:center;gap:8px;text-transform:uppercase}.win-body{padding:16px 18px}.eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700}.hero-title,.page-title,.portal-logo,.portal-nav-link,.price-card h3,.feature-card h3,.home-cta-band h2,.win-titlebar,.btn-cta,.nav-account,.nav-account.primary{text-transform:none;letter-spacing:-.01em}.hero-title{text-shadow:none;font-weight:800;letter-spacing:-.03em}.feature-card,.price-card,.fc-current,.fc-hour,.fc-day,.thread-row,.post,.forum-form,.warn-empty,.win-card,.acct-card,.side-panel,.panel,.chip,.btn,.btn-cta,.icon-btn,.nav-account,.modal,.fc-search input,.forum-form input,.forum-form textarea,.acct-input,.loc-row{border-radius:var(--radius)!important}.icon-btn,.round-btn{border-radius:var(--radius-sm)!important}.btn:active,.btn-cta:active,.icon-btn:active,.nav-account:active,.modal .primary:active{transform:translateY(1px);box-shadow:var(--shadow-sm)}.btn-cta,.nav-account.primary,.modal .primary{transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.btn-cta:hover,.nav-account.primary:hover{box-shadow:var(--shadow)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,.icon-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin-login-page{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:48px 20px;background:radial-gradient(circle at 50% 0%,var(--accent-soft),transparent 45%)}.admin-login-card{width:min(100%,480px);padding:38px;border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.admin-lock{width:54px;height:54px;margin-bottom:22px;display:grid;place-items:center;border-radius:16px;color:#fff;font-weight:900;background:var(--title-bar)}.admin-login-card h1{margin:5px 0 10px;font-size:clamp(27px,5vw,38px);letter-spacing:-.04em}.admin-login-card>p{color:var(--text-muted);line-height:1.6}.admin-login-form{display:grid;gap:16px;margin:24px 0 18px}.admin-login-form label{display:grid;gap:7px;font-weight:700;font-size:13px}.admin-login-form input{width:100%;padding:12px 13px}.admin-login-note{padding:12px 14px;border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn) 9%,transparent);font-size:13px;line-height:1.5}.admin-form-message{min-height:20px;margin:0;color:var(--danger);font-size:13px}.admin-back-link{font-size:13px}.admin-account-link{align-self:flex-start;margin-bottom:2px}.admin-page{width:min(1500px,calc(100% - 32px));max-width:none}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.admin-heading .page-title{margin-bottom:6px}.admin-heading .page-lead{margin-bottom:0}.admin-loading,.admin-error{padding:80px 24px;text-align:center;border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-muted)}.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.admin-kpi{min-width:0;padding:18px;border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.admin-kpi span,.admin-kpi small{display:block;color:var(--text-muted)}.admin-kpi span{font-weight:700;font-size:12px}.admin-kpi strong{display:block;margin:6px 0 3px;font:800 clamp(25px,3vw,36px)/1 var(--font-head);letter-spacing:-.04em}.admin-kpi small{font-size:11px}.admin-grid{display:grid;gap:16px;margin-bottom:16px}.admin-grid.two{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.admin-panel{min-width:0;margin-bottom:16px;padding:20px;border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.admin-grid .admin-panel{margin-bottom:0}.admin-panel-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-panel-title h2{margin:0 0 4px;font-size:18px}.admin-panel-title p,.admin-muted{margin:0;color:var(--text-muted);font-size:12px}.admin-chart-block+.admin-chart-block{margin-top:22px}.admin-chart-block h3,.admin-subtitle,.admin-split-list h3{margin:0 0 10px;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.admin-bars{height:116px;display:flex;align-items:end;gap:3px;padding-top:8px;border-bottom:1px solid var(--surface-border)}.admin-bar{position:relative;flex:1;min-width:4px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#38bdf8,var(--accent))}.admin-bar i{display:none;position:absolute;bottom:-19px;left:50%;transform:translate(-50%);color:var(--text-muted);font:9px var(--font-mono);font-style:normal;white-space:nowrap}.admin-bar:first-child i,.admin-bar:last-child i{display:block}.admin-chart-empty{height:116px;display:grid;place-items:center;border:1px dashed var(--surface-border);color:var(--text-muted);font-size:12px}.admin-health-list{margin:0}.admin-health-list>div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:8px 0;border-bottom:1px solid var(--surface-border)}.admin-health-list dt{color:var(--text-muted);font-size:12px}.admin-health-list dd{margin:0;text-align:right;font:12px var(--font-mono)}.admin-health{display:inline-flex;align-items:center;gap:6px}.admin-health i{width:7px;height:7px;border-radius:50%;background:currentColor}.admin-health.ok{color:var(--ok)}.admin-health.warn{color:var(--warn)}.admin-subtitle{margin-top:18px}.admin-archive{display:grid;gap:8px}.admin-archive>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px;border-radius:var(--radius-sm);background:var(--surface-2)}.admin-archive small{grid-column:1 / -1;color:var(--text-muted);font-size:10px}.admin-search{display:flex;gap:8px}.admin-search input{min-width:270px}.admin-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--surface-border);border-radius:var(--radius-sm)}.admin-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.admin-table th{padding:10px 12px;background:var(--surface-2);color:var(--text-muted);text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.admin-table td{padding:11px 12px;border-top:1px solid var(--surface-border)}.admin-table tbody tr:hover{background:var(--accent-soft)}.admin-table td small{display:block;margin-top:3px;color:var(--text-muted)}.admin-table code{font-family:var(--font-mono);color:var(--accent)}.admin-pill{display:inline-flex;padding:3px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-weight:800;font-size:10px;text-transform:uppercase}.admin-pill.admin,.admin-pill.pro_charts{background:color-mix(in srgb,#a855f7 16%,transparent);color:#a855f7}.admin-pill.pro{background:var(--accent-soft);color:var(--accent)}.admin-pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.admin-split-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-email-list{display:grid;gap:5px}.admin-email-list>div{min-width:0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2)}.admin-email-list span,.admin-email-list small{display:block;overflow:hidden;text-overflow:ellipsis}.admin-email-list span{font-size:12px;font-weight:700}.admin-email-list small{margin-top:3px;color:var(--text-muted);font-size:10px}@media (max-width: 1050px){.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid.two{grid-template-columns:1fr}}@media (max-width: 650px){.admin-page{width:min(100% - 20px,1500px)}.admin-heading,.admin-panel-title{align-items:stretch;flex-direction:column}.admin-kpis{grid-template-columns:1fr 1fr;gap:9px}.admin-kpi,.admin-panel{padding:14px}.admin-search{width:100%}.admin-search input{min-width:0;width:100%}.admin-split-list{grid-template-columns:1fr}.admin-login-card{padding:26px 22px}.admin-health-list>div{grid-template-columns:110px 1fr}}
