.supporter-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-3d, 100000);padding:16px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.supporter-modal{background:var(--bg-secondary, #1e1e1e);border-radius:16px;max-width:420px;width:100%;max-height:90dvh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.supporter-modal-close{position:absolute;top:12px;right:12px;z-index:3;background:transparent;border:none;color:var(--text-muted, #888);font-size:24px;cursor:pointer;width:var(--touch-min, 44px);height:var(--touch-min, 44px);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.supporter-modal-close:hover{background:var(--bg-tertiary, #2a2a2a);color:var(--text-primary, #fff)}.supporter-modal-header{padding:32px 24px 16px;text-align:center}.supporter-modal-heart{font-size:48px;display:block;margin-bottom:16px;animation:heartbeat 1.5s infinite}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1)}75%{transform:scale(1.05)}}.supporter-modal-header h2{margin:0;font-size:22px;font-weight:700;color:var(--text-primary, #fff);line-height:1.3}.supporter-modal-content{padding:0 24px 24px}.supporter-modal-message{color:var(--text-secondary, #999);font-size:14px;line-height:1.6;text-align:center;margin:0 0 20px}.supporter-modal-price{text-align:center;margin-bottom:24px;padding:16px;background:var(--bg-tertiary, #2a2a2a);border-radius:12px}.supporter-modal-price-amount{font-size:48px;font-weight:700;color:var(--text-primary, #fff)}.supporter-modal-price-period{font-size:18px;color:var(--text-muted, #888);margin-left:4px}.supporter-modal-price-trial{display:block;margin-top:8px;font-size:14px;color:#22c55e;font-weight:500}.supporter-modal-status{background:var(--bg-tertiary, #2a2a2a);border-radius:12px;padding:16px;margin-bottom:20px}.supporter-modal-status-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.supporter-modal-status-row:not(:last-child){border-bottom:1px solid var(--border-color, #333)}.supporter-modal-status-label{color:var(--text-muted, #888);font-size:13px}.supporter-modal-status-value{color:var(--text-primary, #fff);font-size:14px;font-weight:500}.supporter-modal-status-value.status-active{color:#22c55e}.supporter-modal-status-value.status-trialing{color:#60a5fa}.supporter-modal-features{margin-bottom:20px}.supporter-modal-features h3{font-size:15px;font-weight:700;color:var(--text-primary, #fff);margin:0 0 12px;text-align:left}.supporter-modal-feature-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted, #888);margin:14px 0 8px}.supporter-modal-features ul{list-style:none;margin:0;padding:0}.supporter-modal-features li{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-tertiary, #2a2a2a);border-radius:8px;margin-bottom:8px}.supporter-modal-features .feature-icon{font-size:20px;line-height:1.3;width:24px;text-align:center;flex-shrink:0}.supporter-modal-features .feature-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.supporter-modal-features .feature-title{color:var(--text-primary, #fff);font-size:14px;font-weight:600;line-height:1.3}.supporter-modal-features .feature-desc{color:var(--text-secondary, #9ca3af);font-size:12.5px;line-height:1.45}.supporter-modal-features .feature-badge{flex-shrink:0;align-self:flex-start;margin-top:1px;white-space:nowrap;font-size:10px;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:4px;background:#fbbf2433;color:var(--brand-premium);letter-spacing:.5px}.supporter-modal-features .feature-badge.available{background:#22c55e29;color:#22c55e}.supporter-modal-why{margin-bottom:20px;padding:16px;background:var(--bg-tertiary, #2a2a2a);border-radius:12px}.supporter-modal-why h3{font-size:15px;font-weight:700;color:var(--text-primary, #fff);margin:0 0 10px;text-align:left}.supporter-modal-promises{list-style:none;margin:0;padding:0}.supporter-modal-promises li{position:relative;padding:4px 0 4px 24px;color:var(--text-secondary, #cbd5e1);font-size:13px;line-height:1.5}.supporter-modal-promises li:before{content:"✓";position:absolute;left:0;top:4px;color:#22c55e;font-weight:700}.supporter-modal-trust{text-align:center;margin-bottom:20px}.supporter-modal-trust p{color:var(--text-muted, #888);font-size:12px;margin:0}.supporter-modal-button{display:block;width:100%;padding:14px 20px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.supporter-modal-button:disabled{opacity:.6;cursor:not-allowed}.supporter-modal-button.primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.supporter-modal-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#f97316);transform:translateY(-1px);box-shadow:0 4px 12px #f973164d}.supporter-modal-button.secondary{background:var(--bg-tertiary, #2a2a2a);color:var(--text-primary, #fff);border:1px solid var(--border-color, #333)}.supporter-modal-button.secondary:hover:not(:disabled){background:var(--bg-secondary, #1e1e1e);border-color:var(--text-muted, #888)}.supporter-modal-error{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:13px;text-align:center}.supporter-modal-notice{margin-top:16px;padding:12px 14px;background:var(--bg-tertiary, #1f2937);border:1px solid var(--border-color, #374151);border-radius:8px;color:var(--text-secondary, #9ca3af);font-size:13px;line-height:1.5;text-align:center}@media(max-width:480px){.supporter-modal{max-width:100%;margin:8px}.supporter-modal-header{padding:24px 20px 12px}.supporter-modal-content{padding:0 20px 20px}.supporter-modal-heart{font-size:40px}.supporter-modal-header h2{font-size:18px}.supporter-modal-price-amount{font-size:40px}}.supporter-modal-compare{display:block;margin-top:6px;font-size:.85rem;color:var(--accent-color)}.supporter-modal-store-terms{margin-top:14px;font-size:12px;line-height:1.5;color:var(--text-muted, #9ca3af);text-align:center}.supporter-modal-store-terms p{margin:0 0 8px}.supporter-modal-store-terms a,.supporter-modal-link-button{color:var(--text-secondary, #d1d5db);text-decoration:underline}.supporter-modal-link-button{background:none;border:none;padding:4px 0;font:inherit;cursor:pointer}.supporter-modal-link-button:disabled{opacity:.6;cursor:default}.feed{display:flex;flex-direction:column;min-height:0;color:var(--text-primary)}.feed-mobile{flex:1}.feed-mobile .feed-sections{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.feed-mobile .feed-section-header{position:sticky;top:0;z-index:1}.feed-desktop .feed-toolbar{position:sticky;top:0;z-index:2}.feed-emergency-strip{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--touch-min);padding:8px 14px;background:var(--severity-emergency-bg);border:none;border-bottom:1px solid var(--severity-emergency);color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;flex-shrink:0}.feed-emergency-strip svg{color:var(--severity-emergency);flex-shrink:0}.feed-emergency-strip span:first-of-type{flex:1;min-width:0}.feed-emergency-strip strong{color:var(--severity-emergency);font-weight:700}.feed-emergency-strip-cta{font-size:12px;font-weight:600;color:var(--severity-emergency);text-transform:uppercase;letter-spacing:.04em}.feed-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.feed-mobile .feed-toolbar{background:var(--bg-primary)}.feed-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 4px}.feed-mobile .feed-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-left:12px}.feed-mobile .feed-chips::-webkit-scrollbar{display:none}.feed-chip{--chip-colour: var(--severity-watch);display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 11px;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer;flex-shrink:0;scroll-snap-align:start;transition:background .12s,border-color .12s,color .12s}.feed-mobile .feed-chip{height:36px}.feed-chip:hover{border-color:var(--border-light);color:var(--text-primary)}.feed-chip.is-active{border-color:var(--chip-colour);color:var(--text-primary);background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--chip-colour)}.feed-chip-icon{display:inline-flex}.feed-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--bg-hover);color:var(--text-secondary);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.feed-chip.is-active .feed-chip-count{background:var(--chip-colour);color:#fff}.feed-sortrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 12px 8px}.feed-count{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.feed-sort{display:inline-flex;padding:2px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color)}.feed-sort-option{min-height:28px;padding:0 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.feed-mobile .feed-sort-option{min-height:32px}.feed-sort-option:hover:not(:disabled){color:var(--text-primary)}.feed-sort-option.is-active{background:var(--bg-elevated);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm)}.feed-sort-option:disabled{color:var(--text-muted);opacity:.6;cursor:not-allowed}.feed-error{padding:10px 14px;font-size:13px;color:var(--severity-emergency);background:var(--severity-emergency-bg);border-bottom:1px solid var(--border-color)}.feed-sections{padding-bottom:8px}.feed-section-header{display:flex;align-items:baseline;justify-content:space-between;margin:0;padding:10px 14px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-secondary)}.feed-mobile .feed-section-header{background:var(--bg-primary)}.feed-section-count{font-variant-numeric:tabular-nums;font-weight:500}.feed-list{list-style:none;margin:0;padding:0 8px}.feed-item+.feed-item{margin-top:4px}.feed-card{--card-colour: var(--severity-baseline);display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:10px;row-gap:2px;align-items:center;width:100%;padding:9px 12px 9px 10px;text-align:left;background:var(--bg-elevated);border:1px solid var(--border-color);border-left:3px solid var(--card-colour);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:background .12s,border-color .12s;content-visibility:auto;contain-intrinsic-size:auto 72px}.feed-card:hover{background:var(--bg-hover);border-color:var(--border-light);border-left-color:var(--card-colour)}.feed-card.is-selected{background:var(--bg-hover);border-color:var(--card-colour)}.feed-card:focus-visible{outline:2px solid var(--severity-watch);outline-offset:2px}.feed-card-marker{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;align-self:center}.feed-card-marker svg{width:20px;height:auto;filter:none!important}.feed-card-dot{width:10px;height:10px;border-radius:50%;background:var(--card-colour)}.feed-card-lead{grid-column:2;grid-row:1;display:flex;align-items:baseline;gap:6px;min-width:0;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden}.feed-card-severity{color:var(--card-colour);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.feed-card-status{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.feed-card-status:before{content:"·";margin-right:6px;color:var(--text-muted)}.feed-card-time{grid-column:3;grid-row:1;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:end}.feed-card-headline{grid-column:2;grid-row:2;font-size:14px;font-weight:600;line-height:1.25;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-card-distance{grid-column:3;grid-row:2;font-size:13px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:end}.feed-card-facts{grid-column:2 / -1;grid-row:3;display:flex;flex-wrap:wrap;gap:0 10px;min-width:0;font-size:12px;line-height:1.35;color:var(--text-secondary);margin-top:1px}.feed-card-fact{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.feed-card-fact+.feed-card-fact:before{content:"·";margin-right:10px;color:var(--text-muted)}.feed-card-compact{padding:8px 12px 8px 9px;min-height:56px;contain-intrinsic-size:auto 60px}.feed-card-compact .feed-card-headline{font-size:13.5px}.feed-card-compact .feed-card-facts{flex-wrap:nowrap;overflow:hidden;font-size:11.5px}.feed-empty{padding:4px 12px 12px}.feed-clear{min-height:36px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border-light);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.feed-clear:hover{background:var(--bg-hover)}@media(prefers-reduced-motion:reduce){.feed-card,.feed-chip,.feed-sort-option{transition:none}}.supporter-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.supporter-badge:hover{background:var(--bg-tertiary)}.supporter-badge:focus{outline:none;box-shadow:0 0 0 2px var(--accent-color)}.supporter-badge-icon{font-size:14px;line-height:1}.supporter-badge-text{font-size:12px}.supporter-badge-cta{border-color:#fbbf244d;color:#fbbf24}.supporter-badge-cta:hover{background:#fbbf241a;border-color:#fbbf2480}.supporter-badge-cta .supporter-badge-icon{animation:pulse-heart 2s infinite}@keyframes pulse-heart{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.supporter-badge-trial{border-color:#3b82f64d;color:#60a5fa;background:#3b82f61a}.supporter-badge-trial:hover{background:#3b82f626;border-color:#3b82f680}.supporter-badge-active{border-color:#22c55e4d;color:#22c55e;background:#22c55e1a}.supporter-badge-active:hover{background:#22c55e26;border-color:#22c55e80}.supporter-badge-ending{border-color:#f59e0b4d;color:#f59e0b;background:#f59e0b1a}.supporter-badge-ending:hover{background:#f59e0b26;border-color:#f59e0b80}.supporter-badge.compact{padding:4px 8px}.supporter-badge.compact .supporter-badge-icon{font-size:16px}.android-test-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.android-test-modal{position:relative;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-primary)}.android-test-close{position:absolute;top:10px;right:10px;min-width:var(--touch-min);min-height:var(--touch-min);border:none;background:transparent;color:var(--text-secondary);font-size:24px;line-height:1;cursor:pointer;border-radius:var(--radius-sm)}.android-test-close:hover{color:var(--text-primary);background:var(--bg-hover)}.android-test-header{padding:24px 24px 0}.android-test-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--severity-watch)}.android-test-header h2{margin:6px 0 0;font-size:1.3rem;line-height:1.25}.android-test-form,.android-test-done{display:flex;flex-direction:column;gap:8px;padding:16px 24px 24px}.android-test-intro,.android-test-done p{margin:0 0 8px;font-size:.95rem;line-height:1.5;color:var(--text-secondary)}.android-test-done-title{font-size:1.05rem;font-weight:600;color:var(--text-primary)!important}.android-test-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.android-test-optional{font-weight:400;color:var(--text-muted)}.android-test-input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:16px;font-family:inherit}.android-test-input:focus{outline:none;border-color:var(--severity-watch);box-shadow:0 0 0 3px var(--accent-glow)}.android-test-help{margin:0 0 6px;font-size:.8rem;line-height:1.45;color:var(--text-muted)}.android-test-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.android-test-row>div{display:flex;flex-direction:column;gap:6px;min-width:0}@media(max-width:480px){.android-test-row{grid-template-columns:1fr}}.android-test-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.android-test-submit{min-height:44px;padding:0 22px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer}.android-test-submit:hover:not(:disabled){filter:brightness(1.08)}.android-test-submit:disabled{opacity:.55;cursor:not-allowed}.android-test-fineprint{flex:1;min-width:180px;font-size:.75rem;line-height:1.4;color:var(--text-muted)}.broadcast-banner-action{flex:none;min-height:34px;padding:0 14px;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-pill);background:#ffffff24;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.broadcast-banner-action:hover{background:#ffffff42}.feed-outage-banner+.broadcast-banner{border-top:1px solid rgba(255,255,255,.25)}@media(max-width:600px){.feed-outage-banner+.broadcast-banner{padding:6px 12px;font-size:13px}.feed-outage-banner+.broadcast-banner .broadcast-banner-action{min-height:34px;font-size:12.5px}}@media(max-width:600px){.broadcast-banner:has(.broadcast-banner-action){flex-wrap:wrap;row-gap:8px}.broadcast-banner:has(.broadcast-banner-action) .broadcast-banner-message{flex:1 1 calc(100% - 44px)}.broadcast-banner:has(.broadcast-banner-action) .broadcast-banner-action{order:3;flex:1 1 100%;min-height:40px}}.map-legend{position:absolute;left:10px;bottom:56px;z-index:1000;max-width:min(78vw,260px);font-family:var(--font-sans, -apple-system, sans-serif);display:flex;flex-direction:column-reverse;align-items:flex-start}.map-legend-row{display:flex;align-items:center;gap:6px}.map-legend-toggle{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;background:var(--bg-secondary, rgba(17, 24, 39, .9));border:1px solid var(--border-color, #2d2d35);border-radius:8px;color:var(--text-secondary, #a0a0a8);font-size:12px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0006}.map-legend-toggle:hover{color:var(--text-primary, #f0f0f2);border-color:var(--border-light, #3a3a45)}.map-legend-toggle:focus-visible{outline:2px solid var(--severity-watch, #f97316);outline-offset:2px}.map-legend-chevron{margin-left:2px;opacity:.8}.map-legend-body{margin-bottom:6px;padding:10px 12px;max-height:44vh;overflow-y:auto;background:var(--bg-secondary, rgba(17, 24, 39, .95));border:1px solid var(--border-color, #2d2d35);border-radius:10px;box-shadow:0 4px 16px #00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-legend-section+.map-legend-section{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color, #2d2d35)}.map-legend-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #8a8a93);margin-bottom:6px}.map-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5;color:var(--text-primary, #f0f0f2)}.map-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.3)}.map-legend-hint{display:block;font-size:11px;font-style:normal;line-height:1.35;color:var(--text-secondary, #a1a1aa)}.map-legend-note{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light, rgba(255, 255, 255, .12));font-size:11px;line-height:1.4;color:var(--text-secondary, #a1a1aa)}.map-legend-item{align-items:flex-start}.map-legend-dot{margin-top:3px}.map-legend-shape{width:16px;height:15px;flex-shrink:0;margin-top:1px;overflow:visible}.map-legend-gradient{min-width:170px}.map-legend-gradient-bar{height:10px;border-radius:5px;border:1px solid rgba(0,0,0,.3)}.map-legend-gradient-labels{display:flex;justify-content:space-between;gap:12px;margin-top:3px;font-size:10px;color:var(--text-secondary, #a0a0a8)}@media(max-width:768px){.map-legend{bottom:calc(var(--mobile-bottom-sheet-handle, 64px) + env(safe-area-inset-bottom,0px) + 12px)}}.layer-toggle-row{display:flex;align-items:center;gap:2px;width:100%;border-bottom:1px solid var(--border-color, #2d2d35)}.layer-toggle-row:last-child{border-bottom:none}.layer-toggle-row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:44px;padding:8px 6px 8px 12px;background:none;border:none;cursor:pointer;text-align:left;font-size:13px;color:var(--text-primary, #f0f0f2);transition:background-color .15s}.layer-toggle-row-main:hover{background:var(--bg-hover, #2a2a32)}.layer-toggle-row-main:disabled{opacity:.5;cursor:not-allowed}.layer-toggle-row-main:focus-visible{outline:2px solid var(--severity-watch, #f97316);outline-offset:-2px;border-radius:6px}.layer-toggle-row-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--text-secondary, #a0a0a8)}.layer-toggle-row-icon svg{width:18px;height:18px}.layer-toggle-row-label{flex:1;min-width:0;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-toggle-row-count{flex-shrink:0;min-width:18px;padding:1px 6px;border-radius:9px;background:var(--bg-tertiary, #1c1c21);color:var(--text-secondary, #a0a0a8);font-size:11px;font-weight:700;text-align:center}.layer-toggle-row-switch{position:relative;width:36px;height:20px;flex-shrink:0;background:var(--bg-tertiary, #1c1c21);border:1px solid var(--border-color, #2d2d35);border-radius:10px;transition:background-color .2s}.layer-toggle-row-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.layer-toggle-row-switch.on{background:var(--severity-watch, #f97316);border-color:var(--severity-watch, #f97316)}.layer-toggle-row-switch.on:after{transform:translate(16px)}.layer-toggle-row-lock{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 8px;border-radius:9px;background:#fbbf2424;color:var(--brand-premium, #fbbf24);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.layer-toggle-row-lock-icon{font-size:11px;line-height:1}.layer-toggle-row.locked .layer-toggle-row-icon,.layer-toggle-row.locked .layer-toggle-row-label{opacity:.75}.layer-toggle-row-spinner{width:12px;height:12px;border:2px solid var(--border-color, #2d2d35);border-top-color:var(--severity-watch, #f97316);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.layer-toggle-row-settings{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text-muted, #8a8a94);cursor:pointer;flex-shrink:0;transition:color .15s,background-color .15s,transform .2s}.layer-toggle-row-settings:hover{color:var(--text-primary, #f0f0f2);background:var(--bg-hover, #2a2a32)}.layer-toggle-row-settings:focus-visible{outline:2px solid var(--severity-watch, #f97316);outline-offset:2px}.layer-toggle-row-settings.open{transform:rotate(180deg);color:var(--text-primary, #f0f0f2)}.layer-toggle-row-label.with-hint{flex-direction:column;align-items:flex-start;gap:1px;white-space:normal}.layer-toggle-row-title{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;white-space:nowrap}.layer-toggle-row-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.layer-toggle-row-hint{font-size:11px;line-height:1.3;color:var(--text-muted, #8a8a93);font-weight:400}.layer-toggle-row-supporter{display:inline-flex;flex-shrink:0;color:var(--brand-premium, #fbbf24)}.layer-presets{padding:8px 12px 10px;border-bottom:1px solid var(--border-color, #2d2d35)}.layer-presets-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, #9ca3af);margin-bottom:6px}.layer-presets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.layer-preset-tile{position:relative;display:flex;align-items:center;gap:7px;min-height:44px;padding:6px 7px;border-radius:10px;border:1px solid var(--border-color, #4b5563);background:var(--bg-tertiary, #374151);color:var(--text-secondary, #d1d5db);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.layer-preset-tile:hover{border-color:var(--text-secondary, #9ca3af);color:var(--text-primary, #f3f4f6)}.layer-preset-tile:focus-visible{outline:2px solid #f97316;outline-offset:1px}.layer-preset-tile.active{background:#f973162e;border-color:#f97316;color:var(--text-primary, #f3f4f6)}.layer-preset-icon{flex:0 0 auto;display:inline-flex;color:#f97316}.layer-preset-tile.reset .layer-preset-icon{color:var(--text-muted, #9ca3af)}.layer-preset-text{display:flex;flex-direction:column;min-width:0}.layer-preset-tile.active .layer-preset-text{padding-right:10px}.layer-preset-name{font-size:12.5px;font-weight:600;line-height:1.2;color:var(--text-primary, #f3f4f6)}.layer-preset-summary{font-size:10.5px;line-height:1.25;color:var(--text-muted, #9ca3af)}.layer-preset-check{position:absolute;top:5px;right:5px;color:#f97316}.layer-presets-applied{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:4px 4px 4px 10px;border-radius:8px;border:1px solid var(--border-color, #4b5563);background:var(--bg-secondary, #1f2937);font-size:11.5px;color:var(--text-secondary, #d1d5db)}.layer-presets-undo{border:0;background:transparent;color:#f97316;font-size:12px;font-weight:600;padding:6px 10px;min-height:32px;border-radius:6px;cursor:pointer}.layer-presets-undo:hover,.layer-presets-undo:focus-visible{background:#f9731624}.supporter-layers-card{margin:8px 12px 4px;border:1px solid rgba(249,115,22,.45);border-radius:10px;background:#f9731614}.supporter-layers-summary{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:0;color:var(--text-primary, #f3f4f6);text-align:left;cursor:pointer;min-height:44px}.supporter-layers-heart{color:#f97316;font-size:16px;flex:none}.supporter-layers-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.supporter-layers-title{font-size:13px;font-weight:600}.supporter-layers-sub{font-size:11px;color:var(--text-secondary, #a0a0a8)}.supporter-layers-chevron{flex:none;color:var(--text-secondary, #a0a0a8);transition:transform .15s ease}.supporter-layers-card.open .supporter-layers-chevron{transform:rotate(180deg)}.supporter-layers-list{list-style:none;margin:0;padding:0 12px 10px;display:flex;flex-direction:column;gap:10px}.supporter-layers-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.supporter-layers-item-name{font-size:13px;font-weight:600}.supporter-layers-item-why{font-size:12px;line-height:1.4;color:var(--text-secondary, #a0a0a8);margin-top:2px}.supporter-layers-item-usage{font-size:11px;color:var(--text-muted, #8a8a93);margin-top:2px}.layer-menu-section-flat .layer-menu-section-label{padding:8px 12px 4px;font-size:10px;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;font-weight:600}.layer-menu-section-flat .layer-menu-divider{border-top:1px solid var(--border-color);margin:4px 0 0}.layer-menu-section-collapsible .layer-menu-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:var(--bg-tertiary, #1f2937);border:none;border-top:1px solid var(--border-color, #374151);cursor:pointer;text-align:left;transition:background .2s;-webkit-user-select:none;user-select:none}.layer-menu-section-collapsible .layer-menu-section-header:hover{background:var(--bg-hover, #2d3748)}.layer-menu-section-collapsible .layer-menu-section-header:focus-visible{outline:2px solid var(--severity-watch, #f97316);outline-offset:-2px}.layer-menu-section-collapsible .layer-menu-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #9ca3af)}.layer-menu-section-collapsible .layer-menu-section-chevron{color:var(--text-muted, #6b7280);flex-shrink:0;transition:transform .2s}.layer-menu-section-collapsible.collapsed .layer-menu-section-chevron{transform:rotate(-90deg)}.layer-menu-row{display:flex;flex-direction:column}.layer-menu-section-body>.layer-menu-row:last-child .layer-toggle-row{border-bottom:none}.layer-menu-section-collapsible .layer-menu-section-body{padding:12px 20px 16px}.layer-menu-card{margin:2px 0 6px 10px;padding:6px 10px 8px;border-left:1px solid var(--border-color, #4b5563);display:flex;flex-direction:column;gap:6px}.layer-menu-card>*{min-width:0}.layer-menu-mode{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 6px}.layer-menu-mode-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, #9ca3af)}.layer-menu-mode-switch{display:inline-flex;border:1px solid var(--border-color, #4b5563);border-radius:12px;overflow:hidden}.layer-menu-mode-switch button{background:var(--bg-tertiary, #374151);color:var(--text-secondary, #d1d5db);border:0;padding:5px 12px;font-size:12px;cursor:pointer;min-height:28px}.layer-menu-mode-switch button+button{border-left:1px solid var(--border-color, #4b5563)}.layer-menu-mode-switch button.active{background:#f973162e;color:var(--text-primary, #f3f4f6);font-weight:600}.layer-menu-more{display:block;width:calc(100% - 24px);margin:6px 12px 10px;padding:9px 12px;border-radius:8px;border:1px dashed var(--border-color, #4b5563);background:none;color:var(--text-secondary, #d1d5db);font-size:12px;cursor:pointer;text-align:center}.layer-menu-more:hover{color:var(--text-primary, #f3f4f6);border-color:var(--text-secondary, #9ca3af)}.layer-menu-field-mode{padding-top:2px}.layer-menu-field-mode-hint{text-transform:none;letter-spacing:0;opacity:.8}.layer-menu-field-mode-note{margin:0 12px 8px;padding:6px 8px;border-radius:6px;background:#22c55e1a;border:1px solid rgba(34,197,94,.35);color:var(--text-secondary, #d1d5db);font-size:11px;line-height:1.4}:root{--filter-chip-label-w: 42px;--filter-chip-gap: 4px}.filter-chip-row{display:flex;align-items:center;gap:var(--filter-chip-gap);flex-wrap:wrap;--filter-chip-gutter: calc(var(--filter-chip-label-w) + var(--filter-chip-gap));padding-left:var(--filter-chip-gutter)}.filter-chip-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, #9ca3af);width:var(--filter-chip-label-w);flex-shrink:0;margin-left:calc(-1 * var(--filter-chip-gutter))}.filter-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:10px;border:1px solid var(--border-color, #4b5563);background:var(--bg-tertiary, #374151);color:var(--text-secondary, #d1d5db);cursor:pointer;line-height:1.2}.filter-chip:hover:not(:disabled){border-color:var(--text-secondary, #d1d5db)}.filter-chip:focus-visible{outline:2px solid var(--severity-watch, #f97316);outline-offset:1px}.filter-chip.active{background:#f97316;border-color:#f97316;color:#fff;font-weight:600}.filter-chip:disabled{opacity:.45;cursor:not-allowed}.filter-chip.locked{border-style:dashed;color:var(--text-muted, #9ca3af)}.filter-chip.locked svg{width:10px;height:10px}.filter-chip-note{flex:1 1 160px;min-width:0;overflow-wrap:anywhere}.hotspot-filter-chips{display:flex;flex-direction:column;gap:6px}.notification-inbox{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background:var(--bg-primary, #0a0a0a);border:1px solid var(--border-color, #333);border-radius:12px;box-shadow:0 10px 40px #00000080;overflow:hidden;z-index:10000;display:flex;flex-direction:column}.notification-inbox-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color, #333);background:var(--bg-primary, #0a0a0a)}.notification-inbox-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #fff)}.notification-inbox-mark-all{padding:6px 12px;background:transparent;border:none;border-radius:6px;color:var(--accent-color, #3b82f6);font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.notification-inbox-mark-all:hover{background:#3b82f61a}.notification-inbox-mark-all:focus{outline:none;box-shadow:0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-mark-all:focus:not(:focus-visible){box-shadow:none}.notification-inbox-mark-all:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-list{flex:1;overflow-y:auto;max-height:380px}.notification-inbox-empty{padding:40px 20px;text-align:center}.notification-inbox-empty-icon{display:block;font-size:32px;margin-bottom:12px;opacity:.5}.notification-inbox-empty p{margin:0 0 8px;font-size:14px;color:var(--text-primary, #fff)}.notification-inbox-empty-hint{font-size:12px;color:var(--text-secondary, #888);line-height:1.5}.notification-inbox-item{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-color, #333);cursor:pointer;transition:background .2s;position:relative}.notification-inbox-item:hover{background:var(--bg-tertiary, #1a1a1a)}.notification-inbox-item:focus{outline:none;background:var(--bg-tertiary, #1a1a1a);box-shadow:inset 0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-item:focus:not(:focus-visible){box-shadow:none}.notification-inbox-item:focus-visible{outline:none;background:var(--bg-tertiary, #1a1a1a);box-shadow:inset 0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-item.unread{background:#3b82f60d}.notification-inbox-item.unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-color, #3b82f6)}.notification-inbox-item:last-child{border-bottom:none}.notification-inbox-item-icon{flex-shrink:0;font-size:20px;line-height:1}.notification-inbox-item-content{flex:1;min-width:0}.notification-inbox-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.notification-inbox-item-severity{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:var(--bg-tertiary, #1a1a1a);color:var(--text-secondary, #888)}.notification-inbox-item-severity.severity-emergency{background:#ef444433;color:#f87171}.notification-inbox-item-severity.severity-watch{background:#f59e0b33;color:#fbbf24}.notification-inbox-item-severity.severity-advice{background:#3b82f633;color:#60a5fa}.notification-inbox-item-time{font-size:11px;color:var(--text-secondary, #888);margin-left:auto}.notification-inbox-item-title{margin:0 0 4px;font-size:13px;font-weight:500;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-inbox-item-body{margin:0 0 4px;font-size:12px;color:var(--text-secondary, #888);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-inbox-item-zone{margin:0;font-size:11px;color:var(--text-muted, #666)}.notification-inbox-item-dismiss{flex-shrink:0;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-secondary, #888);cursor:pointer;opacity:0;transition:all .2s;display:flex;align-items:center;justify-content:center}.notification-inbox-item:hover .notification-inbox-item-dismiss{opacity:1}@media(hover:none){.notification-inbox-item-dismiss{opacity:1;width:var(--touch-min, 44px);height:var(--touch-min, 44px)}}.notification-inbox-item-dismiss:hover{background:var(--bg-hover, #333);color:var(--text-primary, #fff)}.notification-inbox-item-dismiss:focus{outline:none;opacity:1;box-shadow:0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-item-dismiss:focus:not(:focus-visible){box-shadow:none;opacity:0}.notification-inbox-item-dismiss:focus-visible{outline:none;opacity:1;box-shadow:0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-item-dismiss svg{width:14px;height:14px}.notification-inbox-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;font-size:12px;color:var(--text-secondary, #888)}.notification-inbox-load-more{display:block;width:100%;padding:12px;background:transparent;border:none;color:var(--accent-color, #3b82f6);font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.notification-inbox-load-more:hover{background:#3b82f61a}.notification-inbox-load-more:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-load-more:focus:not(:focus-visible){box-shadow:none}.notification-inbox-load-more:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border-color, #333);background:var(--bg-primary, #0a0a0a)}.notification-inbox-count{font-size:11px;color:var(--text-secondary, #888)}.notification-inbox-view-all{display:flex;align-items:center;gap:4px;padding:6px 10px;background:transparent;border:none;color:var(--accent-color, #3b82f6);font-size:12px;font-weight:500;cursor:pointer;border-radius:6px;transition:background .2s}.notification-inbox-view-all:hover{background:#3b82f61a}.notification-inbox-view-all:focus{outline:none;box-shadow:0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-view-all:focus:not(:focus-visible){box-shadow:none}.notification-inbox-view-all:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-color, #3b82f6)}.notification-inbox-view-all svg{flex-shrink:0}@media(max-width:480px){.notification-inbox{position:fixed;top:60px;right:8px;left:8px;width:auto;max-height:calc(100dvh - 80px)}}.notification-badge-container{position:relative}.notification-badge-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border-color, #333);border-radius:8px;color:var(--text-secondary, #888);cursor:pointer;transition:all .2s;position:relative}.notification-badge-btn:hover{background:var(--bg-tertiary, #1a1a1a);border-color:var(--border-hover, #444);color:var(--text-primary, #fff)}.notification-badge-btn.active{background:var(--bg-tertiary, #1a1a1a);border-color:var(--accent-color, #3b82f6);color:var(--accent-color, #3b82f6)}.notification-badge-btn:focus{outline:none;box-shadow:0 0 0 2px var(--bg-primary, #0a0a0a),0 0 0 4px var(--accent-color, #3b82f6)}.notification-badge-btn:focus:not(:focus-visible){box-shadow:none}.notification-badge-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-primary, #0a0a0a),0 0 0 4px var(--accent-color, #3b82f6)}.notification-badge-icon{width:18px;height:18px}.notification-badge-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:#ef4444;border-radius:9px;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center;box-shadow:0 2px 4px #0000004d}@keyframes notification-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-badge-count.pulse{animation:notification-pulse .3s ease-in-out}@media(max-width:768px){.notification-badge-btn{width:44px;height:44px}}@media(max-width:480px){.notification-badge-count{top:2px;right:2px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}*,*:before,*:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:root{--severity-emergency: #dc2626;--severity-emergency-bg: rgba(220, 38, 38, .12);--severity-watch: #f97316;--severity-watch-bg: rgba(249, 115, 22, .12);--severity-advice: #fbbf24;--severity-advice-bg: rgba(251, 191, 36, .12);--severity-baseline: #9ca3af;--health-primary: #8b5cf6;--health-primary-dark: #6d28d9;--health-light: #a78bfa;--health-text: #e9d5ff;--health-danger: #f87171;--color-fire-red: var(--severity-emergency);--color-fire-orange: var(--severity-watch);--color-warning-yellow: var(--severity-advice);--color-safe-blue: #3b82f6;--radio-count-fg: #7fb2fb;--radio-count-bg: rgba(59, 130, 246, .2);--toast-success: #22c55e;--toast-error: var(--severity-emergency);--toast-warning: var(--severity-watch);--toast-info: var(--color-safe-blue);--brand-premium: #d4af37;--color-gray-50: #0a0a0b;--color-gray-100: #111214;--color-gray-200: #1a1b1e;--color-gray-300: #252629;--color-gray-400: #3f4147;--color-gray-500: #6b7280;--color-gray-600: #9ca3af;--color-gray-700: #d1d5db;--color-gray-800: #e5e7eb;--color-gray-900: #f3f4f6;--bg-primary: #0d0d0f;--bg-secondary: #151518;--bg-tertiary: #1c1c21;--bg-elevated: #222228;--bg-hover: #2a2a32;--text-primary: #f0f0f2;--text-secondary: #a0a0a8;--text-muted: #8a8a93;--border-color: #2d2d35;--border-light: #3a3a45;--accent-glow: rgba(249, 115, 22, .15);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--header-height: 56px;--sidebar-width: 450px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--app-header-height: 132px;--mobile-bottom-sheet-handle: 64px;--mobile-active-overlay-height: 0px;--map3d-fab-bottom: calc(var(--mobile-active-overlay-height) + var(--mobile-bottom-sheet-handle) + var(--safe-bottom) + 16px);--map3d-top-chrome-offset: calc(var(--safe-top) + 8px);--map3d-z-canvas: 1;--map3d-z-overlay: 100;--map3d-z-floating-panel: 1000;--map3d-z-modal: 1100;--map3d-z-portal: 10000;--z-overlay: 700;--z-panel: 1000;--z-banner: 9000;--z-modal: 10000;--z-modal-3d: 100000;--z-toast: 100010;--touch-min: 44px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px}:root{color-scheme:dark}:root[data-theme=light]{color-scheme:light;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--bg-primary: #f4f5f7;--bg-secondary: #ffffff;--bg-tertiary: #eef0f3;--bg-elevated: #ffffff;--radio-count-fg: #1d4ed8;--radio-count-bg: rgba(59, 130, 246, .14);--bg-hover: #e6e8ec;--text-primary: #17181b;--text-secondary: #4a4f57;--text-muted: #6a7078;--border-color: #dfe2e7;--border-light: #c9ced6;--accent-glow: rgba(249, 115, 22, .18);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 6px -1px rgba(16, 24, 40, .1), 0 2px 4px -2px rgba(16, 24, 40, .06);--shadow-lg: 0 12px 20px -6px rgba(16, 24, 40, .15), 0 4px 8px -4px rgba(16, 24, 40, .08)}.theme-toggle{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.theme-toggle-option{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.theme-toggle-option:hover{color:var(--text-primary)}.theme-toggle-option.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.theme-toggle-option.active .theme-toggle-icon{color:var(--severity-watch)}.theme-toggle-icon{display:inline-flex;align-items:center}.touch-target{min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center}.focus-ring:focus-visible{outline:2px solid var(--severity-watch);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=menuitem]:focus-visible,[tabindex="0"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--severity-watch);outline-offset:2px}.skeleton{display:block;background:linear-gradient(90deg,#1c1c21,#2a2a32,#1c1c21);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-fire-card-list{display:flex;flex-direction:column;gap:8px;padding:12px 16px}.skeleton-fire-card{display:flex;align-items:stretch;gap:12px;padding:12px;background:var(--bg-elevated);border-radius:8px;border:1px solid var(--border-color)}.skeleton-fire-card-bar{width:4px;background:var(--border-color);border-radius:2px}.skeleton-fire-card-body{flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 24px;color:var(--text-muted)}.empty-state-compact{padding:24px 16px}.empty-state-icon{font-size:40px;line-height:1;margin-bottom:12px;opacity:.7}.empty-state-compact .empty-state-icon{font-size:24px;margin-bottom:6px}.empty-state-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.empty-state-compact .empty-state-title{font-size:14px}.empty-state-hint{font-size:13px;color:var(--text-muted);max-width:32ch;line-height:1.5}.empty-state-action{margin-top:16px}.onboarding-pill{display:inline-flex;align-items:center;background:var(--severity-watch-bg, rgba(249, 115, 22, .12));border:1px solid var(--severity-watch, #f97316);border-radius:999px;padding:0;height:32px;margin-right:8px}.onboarding-pill-btn{background:transparent;border:none;color:var(--severity-watch, #f97316);font-size:13px;font-weight:600;padding:0 12px;height:100%;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.onboarding-pill-btn:hover{background:#f973160f}.onboarding-pill-icon{display:inline-flex;font-size:15px;line-height:1}.onboarding-pill-dismiss{background:transparent;border:none;border-left:1px solid rgba(249,115,22,.4);color:var(--text-muted);cursor:pointer;width:28px;height:100%;font-size:16px;line-height:1}.onboarding-pill-dismiss:hover{color:var(--text-primary);background:#f973160f}@media(max-width:600px){.onboarding-pill{margin-right:4px;height:var(--touch-min);width:var(--touch-min);border-radius:50%;overflow:hidden}.onboarding-pill-btn{padding:0;width:100%;height:100%;justify-content:center}.onboarding-pill-text,.onboarding-pill-dismiss{display:none}}.layer-info-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:4px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color .15s,background-color .15s}.layer-info-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.layer-info-btn:focus-visible{outline:2px solid var(--severity-watch);outline-offset:2px}.layer-info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:10003;display:flex;align-items:center;justify-content:center;padding:16px;animation:layer-info-fade-in .15s ease-out}@keyframes layer-info-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.layer-info-modal-overlay{animation:none}}.layer-info-modal{width:100%;max-width:480px;max-height:85vh;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;overflow:hidden}.layer-info-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-elevated);flex-shrink:0}.layer-info-modal-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.layer-info-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:4px 10px;border-radius:6px;min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center}.layer-info-modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.layer-info-modal-body{padding:16px;overflow-y:auto;flex:1}.layer-info-text{margin:0 0 12px;color:var(--text-primary);font-size:14px;line-height:1.55}.layer-info-section{margin:16px 0 0}.layer-info-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px}.layer-info-section.layer-info-caveat .layer-info-section-label{color:var(--severity-watch)}.layer-info-meta{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}.layer-info-meta-label{color:var(--text-secondary);font-weight:600}body{margin:0;padding:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain}*{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:#4b5563}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background:var(--bg-secondary);color:var(--text-primary);flex-shrink:0;padding-top:env(safe-area-inset-top,0px);z-index:1110;display:flex;flex-direction:column;overflow:visible;position:relative;border-bottom:1px solid var(--border-color)}.app-header-top{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-color)}@media(min-width:769px){.app-header{flex-direction:row;align-items:center;padding:var(--space-2) var(--space-4);gap:var(--space-3)}.app-header-top{display:contents;border-bottom:none;padding:0}.app-title{order:1;flex-shrink:0}.header-controls{order:2;flex:1;justify-content:center;padding:0;border-top:none}.app-header-meta{order:3;flex-shrink:0}}.app-title{font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:var(--space-2)}.app-title-logo{height:32px;width:auto}.app-header-meta{display:flex;align-items:center;gap:var(--space-3)}.last-updated{font-size:.75rem;color:var(--text-muted)}.refresh-button{width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary);font-size:1.1rem;cursor:pointer;transition:background .15s,border-color .15s}.refresh-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.header-controls{display:flex;align-items:center;gap:8px;padding:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:center;background:var(--bg-secondary)}.header-control-btn{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s;white-space:nowrap;box-shadow:0 2px 8px #0000004d}a.header-control-btn{text-decoration:none}.header-control-btn:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0006;border-color:var(--border-light)}.header-control-btn:active{transform:translateY(0)}.header-control-btn.active{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.header-control-btn.active:hover{background:var(--bg-hover)}.header-control-btn-icon{width:18px;height:18px;flex-shrink:0}.header-control-btn-label{flex:1}.header-control-btn-watchzone{position:relative;border-color:#22c55e80;color:#22c55e}.header-control-btn-watchzone:hover{background:#22c55e1f;border-color:#22c55e}.header-control-btn-watchzone .header-control-btn-icon{color:#22c55e}.header-control-btn-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:#22c55e;color:#04120a;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 1px 4px #0006}.header-control-btn-with-badge{position:relative}.header-back-to-2d{background:var(--color-safe-blue);border-color:var(--color-safe-blue);color:#fff}.header-back-to-2d:hover{background:#2563eb;border-color:#2563eb}.header-control-dropdown{position:relative}.header-control-dropdown-arrow{font-size:10px;margin-left:2px;opacity:.7}.header-control-dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #00000080;min-width:220px;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:9999}.header-control-dropdown-header{padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:11px;color:var(--text-muted);font-weight:500}.header-control-dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--text-primary);text-decoration:none;font-size:13px;border-bottom:1px solid var(--border-color);transition:background-color .15s}.header-control-dropdown-item:hover{background:var(--bg-hover)}.header-control-dropdown-external{margin-left:auto;font-size:10px;color:var(--text-muted)}.header-control-dropdown-footer{padding:8px 12px;background:#f9731626;font-size:10px;color:var(--color-fire-orange);border-top:1px solid rgba(249,115,22,.3)}.layers-menu{min-width:240px;max-width:calc(100vw - 16px);box-sizing:border-box}.layers-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;text-align:left;font-size:13px;color:var(--text-primary);transition:background-color .15s}.layers-menu-item:hover{background:var(--bg-hover)}.layers-menu-item.active{background:#f9731626}.layers-menu-item:last-child{border-bottom:none}.layers-menu-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.layers-menu-icon svg{width:18px;height:18px;color:var(--text-secondary)}.layers-menu-icon.hotspot-icon svg{color:#f97316}.layers-menu-icon.power-icon svg{color:#eab308}.layers-menu-icon.smoke-icon svg{color:#9ca3af}.layers-menu-label{flex:1;white-space:nowrap}.layers-menu-toggle{width:36px;height:20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;position:relative;transition:background-color .2s;flex-shrink:0}.layers-menu-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.layers-menu-toggle.on{background:#f97316}.layers-menu-toggle.on:after{transform:translate(16px)}.app-main{display:flex;flex:1;overflow:hidden}.map-wrapper{flex:1;position:relative}.map-3d-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg-primary);color:var(--text-secondary);font-size:14px}.map-3d-loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--color-safe-blue);border-radius:50%;animation:spin 1s linear infinite}.map-3d-error-fallback{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg-primary);color:var(--text-primary)}.map-3d-error-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px;padding:24px}.map-3d-error-content svg{color:var(--color-warning);margin-bottom:16px}.map-3d-error-content h3{font-size:20px;font-weight:600;margin:0 0 12px}.map-3d-error-content p{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 20px}@keyframes location-search-spin{to{transform:rotate(360deg)}}.offline-banner{position:relative;flex-shrink:0;z-index:var(--z-banner);display:flex;align-items:center;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:linear-gradient(90deg,#7f1d1d,#b91c1c,#7f1d1d);color:#fff;box-shadow:0 4px 16px #0009;border-bottom:3px solid #ef4444;pointer-events:auto;overflow:hidden}.offline-banner-icon{flex-shrink:0;filter:drop-shadow(0 0 4px rgba(239,68,68,.6))}.offline-banner-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.offline-banner-title{font-size:.95rem;font-weight:800;letter-spacing:.3px;line-height:1.25;text-transform:uppercase}.offline-banner-sub{font-size:.78rem;line-height:1.35;color:#fecaca;font-weight:500}.offline-banner-pulse{position:absolute;bottom:-3px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.85) 50%,transparent 100%);animation:offline-banner-sweep 2.5s ease-in-out infinite}@keyframes offline-banner-sweep{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.offline-banner-pulse{animation:none;opacity:.6}}@media(max-width:480px){.offline-banner-title{font-size:.88rem}.offline-banner-sub{font-size:.72rem}}.map-3d-error-btn{background:var(--color-safe-blue);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.map-3d-error-btn:hover{background:var(--color-safe-blue-hover)}.map-search-overlay{position:absolute;top:12px;left:60px;right:auto;z-index:1000;width:320px;max-width:calc(100% - 80px)}.map-search-overlay .location-search{margin-bottom:0!important}.map-search-overlay .form-input{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 4px 12px #0006;border:1px solid var(--border-color);padding:12px 40px 12px 16px!important;font-size:15px!important;border-radius:8px!important}.map-search-overlay .form-input::placeholder{color:var(--text-muted)}.map-search-overlay .form-input:focus{box-shadow:0 4px 16px #00000080;outline:2px solid var(--color-fire-orange);border-color:var(--color-fire-orange)}.mobile-sheet-handle{display:none}.map-container{width:100%;height:100%}.zone-center-marker{background:transparent;border:none}.user-location-marker{background:transparent!important;border:none!important}.user-location-dot{width:14px;height:14px;background:#4285f4;border:2.5px solid #fff;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #0000004d;z-index:2}.user-location-pulse{width:24px;height:24px;background:#4285f440;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:user-location-pulse 2s ease-out infinite;z-index:1}@keyframes user-location-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}@media(prefers-reduced-motion:reduce){.user-location-pulse{animation:none;display:none}}.map-container.editing-zone{cursor:crosshair}.leaflet-container{font-family:var(--font-sans);background:#0b1220}.leaflet-bar{border:none!important;box-shadow:0 4px 12px #0006!important}.leaflet-bar a{background-color:var(--bg-elevated)!important;color:var(--text-primary)!important;border-bottom:1px solid var(--border-color)!important}.leaflet-bar a:hover{background-color:var(--bg-hover)!important}@media(pointer:coarse){.leaflet-bar a{width:var(--touch-min)!important;height:var(--touch-min)!important;line-height:var(--touch-min)!important;font-size:20px!important}}.leaflet-bar a:first-child{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.leaflet-bar a:last-child{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important;border-bottom:none!important}.leaflet-control-attribution{background:#0d0d0fcc!important;color:var(--text-muted)!important}.leaflet-control-attribution a{color:var(--text-secondary)!important}.leaflet-popup-pane{z-index:700!important}.leaflet-popup{z-index:701!important}.custom-event-marker{background:none;border:none}@media(pointer:coarse){.custom-event-marker:before,.power-outage-marker:before,.hotspot-pulse-container:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}}path.watch-zone-shape,path.leaflet-interactive.watch-zone-shape{pointer-events:none!important}.watch-zone-badge-container{background:transparent!important;border:none!important}.watch-zone-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#22c55e;color:#fff;border:2px solid rgba(255,255,255,.95);box-shadow:0 2px 6px #00000073;cursor:pointer;transition:transform .12s ease}.watch-zone-badge:hover{transform:scale(1.12)}.watch-zone-badge.disabled{background:#6b7280}.map-control-stack{position:absolute;bottom:100px;right:10px;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:8px}.map-control-stack .map-control-btn{width:44px;height:44px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);box-shadow:0 4px 12px #0006;transition:background-color .2s,transform .2s}.map-control-stack .map-control-btn:hover{background:var(--bg-hover)}.map-control-stack .map-control-btn:active{transform:scale(.95)}.map-control-stack .map-control-btn.expanded{background:var(--bg-hover);border-color:var(--text-muted)}.map-control-stack .map-control-btn:disabled{cursor:wait;opacity:.7}.map-control-stack .map-control-btn svg{width:22px;height:22px}.map-control-spinner{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--color-fire-orange);border-radius:50%;animation:spin .8s linear infinite}.map-layer-options{position:absolute;bottom:100%;right:0;margin-bottom:8px;display:flex;flex-direction:column;gap:4px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:12px;padding:8px;box-shadow:0 8px 24px #00000080;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.map-layer-option{display:flex;align-items:center;gap:10px;padding:10px 14px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--text-primary);transition:background-color .15s;min-width:140px}.map-layer-option:hover{background:var(--bg-hover)}.map-layer-option.active{background:#f9731633;color:var(--color-fire-orange)}.map-layer-option svg{width:22px;height:22px;flex-shrink:0}.map-layer-label{font-size:14px;font-weight:500;white-space:nowrap}@media(max-width:768px){.map-control-stack{bottom:calc(120px + env(safe-area-inset-bottom,0px))}}.map-control-stack.timeline-open{bottom:200px}@media(max-width:768px){.map-control-stack.timeline-open{bottom:calc(220px + env(safe-area-inset-bottom,0px))}}.map-controls{position:absolute;top:12px;right:12px;z-index:1000;display:flex;flex-direction:column;gap:6px}.map-control-btn{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap}.map-control-btn:hover{box-shadow:0 4px 6px #00000026}.map-control-btn.active{color:#fff}.map-control-btn.active-green{background:#10b981}.map-control-btn.active-blue{background:#2563eb}.map-control-btn.active-purple{background:#7c3aed}.map-control-btn.active-red{background:#dc2626}.map-control-btn-icon{font-size:14px;flex-shrink:0}.map-control-btn-label{flex:1}.map-control-btn-small{padding:8px 10px;flex:0}.map-control-dropdown{position:relative}.map-control-dropdown-arrow{font-size:10px;margin-left:auto;opacity:.7}.map-control-dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid var(--color-gray-200);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:220px;z-index:1001;overflow:hidden}.map-control-dropdown-header{padding:8px 12px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);font-size:11px;color:var(--color-gray-500);font-weight:500}.map-control-dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--color-gray-800);text-decoration:none;font-size:13px;border-bottom:1px solid var(--color-gray-100);transition:background-color .15s}.map-control-dropdown-item:hover{background:var(--color-gray-100)}.map-control-dropdown-external{margin-left:auto;font-size:10px;color:var(--color-gray-400)}.map-control-dropdown-footer{padding:8px 12px;background:#fbbf2426;font-size:10px;color:#fbbf24;border-top:1px solid rgba(251,191,36,.3)}.map-controls-row{display:flex;gap:4px}.map-controls-row .map-control-btn{flex:1}.map-controls-row .map-control-btn-small{flex:0}@media(max-width:768px){.map-controls{top:8px;right:8px;gap:4px}.map-control-btn{padding:10px;min-width:44px;min-height:44px;justify-content:center;border-radius:8px}.map-control-btn-label{display:none}.map-control-btn-icon{font-size:18px}.map-control-dropdown-arrow{display:none}.map-control-dropdown-menu{min-width:200px;right:0}.map-control-dropdown-item{padding:12px;min-height:44px}.map-controls-row{display:flex;flex-direction:row;gap:4px}.map-controls-row .map-control-btn{flex:0;min-width:44px}.map-control-secondary{display:none}}@media(max-width:380px){.map-controls{top:4px;right:4px}.map-control-btn{padding:8px;min-width:40px;min-height:40px}.map-control-btn-icon{font-size:16px}}.leaflet-popup-content{margin:0!important;padding:0!important;width:auto!important}.leaflet-popup-content-wrapper{padding:0!important;border-radius:8px!important;overflow:hidden;background:var(--bg-elevated)!important;color:var(--text-primary)!important;box-shadow:0 8px 24px #00000080!important}.leaflet-popup-tip{background:var(--bg-elevated)!important}.leaflet-popup .leaflet-popup-close-button,.leaflet-popup-content-wrapper+.leaflet-popup-close-button,a.leaflet-popup-close-button{color:#fff!important;font-size:18px!important;font-weight:700!important;width:26px!important;height:26px!important;padding:0!important;top:8px!important;right:8px!important;background:#0009!important;border-radius:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;transition:background .2s!important;z-index:100!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.3)!important}.leaflet-popup .leaflet-popup-close-button:hover,.leaflet-popup-content-wrapper+.leaflet-popup-close-button:hover,a.leaflet-popup-close-button:hover{color:#fff!important;background:#000c!important;border-color:#ffffff80!important}.event-popup{min-width:240px;max-width:300px;box-sizing:border-box}.event-popup>div{box-sizing:border-box}@media(min-width:769px){.fire-event-popup .leaflet-popup-content{width:380px!important}.fire-event-popup .event-popup{min-width:380px;max-width:380px}}@media(max-width:768px){.leaflet-popup-content-wrapper{max-height:calc(100vh - 200px)!important;overflow-y:auto!important;overflow-x:hidden!important}.leaflet-popup .leaflet-popup-close-button,a.leaflet-popup-close-button{width:var(--touch-min)!important;height:var(--touch-min)!important;font-size:22px!important}.leaflet-popup-content{width:calc(100vw - 80px)!important;min-width:280px!important;max-width:400px!important}.event-popup{width:100%!important;min-width:unset!important;max-width:unset!important;max-height:calc(100vh - 220px);overflow-y:auto;box-sizing:border-box}.event-popup>div{width:100%!important;box-sizing:border-box!important}}@media(max-width:480px){.leaflet-popup-content-wrapper{max-height:calc(100vh - 140px)!important}.leaflet-popup-content{width:calc(100vw - 40px)!important;min-width:unset!important;max-width:unset!important}.event-popup{width:100%!important;min-width:unset!important;max-width:unset!important;max-height:calc(100vh - 160px)}.event-popup>div{width:100%!important}}.photo-popup .leaflet-popup-content{width:300px!important;min-width:280px!important;padding:12px!important}.photo-popup .leaflet-popup-content-wrapper{padding:0!important}.photo-popup-content{width:100%}.hotspot-popup-wrapper .leaflet-popup-content{padding:0!important;margin:0!important;width:auto!important}.hotspot-popup-wrapper .leaflet-popup-content-wrapper{padding:0!important;overflow:hidden;border-radius:8px!important}.hotspot-popup{min-width:240px;max-width:300px}.event-popup-header{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--text-muted);margin-bottom:var(--space-1)}.event-popup-title{font-size:1rem;font-weight:600;margin:0 0 var(--space-2) 0;color:var(--text-primary)}.event-popup-description{font-size:.875rem;color:var(--text-secondary);margin:0 0 var(--space-2) 0}.event-popup-meta{display:flex;gap:var(--space-3);font-size:.75rem;color:var(--text-muted)}.event-popup-details{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-1);font-size:.75rem;color:var(--text-primary)}.sidebar-wrapper{flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border-color);overflow:hidden;position:relative}.landscape-rail-toggle{display:none}.sidebar{flex:1;background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.sidebar-scroll-content{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-section{border-bottom:1px solid var(--border-color)}.sidebar-section.events-section{border-bottom:none}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);font-weight:600;font-size:.875rem;color:var(--text-primary);background:var(--bg-tertiary);border:none;width:100%;cursor:pointer;text-align:left}.sidebar-section-header:hover{background:var(--bg-hover)}.sidebar-toggle{font-size:1.25rem;line-height:1}.sidebar-section-content{padding:var(--space-4)}.sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color);display:flex;justify-content:center;flex-shrink:0}.events-list-container{padding:0}.form-group{margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-1)}.form-select{width:100%;padding:var(--space-2) var(--space-3);font-size:.875rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.form-select:focus{outline:none;border-color:var(--color-fire-orange);box-shadow:0 0 0 2px #f9731633}.form-range{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:3px;cursor:pointer}.form-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--color-fire-orange);border-radius:50%;cursor:pointer}.form-range::-moz-range-thumb{width:18px;height:18px;background:var(--color-fire-orange);border:none;border-radius:50%;cursor:pointer}.watch-zone-panel{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:var(--space-3);margin-top:var(--space-2)}.watch-zone-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.watch-zone-header label{margin-bottom:0}.watch-zone-toggle{padding:var(--space-1) var(--space-2);font-size:.7rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;background:var(--bg-elevated);color:var(--text-secondary);transition:all .15s ease}.watch-zone-toggle.active{background:var(--color-fire-orange);color:#fff}.watch-zone-toggle:hover{opacity:.9}.watch-zone-status{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-color)}.watch-zone-count{display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;color:var(--text-secondary)}.watch-zone-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.watch-zone-indicator.clear{background:#22c55e}.watch-zone-indicator.has-fires{background:var(--color-fire-orange);animation:pulse-fire 2s ease-in-out infinite}@keyframes pulse-fire{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.watch-zone-notifications{margin-top:var(--space-2);font-size:.75rem}.notification-status{display:inline-flex;align-items:center;gap:var(--space-1)}.notification-status.granted{color:#22c55e}.notification-status.denied{color:var(--color-fire-red)}.notification-status.unsupported{color:var(--color-gray-500)}.notification-request-btn{padding:var(--space-1) var(--space-2);font-size:.75rem;background:var(--color-safe-blue);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .15s ease}.notification-request-btn:hover{background:#1d4ed8}.sidebar-status{padding:var(--space-3) var(--space-4);font-size:.875rem;display:flex;align-items:center;gap:var(--space-2)}.sidebar-status.loading{color:var(--text-secondary);background:var(--bg-tertiary)}.sidebar-status.error{color:var(--color-fire-red);background:#ef444426}.loading-spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--color-fire-orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px}.app{height:100dvh;height:100vh;min-height:-webkit-fill-available}.app-main{flex-direction:column;overflow:hidden}.map-wrapper{flex:1;min-height:50vh;min-height:50dvh;position:relative}.map-search-overlay{left:72px;width:auto;right:12px;max-width:none}.map-search-overlay .form-input{padding:10px 36px 10px 12px!important;font-size:16px!important}.app-main .map-wrapper{flex:1;height:100%}.mobile-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1099;background:#00000059;animation:mobile-sheet-scrim-fade .2s ease-out}@keyframes mobile-sheet-scrim-fade{0%{opacity:0}to{opacity:1}}.sidebar-wrapper{position:fixed!important;bottom:0;left:0;right:0;width:100%!important;height:min(85dvh - var(--safe-top),100dvh - var(--app-header-height));max-height:none!important;z-index:1100;background:var(--bg-secondary)!important;border-left:none;border-top:none;border-radius:16px 16px 0 0;box-shadow:0 -10px 28px #0000008c;overflow:hidden;display:flex!important;flex-direction:column;transform:translateY(calc(100% - 64px));transition:transform .35s cubic-bezier(.32,.72,0,1);touch-action:pan-y;overscroll-behavior-y:contain}.sidebar-wrapper.sheet-half{transform:translateY(35dvh)}.sidebar-wrapper.sheet-expanded{transform:translateY(0)}.sidebar-wrapper.sheet-half .mobile-sidebar{max-height:calc(min(85dvh - var(--safe-top),100dvh - var(--app-header-height)) - 35dvh - 64px)}.sidebar-wrapper:after{content:"";display:block;height:env(safe-area-inset-bottom,0px);flex-shrink:0}.sidebar-wrapper .sidebar{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-sheet-handle{position:relative;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:12px 18px 14px;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;flex-shrink:0;background:linear-gradient(180deg,#ffffff0a,#fff0 60%),var(--bg-elevated);border-top:2px solid var(--color-fire-orange, #f97316);border-radius:16px 16px 0 0;z-index:1100;min-height:64px;box-sizing:border-box;color:var(--text-primary);box-shadow:0 -8px 24px #0006,0 -2px #f9731666;transition:filter .15s ease,background .25s ease}.sidebar-wrapper.sheet-expanded .mobile-sheet-handle{background:var(--bg-elevated);box-shadow:none;border-bottom:1px solid var(--border-color)}.mobile-sheet-handle:active{filter:brightness(1.08)}.mobile-sheet-handle.has-emergency{border-top-color:#dc2626;box-shadow:0 -8px 28px #dc262640,0 -2px #dc26268c}.mobile-sheet-pill{position:absolute;top:6px;left:50%;transform:translate(-50%);width:40px;height:4px;background:var(--border-light);border-radius:2px;transition:background .2s,width .2s;pointer-events:none}.mobile-sheet-handle:active .mobile-sheet-pill{background:var(--text-muted);width:56px}.mobile-sheet-chevron{grid-column:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#f9731624;color:var(--color-fire-orange, #f97316);border:1px solid rgba(249,115,22,.3)}.mobile-sheet-handle.has-emergency .mobile-sheet-chevron{background:#dc26262e;color:#fca5a5;border-color:#dc262666}.mobile-sheet-label{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.15}.mobile-sheet-badges{grid-column:3;display:inline-flex;align-items:center;gap:6px}.mobile-sheet-pill-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#fff;line-height:1;white-space:nowrap;box-shadow:0 2px 8px #00000059}.mobile-sheet-pill-emergency{background:linear-gradient(135deg,#ef4444,#b91c1c)}.mobile-sheet-pill-watch{background:linear-gradient(135deg,#fb923c,#ea580c)}.mobile-sheet-total{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:.1px}.mobile-sheet-subtitle{font-size:11.5px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.mobile-sheet-total-empty{font-size:14px;color:var(--text-muted);font-weight:500}.mobile-sheet-line1{display:flex;align-items:baseline;gap:6px;min-width:0}.mobile-sheet-line1 .mobile-sheet-total{flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-sheet-freshness{flex-shrink:0;font-size:12px;color:var(--text-muted);font-weight:500;white-space:nowrap}.mobile-sheet-pill-badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:11px;font-size:10.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#fff;line-height:1;white-space:nowrap}.mobile-sheet-pill-emergency{background:#dc2626}.mobile-sheet-pill-watch{background:#f97316}.mobile-sheet-total{color:var(--text-primary);font-weight:700;letter-spacing:.1px}.mobile-sheet-total-empty{color:var(--text-muted);font-weight:500}.mobile-sheet-pill-badge.is-pulsing{animation:sheet-emergency-pulse 1.6s ease-in-out infinite}@keyframes sheet-emergency-pulse{0%,to{box-shadow:0 0 #dc2626a6}50%{box-shadow:0 0 0 6px #dc262600}}@media(prefers-reduced-motion:reduce){.mobile-sheet-pill-badge.is-pulsing{animation:none}}.app-main.mobile-map-view .sidebar-wrapper,.app-main.mobile-list-view .sidebar-wrapper{display:flex!important}.fire-detail-panel{top:56px!important}.app-main.mobile-map-view .map-wrapper,.app-main.mobile-list-view .map-wrapper{flex:1;height:100%;visibility:visible!important;position:relative!important;pointer-events:auto!important;touch-action:auto!important;z-index:auto!important}.sidebar-resize-handle{display:none!important}.app-header{height:auto;min-height:48px;padding:var(--space-2) 0 0;justify-content:center}.app-header-content{padding:0 var(--space-3)}.app-title{font-size:1.15rem;gap:var(--space-1)}.app-title-logo{height:36px}.last-updated{display:none}.app-header-top{padding:var(--space-1) var(--space-2)}.header-controls{gap:6px;padding:var(--space-2);justify-content:center}.header-control-btn-desktop-only{display:none}.header-control-btn{padding:10px 12px;min-width:44px;min-height:44px;justify-content:center;border-radius:8px}.refresh-button{width:44px;height:44px;font-size:1.2rem}.user-menu-button.authenticated{width:44px;height:44px}.header-control-btn-label{display:inline;font-size:.75rem}.header-control-btn-icononly-mobile{padding:10px}.header-control-btn-icononly-mobile .header-control-btn-label{display:none}.header-control-btn-icon{width:20px;height:20px}.header-control-dropdown-menu{position:fixed;left:8px;right:8px;top:auto;width:auto;transform:none;min-width:220px;max-width:none;max-height:calc(100vh - 200px - env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 8px 24px #00000080,inset 0 -14px 12px -10px #0000008c}.header-control-dropdown-menu-end{left:auto;right:0}.header-control-dropdown-item{padding:12px;min-height:44px}.sidebar-section-header{padding:var(--space-2) var(--space-3);font-size:.8rem}.sidebar-section-content{padding:var(--space-3)}.form-select{font-size:16px;padding:var(--space-3);min-height:44px}.event-popup{max-width:260px;font-size:.85rem}.event-popup-title{font-size:.95rem}}@media(max-width:480px){.app-title{font-size:.85rem}.form-group{margin-bottom:var(--space-2)}.header-controls{gap:4px;padding:var(--space-1)}.header-control-btn{padding:8px 10px;min-width:40px;min-height:40px}.header-control-btn-icon{width:18px;height:18px}}@media(orientation:landscape)and (max-height:500px){:root{--mobile-bottom-sheet-handle: 0px}.app-header{flex-direction:row!important;align-items:center;padding:4px var(--space-3)!important;min-height:0;gap:var(--space-2)}.app-header-top{display:contents!important;border-bottom:none!important;padding:0!important}.app-header-content{padding:0!important}.app-title{order:1;font-size:.95rem!important;flex-shrink:0}.app-title-logo{height:28px!important}.header-controls{order:2;flex:1;justify-content:center;gap:4px;padding:0!important;border-top:none!important;flex-wrap:nowrap!important}.app-header-meta{order:3;flex-shrink:0}.header-control-btn{padding:8px!important;min-width:36px!important;min-height:36px!important}.header-control-btn-label,.last-updated{display:none!important}.onboarding-pill{margin-right:4px;height:36px;width:36px;border-radius:50%!important;overflow:hidden}.onboarding-pill-btn{padding:0!important;width:100%;height:100%;justify-content:center}.onboarding-pill-text,.onboarding-pill-dismiss{display:none!important}.header-control-dropdown-menu{max-height:calc(100vh - 56px - env(safe-area-inset-top,0px))!important}.app-main{flex-direction:row!important;overflow:hidden}.map-wrapper{flex:1!important;min-height:0!important;height:100%!important}.sidebar-wrapper{position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;width:320px!important;max-width:40vw!important;height:100%!important;max-height:none!important;border-radius:0!important;border-left:1px solid var(--border-color)!important;border-top:none!important;box-shadow:none!important;transform:none!important;transition:transform .3s cubic-bezier(.32,.72,0,1)!important;touch-action:auto!important;z-index:auto!important;overflow:visible!important}.sidebar-wrapper.landscape-rail-collapsed{transform:translate(100%)!important}.landscape-rail-toggle{display:flex;position:absolute;left:-22px;top:50%;transform:translateY(-50%);width:22px;height:56px;background:var(--bg-elevated);border:1px solid var(--border-color);border-right:none;border-radius:6px 0 0 6px;color:var(--text-primary);cursor:pointer;align-items:center;justify-content:center;padding:0;z-index:10;box-shadow:-2px 0 6px #0000004d;pointer-events:auto}.landscape-rail-toggle:hover{background:var(--bg-hover)}.landscape-rail-toggle:active{background:var(--border-color)}.sidebar-wrapper:after{height:0!important}.mobile-sheet-handle{display:none!important}.app-main.mobile-map-view .sidebar-wrapper,.app-main.mobile-list-view .sidebar-wrapper{transform:none!important}.map-control-stack{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}.fire-detail-panel{top:0!important}}.app--gated .app-main,.app--gated .app-main *,.app--gated .top-banners,.app--gated .top-banners *{visibility:hidden!important}.disclaimer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100dvh;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4)}.disclaimer-modal{background:var(--bg-secondary);border-radius:12px;width:100%;max-width:600px;display:flex;flex-direction:column;max-height:100%;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--border-color)}.disclaimer-header{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;padding:var(--space-5) var(--space-6);background:#dc262626;border-bottom:2px solid #dc2626;border-radius:12px 12px 0 0}.disclaimer-icon{font-size:2rem}.disclaimer-header h2{margin:0;font-size:1.25rem;color:#f87171}.disclaimer-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--space-5) var(--space-6);background:var(--bg-secondary)}.disclaimer-section{margin-bottom:var(--space-5)}.disclaimer-section:last-child{margin-bottom:0}.disclaimer-section h3{font-size:1rem;color:var(--text-primary);margin:0 0 var(--space-2) 0}.disclaimer-section p{font-size:.875rem;color:var(--text-secondary);margin:0 0 var(--space-2) 0;line-height:1.5}.disclaimer-section ul{margin:0;padding-left:var(--space-5);font-size:.875rem;color:var(--text-secondary)}.disclaimer-section li{margin-bottom:var(--space-1)}.disclaimer-emergency{background:#dc26261a;padding:var(--space-4);border-radius:8px;border-left:4px solid #dc2626}.disclaimer-emergency h3{color:#f87171}.disclaimer-emergency p{color:#fca5a5}.disclaimer-footer{flex-shrink:0;padding:var(--space-5) var(--space-6);padding-bottom:calc(var(--space-5) + var(--safe-bottom));background:var(--bg-tertiary);border-top:1px solid var(--border-color);border-radius:0 0 12px 12px}.disclaimer-checkbox{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);cursor:pointer}.disclaimer-checkbox input{margin-top:3px;flex-shrink:0;accent-color:#dc2626}.disclaimer-checkbox span{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.disclaimer-accept-button{width:100%;padding:var(--space-3) var(--space-4);background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.disclaimer-accept-button:hover:not(:disabled){background:#b91c1c}.disclaimer-accept-button:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}@media(max-width:768px){.disclaimer-overlay{padding:var(--space-2)}.disclaimer-header,.disclaimer-content,.disclaimer-footer{padding:var(--space-4)}.disclaimer-footer{padding-bottom:calc(var(--space-4) + var(--safe-bottom))}.disclaimer-header h2{font-size:1.1rem}}.alert-toast-container{position:fixed;top:120px;right:16px;z-index:2000;width:340px;max-width:calc(100vw - 32px);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.alert-toast-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary);color:var(--text-primary);border-bottom:1px solid var(--border-color);border-left:4px solid var(--severity-baseline)}.alert-toast-count{font-weight:700;font-size:14px}.alert-toast-dismiss-all{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;min-height:var(--touch-min)}.alert-toast-dismiss-all:hover{background:var(--bg-hover);color:var(--text-primary)}.alert-toast-list{max-height:320px;overflow-y:auto}.alert-toast-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-left:4px solid;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .15s}.alert-toast-item:hover{background:var(--bg-hover)}.alert-toast-item:last-child{border-bottom:none}.alert-toast-badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-toast-content{flex:1;min-width:0}.alert-toast-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:2px}.alert-toast-event-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.alert-toast-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.alert-toast-distance{color:var(--text-secondary)}.alert-toast-escalation{color:var(--severity-emergency);font-weight:500}.alert-toast-severity{font-weight:600}.alert-toast-dismiss{background:none;border:none;color:var(--text-muted);padding:4px;cursor:pointer;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0;min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center}.alert-toast-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}.alert-toast-more{padding:8px 16px;text-align:center;font-size:12px;color:var(--text-secondary);background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.watch-zone-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:20px;font-size:12px;color:#7c3aed}.watch-zone-indicator-dot{width:8px;height:8px;border-radius:50%;background:#7c3aed;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.watch-zone-indicator-count{font-weight:600}@media(max-width:768px){.alert-toast-container{top:auto;bottom:80px;right:8px;left:8px;width:auto;max-width:none}.alert-toast-list{max-height:200px}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gray-900);padding:var(--space-4)}.error-boundary-content{max-width:600px;background:var(--color-gray-800);border-radius:12px;padding:var(--space-6);text-align:center}.error-boundary h1{color:var(--color-fire-red);margin:0 0 var(--space-3);font-size:1.5rem}.error-boundary h1.updating{color:var(--color-safe-blue)}.error-boundary p{color:var(--color-gray-300);margin:0 0 var(--space-4)}.error-boundary-actions{margin-bottom:var(--space-6)}.error-boundary-btn{padding:var(--space-3) var(--space-6);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;border:none;transition:background .2s}.error-boundary-btn.primary{background:var(--color-safe-blue);color:#fff}.error-boundary-btn.primary:hover{background:#1d4ed8}.error-boundary-emergency{background:var(--color-gray-900);border-radius:8px;padding:var(--space-4);text-align:left;margin-top:var(--space-4)}.error-boundary-emergency h2{color:var(--color-fire-orange);font-size:1.1rem;margin:0 0 var(--space-2)}.error-boundary-emergency p{font-size:.875rem;margin-bottom:var(--space-3)}.error-boundary-emergency ul{list-style:none;padding:0;margin:0}.error-boundary-emergency li{margin-bottom:var(--space-2)}.error-boundary-emergency a{color:var(--color-safe-blue);text-decoration:none}.error-boundary-emergency a:hover{text-decoration:underline}.error-boundary-emergency .emergency-link{color:var(--color-fire-red);font-weight:600}.error-boundary-details{margin-top:var(--space-4);text-align:left;background:var(--color-gray-900);border-radius:8px;padding:var(--space-3)}.error-boundary-details summary{cursor:pointer;color:var(--color-gray-400);font-size:.875rem}.error-boundary-details pre{margin:var(--space-2) 0 0;padding:var(--space-2);background:#000;border-radius:4px;overflow-x:auto;font-size:.75rem;color:var(--color-fire-red)}.user-menu{position:relative;z-index:10001}@media(min-width:769px){.user-menu-item.user-menu-header-dup{display:none}}.user-menu-anon{display:flex;align-items:center;gap:6px}.user-menu-about-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch-min);min-height:var(--touch-min);padding:0;background:transparent;border:1px solid var(--color-gray-600);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.user-menu-about-btn:hover{background:var(--color-gray-700);border-color:var(--color-gray-500);color:var(--text-primary)}.user-menu-about-btn:focus-visible{outline:2px solid var(--severity-watch);outline-offset:2px}.user-menu-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:1px solid var(--color-gray-600);border-radius:8px;color:#fff;cursor:pointer;transition:background .15s,border-color .15s}.user-menu-button:hover{background:var(--color-gray-700);border-color:var(--color-gray-500)}.user-menu-button.login-button{background:var(--color-safe-blue);border-color:var(--color-safe-blue)}.user-menu-button.login-button:hover{background:#1d4ed8}.user-menu-button.authenticated{padding:6px;border-radius:50%;width:40px;height:40px;justify-content:center}.user-icon{display:flex;align-items:center;justify-content:center}.login-text{font-size:14px;font-weight:500}.user-avatar{width:28px;height:28px;background:var(--color-safe-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--bg-secondary, #1c1c1e);border:1px solid var(--border-color, #333);border-radius:12px;box-shadow:0 8px 32px #0006;max-height:calc(100vh - var(--header-height, 56px) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 20px);max-height:calc(100dvh - var(--header-height, 56px) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 20px);overflow-y:auto;overscroll-behavior:contain;z-index:10002;animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:16px;background:var(--bg-tertiary, #1a1a1a);border-bottom:1px solid var(--border-color, #333)}.user-name{font-weight:600;color:var(--text-primary, #fff);margin-bottom:2px}.user-email{font-size:13px;color:var(--text-secondary, #888)}.user-role{margin-top:6px;display:inline-block;padding:2px 8px;background:var(--color-fire-orange);color:#fff;font-size:11px;font-weight:600;border-radius:4px}.user-menu-divider{height:1px;background:var(--border-color, #333)}a.user-menu-item{text-decoration:none;box-sizing:border-box}.user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;font-size:14px;color:var(--text-secondary, #888);cursor:pointer;text-align:left;transition:background .15s,color .15s}.user-menu-item:hover{background:var(--bg-hover, #2a2a2a);color:var(--text-primary, #fff)}.user-menu-item.admin{color:var(--color-fire-orange)}.user-menu-item.logout{color:var(--color-fire-red)}.user-menu-item svg{flex-shrink:0;color:inherit}.user-menu-logout-confirm{padding:10px 14px 12px}.user-menu-logout-prompt{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:10px}.user-menu-logout-actions{display:flex;gap:8px}.user-menu-logout-cancel,.user-menu-logout-confirm-btn{flex:1;min-height:38px;padding:0 12px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:filter .15s,background .15s,border-color .15s}.user-menu-logout-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.user-menu-logout-cancel:hover{background:var(--bg-hover)}.user-menu-logout-confirm-btn{background:var(--color-fire-red);border:1px solid transparent;color:#fff}.user-menu-logout-confirm-btn:hover{filter:brightness(1.08)}.user-menu-theme{padding:10px 12px 12px}.user-menu-theme-label{display:block;margin-bottom:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.user-menu-theme .theme-toggle-icon{display:none}.user-menu-theme .theme-toggle-option{min-height:34px;font-size:.8rem}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:420px;max-height:90dvh;overflow-y:auto;box-shadow:0 24px 48px #00000080;animation:modalIn .2s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.auth-modal-close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:8px;font-size:20px;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.auth-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.auth-modal-header{padding:24px 24px 0}.auth-modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.auth-form{padding:24px}.auth-field{margin-bottom:20px}.auth-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-secondary)}.auth-field input{width:100%;padding:12px 16px;font-size:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.auth-field input:focus{outline:none;border-color:var(--color-fire-orange);box-shadow:0 0 0 3px #f9731633}.auth-field input:disabled{background:var(--bg-primary);cursor:not-allowed;opacity:.6}.auth-field small{display:block;margin-top:6px;font-size:12px;color:var(--text-muted)}.auth-password-wrap{position:relative;display:block}.auth-password-wrap input{padding-right:48px}.auth-password-toggle{position:absolute;top:0;bottom:0;right:4px;width:40px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:8px}.auth-password-toggle:hover{color:var(--text-primary)}.auth-password-toggle:focus-visible{outline:2px solid var(--color-fire-orange);outline-offset:-2px}.auth-submit{width:100%;padding:14px 24px;background:var(--color-fire-orange);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s}.auth-submit:hover:not(:disabled){background:#ea580c}.auth-submit:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.auth-links{display:flex;flex-direction:column;gap:8px;margin-top:20px;text-align:center}.auth-links button{background:none;border:none;color:var(--color-fire-orange);font-size:14px;cursor:pointer;padding:10px 8px;min-height:var(--touch-min);border-radius:var(--radius-sm)}.auth-links button:focus-visible{outline:2px solid var(--severity-watch);outline-offset:2px}.auth-links button:hover{text-decoration:underline}.auth-info{margin:0 0 20px;font-size:14px;color:var(--text-secondary);line-height:1.5}.auth-error{margin:16px 24px;padding:12px 16px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:14px}.auth-success{margin:16px 24px;padding:12px 16px;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#86efac;font-size:14px}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.auth-google-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-light);box-shadow:0 1px 3px #0003}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-google-btn svg{flex-shrink:0}.auth-social-buttons{display:flex;flex-direction:column;gap:10px}.auth-apple-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;background:#fff;color:#000;border:1px solid #ffffff;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:opacity .15s}:root[data-theme=light] .auth-apple-btn{background:#000;color:#fff;border-color:#000}.auth-apple-btn:hover:not(:disabled){opacity:.88}.auth-apple-btn:disabled{opacity:.6;cursor:not-allowed}.auth-apple-btn svg{flex-shrink:0}.auth-divider{display:flex;align-items:center;margin:20px 0;color:var(--text-muted);font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.auth-divider span{padding:0 16px;text-transform:uppercase;letter-spacing:.05em}@media(max-width:480px){.auth-modal{max-height:100dvh;border-radius:0;height:100%}.auth-modal-overlay{padding:0}.login-text{display:none}.user-menu-button.login-button{padding:8px;border-radius:8px}}.profile-modal{max-width:380px}.profile-content{padding:24px}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.profile-avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-safe-blue),#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;text-transform:uppercase}.profile-admin-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.profile-details{display:flex;flex-direction:column;gap:16px}.profile-field{display:flex;flex-direction:column;gap:4px}.profile-field label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-value{font-size:15px;color:var(--text-primary);padding:8px 0;border-bottom:1px solid var(--border-color)}.profile-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500}.profile-status-badge.verified{background:#22c55e26;color:#86efac}.profile-status-badge svg{color:#22c55e}.profile-notifications{margin-top:24px;padding:16px 24px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.1)}.profile-appearance{margin-top:24px;padding:16px 24px;border-top:1px solid var(--border-color)}.profile-appearance h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.profile-mfa{margin-top:24px;padding:16px 24px;border-top:1px solid var(--border-color)}.profile-mfa h3{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text-primary)}.profile-mfa-info{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--text-secondary)}.profile-mfa-qr{display:flex;justify-content:center;margin:0 0 16px}.profile-mfa-qr img{background:#fff;padding:10px;border-radius:10px;width:200px;height:200px}.profile-mfa-secret{display:flex;align-items:center;gap:8px;margin:0 0 14px;flex-wrap:wrap}.profile-mfa-secret code{flex:1 1 auto;padding:10px 12px;background:#7f7f7f1f;border:1px solid var(--border-color);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:1px;color:var(--text-primary);word-break:break-all}.profile-mfa-secret button{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:13px}.profile-mfa-code{width:160px;padding:10px 12px;margin:0 0 14px;font-size:18px;letter-spacing:4px;text-align:center;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary, rgba(127,127,127,.06));color:var(--text-primary)}.profile-mfa-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-mfa-btn{padding:10px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-weight:600;font-size:14px;cursor:pointer}.profile-mfa-btn:disabled{opacity:.6;cursor:default}.profile-mfa-btn.ghost{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.profile-mfa-btn.danger{background:transparent;border:1px solid rgba(239,68,68,.5);color:#f87171}.profile-mfa-error{margin:12px 0 0;font-size:13px;color:#f87171}.auth-mfa-hint{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--text-secondary, #9ca3af)}:root[data-theme=light] .profile-notifications,:root[data-theme=light] .profile-fcm-status{background:#00000005;border-top-color:#00000014}.profile-notifications h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.profile-notifications-info{margin:0 0 16px;font-size:13px;color:var(--text-muted);line-height:1.5}.profile-notification-status{padding:12px;border-radius:8px;font-size:13px;text-align:center}.profile-notification-status.unsupported{background:#6b728033;color:#9ca3af}.profile-notification-status.denied{background:#ef444426;color:#fca5a5}.profile-notification-toggle{display:flex;flex-direction:column;gap:8px}.profile-push-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.profile-push-btn.not-subscribed{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.profile-push-btn.not-subscribed:hover{background:linear-gradient(135deg,#fb923c,#f97316)}.profile-push-btn.subscribed{background:#22c55e33;color:#86efac;border:1px solid rgba(34,197,94,.3)}.profile-push-btn.subscribed:hover{background:#ef444433;color:#fca5a5;border-color:#ef44444d}.profile-push-btn:disabled{opacity:.6;cursor:not-allowed}.profile-notification-error{padding:8px 12px;background:#ef444426;border-radius:6px;font-size:12px;color:#fca5a5;text-align:center}.profile-fcm-status{margin-top:24px;padding:16px 24px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.1)}.profile-fcm-status h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.profile-fcm-details{display:flex;flex-direction:column;gap:12px}.profile-fcm-indicator{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;font-size:14px;font-weight:500}.profile-fcm-indicator.registered{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.3)}.profile-fcm-indicator.not-registered{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.profile-fcm-timestamp{font-size:12px;color:var(--text-muted);text-align:center}.profile-fcm-error{padding:8px 12px;background:#ef444426;border-radius:6px;font-size:12px;color:#fca5a5;text-align:center}.profile-fcm-refresh-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.profile-fcm-refresh-btn:hover{background:#ffffff1a;border-color:#ffffff4d;color:var(--text-primary)}.profile-fcm-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.profile-footer{padding:16px 24px 24px}.profile-note{margin:0;font-size:13px;color:var(--text-muted);text-align:center}@media(max-width:480px){.profile-modal{max-width:100%;height:100%}}.admin-panel-overlay{--color-gray-100: #111214;--color-gray-200: #1a1b1e;--color-gray-300: #252629;--color-gray-400: #3f4147;color-scheme:dark;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-panel{background:var(--color-gray-100);border-radius:16px;width:100%;max-width:1200px;max-height:90dvh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0006;animation:modalIn .2s ease-out}.admin-panel-header{display:flex;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-gray-300)}.admin-panel-header h2{margin:0;font-size:1.25rem;color:#fff}.admin-panel-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-gray-300);border:none;border-radius:8px;font-size:20px;color:var(--color-gray-600);cursor:pointer;transition:background .15s,color .15s}.admin-panel-close:hover{background:var(--color-gray-400);color:#fff}.admin-panel-error{display:flex;align-items:center;justify-content:space-between;margin:16px 24px;padding:12px 16px;background:#b91c1c33;border:1px solid var(--color-fire-red);border-radius:8px;color:#fca5a5;font-size:14px}.admin-panel-error button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;padding:0 0 0 12px}.admin-panel-toolbar{display:flex;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--color-gray-300)}.admin-panel-count{color:var(--color-gray-400);font-size:14px}.admin-panel-actions{display:flex;gap:12px}.admin-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-refresh{background:var(--color-gray-300);color:#fff}.admin-btn-refresh:hover:not(:disabled){background:var(--color-gray-400)}.admin-btn-approve-all{background:var(--color-safe-green);color:#fff}.admin-btn-approve-all:hover:not(:disabled){background:#15803d}.admin-panel-content{flex:1;min-height:0;overflow-y:auto;padding:24px}.admin-feedback-list{display:flex;flex-direction:column;gap:12px}.admin-feedback-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);padding:12px 14px}.admin-feedback-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.admin-feedback-type{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:var(--radius-pill);color:#fff}.admin-feedback-type.type-bug{background:var(--severity-emergency)}.admin-feedback-type.type-feature{background:var(--color-safe-blue)}.admin-feedback-type.type-general{background:var(--color-gray-500)}.admin-feedback-date{font-size:.8rem;color:var(--text-muted)}.admin-feedback-delete{margin-left:auto}.admin-feedback-message{color:var(--text-primary);font-size:.92rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.admin-feedback-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:.8rem}.admin-feedback-email{color:var(--severity-watch);font-weight:600}.admin-feedback-noemail{color:var(--text-muted);font-style:italic}.admin-feedback-ctx{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1px 7px;font-size:.72rem}.admin-panel-loading,.admin-panel-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-gray-500);font-size:14px}.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.admin-photo-card{background:var(--color-gray-200);border-radius:12px;overflow:hidden;border:1px solid var(--color-gray-300)}.admin-photo-preview{aspect-ratio:16 / 9;background:var(--color-gray-100);overflow:hidden}.admin-photo-preview img,.admin-photo-preview video{width:100%;height:100%;object-fit:cover}.admin-photo-info{padding:12px 16px;border-bottom:1px solid var(--color-gray-300)}.admin-photo-name{font-size:13px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.admin-photo-meta{font-size:12px;color:var(--color-gray-500)}.admin-photo-date{font-size:11px;color:var(--color-gray-600);margin-top:4px}.admin-photo-buttons{display:flex;gap:8px;padding:12px 16px}.admin-photo-buttons .admin-btn{flex:1;padding:8px 12px}.admin-btn-approve{background:var(--color-safe-green);color:#fff}.admin-btn-approve:hover:not(:disabled){background:#15803d}.admin-btn-reject{background:var(--color-fire-orange);color:#fff}.admin-btn-reject:hover:not(:disabled){background:#c2410c}.admin-btn-delete{background:var(--color-fire-red);color:#fff;flex:.5}.admin-btn-delete:hover:not(:disabled){background:#991b1b}.admin-btn-grant{background:#10b981;color:#fff;font-size:11px;padding:4px 8px}.admin-btn-grant:hover:not(:disabled){background:#059669}.admin-btn-revoke{background:#f59e0b;color:#fff;font-size:11px;padding:4px 8px}.admin-btn-revoke:hover:not(:disabled){background:#d97706}.admin-user-actions{white-space:nowrap}@media(max-width:640px){.admin-panel{max-height:100dvh;border-radius:0;height:100%}.admin-panel-overlay{padding:0}.admin-photo-grid{grid-template-columns:1fr}.admin-panel-tab{flex:1 0 auto;white-space:nowrap;padding:var(--space-3);font-size:13px}.admin-panel-toolbar{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3)}.admin-panel-filters{flex-wrap:wrap;width:100%}.admin-filter-select{flex:1 1 auto;min-width:0}.admin-filter-input{width:100%;flex:1 1 100%;box-sizing:border-box}.admin-panel-actions{width:100%;justify-content:space-between;align-items:center}.admin-users-stats{grid-template-columns:repeat(3,1fr);gap:var(--space-2);padding:var(--space-3)}.admin-stat-value{font-size:18px}.admin-stat-label{font-size:10px}.admin-users-table{font-size:12.5px}.admin-users-table th,.admin-users-table td{padding:var(--space-2)}.admin-user-email{max-width:160px}.admin-feedback-head{flex-wrap:wrap;row-gap:var(--space-1)}.admin-broadcast{padding:var(--space-3)}}.removal-request-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.removal-request-modal{background:var(--color-gray-100);border-radius:12px;width:100%;max-width:450px;box-shadow:0 24px 48px #0006}.removal-request-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-gray-300)}.removal-request-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.removal-request-close{background:none;border:none;color:var(--color-gray-400);font-size:1.5rem;cursor:pointer;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:color .2s ease}.removal-request-close:hover{color:#fff}.removal-request-body{padding:var(--space-4)}.removal-request-photo-info{color:var(--color-gray-300);font-size:.875rem;margin:0 0 var(--space-3)}.removal-request-photo-info strong{color:#fff}.removal-request-label{display:block;color:var(--color-gray-800);font-size:.875rem;font-weight:500;margin-bottom:var(--space-2)}.removal-request-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-gray-400);border-radius:8px;background:var(--color-gray-200);color:var(--color-gray-800);font-size:16px;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .2s ease}.removal-request-textarea:focus{outline:none;border-color:var(--color-primary)}.removal-request-textarea::placeholder{color:var(--color-gray-500)}.removal-request-char-count{text-align:right;font-size:.75rem;color:var(--color-gray-500);margin-top:var(--space-1)}.removal-request-error{background:#ef44441a;color:#ef4444;padding:var(--space-3);border-radius:8px;font-size:.875rem;margin-top:var(--space-3)}.removal-request-footer{display:flex;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--color-gray-300)}.removal-request-btn{flex:1;padding:var(--space-3);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.removal-request-btn.secondary{background:var(--color-gray-300);border:none;color:var(--color-gray-800)}.removal-request-btn.secondary:hover:not(:disabled){background:var(--color-gray-400)}.removal-request-btn.primary{background:var(--color-primary);border:none;color:#fff}.removal-request-btn.primary:hover:not(:disabled){background:var(--color-primary-dark)}.removal-request-btn:disabled{opacity:.5;cursor:not-allowed}.removal-request-success{padding:var(--space-6);text-align:center}.removal-request-success svg{margin-bottom:var(--space-3)}.removal-request-success p{color:var(--color-gray-200);margin:0 0 var(--space-2)}.removal-request-success-note{color:var(--color-gray-400)!important;font-size:.875rem;margin-bottom:var(--space-4)!important}.removal-request-success .removal-request-btn{margin-top:var(--space-3)}.admin-panel-tabs{display:flex;flex-shrink:0;border-bottom:1px solid var(--color-gray-300);overflow-x:auto}.admin-panel-tab{flex:1;padding:var(--space-3) var(--space-4);background:none;border:none;color:#d1d5db!important;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;margin-bottom:-1px}.admin-panel-tab:hover{color:#fff!important;background:var(--color-gray-200)}.admin-panel-tab.active{color:#fff!important;border-bottom-color:var(--color-primary);background:#3b82f61a}.admin-panel-tab .tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:var(--space-2);background:var(--color-gray-300);color:#fff;border-radius:10px;font-size:.75rem;font-weight:600}.admin-panel-tab.active .tab-badge{background:var(--color-primary);color:#fff}.removal-request-card{background:var(--color-gray-200);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.removal-request-card-header{display:flex;gap:var(--space-3);padding:var(--space-3)}.removal-request-card-photo{width:80px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--color-gray-300)}.removal-request-card-photo img,.removal-request-card-photo video{width:100%;height:100%;object-fit:cover}.removal-request-card-photo-missing{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-gray-500);font-size:.75rem}.removal-request-card-info{flex:1;min-width:0}.removal-request-card-filename{font-size:.875rem;font-weight:500;color:var(--color-gray-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-1)}.removal-request-card-date{font-size:.75rem;color:var(--color-gray-500)}.removal-request-card-reason{padding:0 var(--space-3) var(--space-3)}.removal-request-card-reason-label{font-size:.75rem;color:var(--color-gray-500);margin-bottom:var(--space-1)}.removal-request-card-reason-text{font-size:.875rem;color:var(--color-gray-900);background:var(--color-gray-300);padding:var(--space-2);border-radius:6px;max-height:80px;overflow-y:auto}.removal-request-card-buttons{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-gray-300)}.admin-panel-filters{display:flex;gap:var(--space-3);align-items:center}.admin-filter-select,.admin-filter-input{padding:8px 12px;background:var(--color-gray-300);border:1px solid var(--color-gray-400);border-radius:6px;color:#fff!important;font-size:14px}.admin-filter-select option{background:#374151;color:#fff}.admin-filter-select:focus,.admin-filter-input:focus{outline:none;border-color:var(--color-primary)}.admin-filter-input{width:200px}.admin-filter-input::placeholder{color:#9ca3af!important}.admin-comments-list{display:flex;flex-direction:column;gap:var(--space-3)}.admin-comment-card{background:var(--color-gray-200);border-radius:12px;padding:var(--space-4);border:1px solid var(--color-gray-300)}.admin-comment-card.deleted{opacity:.6;border-color:var(--color-red-800);background:#ef44440d}.admin-comment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.admin-comment-user{display:flex;align-items:center;gap:var(--space-3)}.admin-comment-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:14px}.admin-comment-user-info{display:flex;flex-direction:column;gap:2px}.admin-comment-name{font-weight:500;color:var(--color-gray-100)}.admin-comment-email{font-size:12px;color:var(--color-gray-400)}.admin-comment-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.admin-comment-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.admin-comment-status.status-active{background:#22c55e33;color:var(--color-green-400)}.admin-comment-status.status-deleted{background:#ef444433;color:var(--color-red-400)}.admin-comment-status.status-hidden,.admin-comment-status.status-reported{background:#f59e0b33;color:#f59e0b}.admin-comment-date{font-size:12px;color:var(--color-gray-400)}.admin-comment-event{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-gray-300);border-radius:6px;margin-bottom:var(--space-3);font-size:12px}.admin-comment-event-label{color:var(--color-gray-400)}.admin-comment-event-id{color:var(--color-gray-200);font-family:monospace;word-break:break-all}.admin-comment-content{color:var(--color-gray-200);line-height:1.5;white-space:pre-wrap;word-break:break-word}.admin-comment-actions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-300);display:flex;gap:var(--space-2)}.admin-comment-deleted-info{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-300);font-size:12px;color:var(--color-red-400)}.tab-badge-supporter{background:linear-gradient(135deg,#22c55e,#16a34a)!important}.admin-users-stats{display:grid;flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-3);padding:var(--space-4);background:var(--color-gray-200);border-bottom:1px solid var(--color-gray-300)}.admin-stat-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background:var(--color-gray-300);border-radius:8px;border:1px solid var(--color-gray-400)}.admin-stat-value{font-size:24px;font-weight:700;color:#fff}.admin-stat-label{font-size:12px;color:#d1d5db!important;text-transform:uppercase;letter-spacing:.5px}.admin-stat-supporter .admin-stat-value{color:#22c55e}.admin-stat-trial .admin-stat-value{color:#f59e0b}.admin-stat-free .admin-stat-value{color:#fff}.admin-users-table-wrapper{overflow-x:auto}.admin-users-table{width:100%;border-collapse:collapse;font-size:14px}.admin-users-table th,.admin-users-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-gray-300);color:#fff!important}.admin-users-table th{background:var(--color-gray-200);color:#fff!important;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0}.admin-users-table tbody tr:hover{background:var(--color-gray-200)}.admin-users-table tr.tier-supporter{background:#22c55e0d}.admin-users-table tr.tier-trialing{background:#f59e0b0d}.admin-user-email{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff!important}.admin-user-date{color:#fff!important;white-space:nowrap}.admin-tier-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.admin-tier-badge.tier-supporter{background:#22c55e33;color:#22c55e}.admin-tier-badge.tier-trialing{background:#f59e0b33;color:#f59e0b}.admin-tier-badge.tier-free{background:#9ca3af33;color:#fff!important}.admin-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.admin-status-badge.status-active{background:#22c55e26;color:#22c55e}.admin-status-badge.status-trialing{background:#f59e0b26;color:#f59e0b}.admin-status-badge.status-canceled,.admin-status-badge.status-past_due{background:#ef444426;color:#ef4444}.admin-status-badge.status-expired,.admin-status-badge.status-none{background:#6b728026;color:var(--color-gray-500)}.admin-cancel-badge,.admin-trial-badge{display:inline-block;margin-left:var(--space-2);padding:1px 6px;border-radius:3px;font-size:10px;font-weight:500}.admin-cancel-badge{background:#ef444426;color:#ef4444}.admin-trial-badge{background:#f59e0b26;color:#f59e0b}.admin-paying-badge,.admin-manual-badge,.admin-unverified-badge{display:inline-block;margin-left:var(--space-2);padding:1px 6px;border-radius:3px;font-size:10px;font-weight:500}.admin-paying-badge{background:#22c55e33;color:#22c55e;font-weight:700}.admin-manual-badge{background:#60a5fa26;color:#60a5fa}.admin-unverified-badge{background:#94a3b826;color:#94a3b8}.admin-stat-paying .admin-stat-value{color:#4ade80}.admin-stat-new .admin-stat-value{color:#60a5fa}.admin-th-sort{background:none;border:none;padding:0;cursor:pointer;color:#fff!important;font:inherit;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.admin-th-sort:hover{text-decoration:underline}.admin-stat-spark .admin-spark-row{display:flex;align-items:flex-end;gap:var(--space-2);justify-content:center}.admin-sparkline{display:block}.admin-spark-last{font-size:18px;font-weight:700;color:#fff;line-height:1}.tab-badge-warning{background:#f59e0b40;color:#f59e0b}.admin-user-row{cursor:pointer}.admin-expand-caret{display:inline-block;width:14px;color:#94a3b8;font-size:10px}.admin-user-details-row td{background:var(--color-gray-200);padding:var(--space-3) var(--space-4)}.admin-user-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2) var(--space-4);font-size:13px}.admin-user-details>div{display:flex;flex-direction:column;gap:2px}.admin-detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8}.admin-detail-mono{font-family:monospace;font-size:11px;word-break:break-all}.admin-user-details-loading{font-size:13px;color:#94a3b8;padding:var(--space-2) 0}a.admin-paying-badge{text-decoration:none;cursor:pointer}a.admin-paying-badge:hover{background:#22c55e59}.admin-feedback-status{display:inline-block;padding:1px 8px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.fb-status-new{background:#60a5fa26;color:#60a5fa}.fb-status-replied{background:#f59e0b26;color:#f59e0b}.fb-status-resolved{background:#22c55e26;color:#22c55e}.admin-feedback-card.status-resolved{opacity:.65}.admin-ops-ok .admin-stat-value{color:#22c55e}.admin-ops-late .admin-stat-value,.admin-ops-degraded .admin-stat-value{color:#f59e0b}.admin-ops-stalled .admin-stat-value{color:#ef4444}.admin-ops-unknown .admin-stat-value{color:#94a3b8}.admin-ops-outage .admin-stat-value{color:#ef4444}.admin-ops-outages{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.admin-ops-outage{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;border-radius:8px;border:1px solid;font-size:14px;color:#fff}.admin-ops-outage.is-critical{background:#ef444424;border-color:#ef4444}.admin-ops-outage.is-degraded{background:#f59e0b1f;border-color:#f59e0b}.admin-ops-outage-tag{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;background:#ef4444;color:#fff}.admin-ops-outage.is-degraded .admin-ops-outage-tag{background:#f59e0b;color:#111}.admin-ops-outage-label{flex:1;min-width:220px}.admin-ops-outage-since{font-size:12px;color:#d1d5db;white-space:nowrap}.admin-stat-sub{font-size:13px;font-weight:600;color:#d1d5db}.admin-ops-history td{vertical-align:top}.admin-ops-subheading{margin:20px 0 4px;font-size:14px;color:#fff}.tab-badge-outage{background:#ef4444!important;color:#fff!important;font-size:10px;letter-spacing:.06em}.admin-ops-badge{font-size:12px;font-weight:600}.admin-ops-badge.ops-ok{color:#22c55e}.admin-ops-badge.ops-bad{color:#ef4444}.admin-users-table tr.admin-ops-row-bad{background:#ef444412}.admin-audit-action{font-family:monospace;font-size:12px;padding:1px 6px;border-radius:3px;background:#60a5fa1f;color:#93c5fd}.admin-audit-detail{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.admin-broadcast{max-width:640px;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.admin-broadcast-heading{margin:0;color:#fff}.admin-broadcast-hint{margin:0;font-size:13px;color:#94a3b8}.admin-broadcast-none{font-size:13px;color:#94a3b8;padding:var(--space-2) 0}.admin-broadcast-current{border-radius:8px;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);border:1px solid}.admin-broadcast-current.severity-info{border-color:#3b82f6;background:#3b82f614}.admin-broadcast-current.severity-warning{border-color:#f59e0b;background:#f59e0b14}.admin-broadcast-current.severity-emergency{border-color:#ef4444;background:#ef44441a}.admin-broadcast-current-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8}.admin-broadcast-current-message{color:#fff;font-size:14px}.admin-broadcast-current .admin-btn{align-self:flex-start}.admin-broadcast-form{display:flex;flex-direction:column;gap:var(--space-2)}.admin-broadcast-input{width:100%;box-sizing:border-box;background:var(--color-gray-200);border:1px solid var(--color-gray-300);border-radius:8px;color:#fff;padding:var(--space-2) var(--space-3);font:inherit;font-size:14px;resize:vertical}.admin-broadcast-controls{display:flex;gap:var(--space-2);align-items:center}.broadcast-banner{display:flex;align-items:center;gap:12px;padding:8px 14px;font-size:14px;line-height:1.4;color:#fff}.top-banners{position:relative;z-index:1050;flex-shrink:0}@media(max-width:768px),(orientation:landscape)and (max-height:500px){.top-banners{height:0}.top-banners-stack{position:absolute;top:0;left:0;right:0}.top-banners-stack>.broadcast-banner{box-shadow:0 4px 12px #00000059}}.broadcast-banner.broadcast-info{background:#1d4ed8}.broadcast-banner.broadcast-warning{background:#b45309}.broadcast-banner.broadcast-emergency{background:#b91c1c}.broadcast-banner-message{flex:1}.broadcast-banner-dismiss{background:none;border:none;color:#ffffffd9;font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;flex:none}.broadcast-banner-dismiss:hover{color:#fff}.toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:12px;max-width:420px;width:calc(100% - 32px);pointer-events:none}.toast-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-elevated);border-radius:10px;box-shadow:0 4px 20px #0006,0 2px 8px #0000004d;border-left:4px solid var(--toast-info);pointer-events:auto;animation:toast-slide-in .3s ease-out}.toast-item.toast-success{border-left-color:var(--toast-success)}.toast-item.toast-error{border-left-color:var(--toast-error)}.toast-item.toast-warning{border-left-color:var(--toast-warning)}.toast-item.toast-info{border-left-color:var(--toast-info)}.toast-item.toast-success .toast-icon{color:var(--toast-success)}.toast-item.toast-error .toast-icon{color:var(--toast-error)}.toast-item.toast-warning .toast-icon{color:var(--toast-warning)}.toast-item.toast-info .toast-icon{color:var(--toast-info)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px}.toast-content{flex:1;min-width:0}.toast-title{font-size:14px;font-weight:600;margin-bottom:2px;color:var(--text-primary)}.toast-message{font-size:13px;color:var(--text-primary);line-height:1.4;word-wrap:break-word}.toast-action{margin-top:8px;padding:8px 16px;min-height:36px;background:var(--color-fire-orange);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s}.toast-action:hover{filter:brightness(1.1)}.toast-action:active{filter:brightness(.95)}.toast-dismiss{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;margin:-4px -4px -4px 0;border-radius:4px;transition:background .15s,color .15s;min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center}.toast-dismiss:hover{background:var(--bg-hover);color:var(--text-primary)}@media(max-width:640px){.toast-container{top:70px;max-width:none;width:calc(100% - 16px)}.toast-item{padding:12px 14px}}.comments-section{background:var(--bg-tertiary);border-radius:8px;padding:16px;border:1px solid var(--border-color)}.comments-header{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.comments-header svg{flex-shrink:0}.comment-form{margin-bottom:16px}.comment-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;resize:vertical;min-height:80px;font-family:inherit;background:var(--bg-elevated);color:var(--text-primary)}.comment-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.comment-input:disabled{background:var(--bg-tertiary);cursor:not-allowed;color:var(--text-muted)}.comment-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.comment-char-count{font-size:12px;color:var(--text-muted)}.comment-submit-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.comment-submit-btn:hover:not(:disabled){background:#2563eb}.comment-submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.comment-login-prompt{padding:12px;background:var(--bg-elevated);border-radius:6px;text-align:center;margin-bottom:16px;border:1px solid var(--border-color)}.comment-login-prompt p{margin:0;font-size:13px;color:var(--text-secondary)}.comment-error{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:13px;margin-bottom:12px}.comments-list{display:flex;flex-direction:column;gap:12px}.comments-loading,.comments-empty{text-align:center;padding:16px;color:var(--text-muted);font-size:13px}.comment-item{background:var(--bg-elevated);border-radius:8px;padding:12px;border:1px solid var(--border-color)}.comment-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.comment-avatar{width:32px;height:32px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.comment-meta{display:flex;flex-direction:column;gap:2px}.comment-author{font-size:13px;font-weight:600;color:var(--text-primary)}.comment-time{font-size:11px;color:var(--text-muted)}.comment-content{font-size:14px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;gap:4px;justify-content:flex-end;margin-top:6px}.comment-action-btn{background:none;border:none;padding:6px 8px;min-height:32px;font-size:12px;color:var(--text-muted);cursor:pointer;border-radius:6px}.comment-action-btn:hover,.comment-action-btn:focus-visible{color:var(--text-primary);background:var(--bg-secondary, rgba(127, 127, 127, .12))}.comment-action-btn--danger{color:#ef4444;font-weight:600}.comment-confirm{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:6px}.comment-confirm-label{margin:0;font-size:13px;color:var(--text-secondary)}.comment-confirm-label a{color:inherit}.comment-report-reason{font-size:16px;padding:6px 8px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-primary, transparent);color:var(--text-primary)}.comment-confirm-buttons{display:flex;justify-content:flex-end;gap:4px}.comment-notice,.comments-blocked-note{font-size:12px;color:var(--text-muted);text-align:center}.admin-comment-item{background:var(--color-gray-800);border-radius:8px;padding:16px;border:1px solid var(--color-gray-700)}.admin-comment-item.deleted{opacity:.6}.admin-comment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.admin-comment-info{flex:1}.admin-comment-author{font-size:14px;font-weight:600;color:var(--color-gray-100);margin-bottom:4px}.admin-comment-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--color-gray-400)}.admin-comment-content{font-size:14px;color:var(--color-gray-200);line-height:1.5;margin-bottom:12px}.admin-comment-event{font-size:12px;color:var(--color-gray-400);background:var(--color-gray-700);padding:4px 8px;border-radius:4px;display:inline-block}.admin-comment-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.admin-comment-status.active{background:#10b98133;color:#10b981}.admin-comment-status.deleted{background:#ef444433;color:#ef4444}.admin-panel,.admin-panel *{--text-color-override: #ffffff}.admin-panel-header h2,.admin-comment-name,.admin-comment-author{color:#fff!important}.admin-comment-email,.admin-comment-date,.admin-comment-meta{color:#9ca3af!important}.admin-comment-content{color:#e5e7eb!important}.admin-comment-event{color:#9ca3af!important}.admin-comment-event-label{color:#6b7280!important}.admin-comment-event-id,.admin-photo-name{color:#fff!important}.admin-photo-meta,.admin-photo-date{color:#9ca3af!important}.admin-panel-count{color:#fff!important}.admin-panel-empty,.admin-panel-loading{color:#9ca3af!important}.removal-request-card-filename{color:#fff!important}.removal-request-card-date,.removal-request-card-reason-label{color:#9ca3af!important}.removal-request-card-reason-text{color:#fff!important}.admin-filter-select,.admin-filter-input{color:#fff!important;background:var(--color-gray-300)!important}.admin-filter-input::placeholder{color:#6b7280!important}.admin-btn{color:#fff!important}.road-closure-popup-wrapper .leaflet-popup-content{padding:0!important;margin:0!important;width:auto!important;min-width:320px!important;max-width:none!important}.road-closure-popup-wrapper .leaflet-popup-content-wrapper{padding:0!important;overflow:visible!important;border-radius:8px!important;max-width:none!important}.road-closure-popup-wrapper.leaflet-popup{max-width:none!important}.road-closure-popup{width:360px;max-width:360px;box-sizing:border-box}.ignition-popup,.lightning-risk-popup,.fire-danger-popup{width:340px;max-width:calc(100vw - 48px);box-sizing:border-box}.road-hazard-icon{background:transparent!important;border:none!important}.road-hazard-icon svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));transition:transform .15s ease}.road-hazard-icon:hover svg{transform:scale(1.1)}.power-outage-popup .leaflet-popup-content{margin:0;padding:0}.power-outage-popup-content{min-width:280px;max-width:320px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.power-outage-popup-header{display:flex;align-items:center;gap:8px;padding:12px 52px 12px 14px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:8px 8px 0 0}.map-popup .leaflet-popup-content{padding:0!important;margin:0!important;width:auto!important;min-width:0!important;max-width:none!important}.map-popup .leaflet-popup-content-wrapper{padding:0!important;border-radius:8px!important;max-width:none!important}.map-popup.leaflet-popup{max-width:none!important}.map-popup .leaflet-popup-close-button,.map-popup a.leaflet-popup-close-button{top:8px!important;right:8px!important;width:32px!important;height:32px!important;border-radius:50%!important;background:#00000047!important;border:none!important;color:#fff!important;font-size:20px!important}.map-popup .leaflet-popup-close-button:hover{background:#00000073!important}@media(max-width:768px){.map-popup .leaflet-popup-close-button{width:36px!important;height:36px!important;font-size:22px!important}.map-popup .leaflet-popup-content-wrapper{max-height:calc(100vh - var(--app-header-height, 145px) - var(--mobile-bottom-sheet-handle, 64px) - 96px)!important;overflow-y:auto!important}}.power-outage-popup-icon{font-size:1.25rem}.power-outage-popup-title{font-weight:600;font-size:1rem}.power-outage-popup-details{padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--bg-elevated)}.power-outage-popup-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.power-outage-popup-label{font-size:.85rem;color:var(--text-muted);flex-shrink:0}.power-outage-popup-value{font-size:.85rem;font-weight:500;color:var(--text-primary);text-align:right}.power-outage-popup-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-tertiary);border-radius:0 0 8px 8px;border-top:1px solid var(--border-color)}.power-outage-popup-source{font-size:.75rem;color:var(--text-muted)}.power-outage-popup-link{font-size:.8rem;color:#60a5fa;text-decoration:none;font-weight:500}.power-outage-popup-link:hover{text-decoration:underline}.about-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.about-modal{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:700px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px #00000080;animation:modalIn .2s ease-out}.about-modal-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:none;background:var(--bg-tertiary);border-radius:50%;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);z-index:1;transition:all .15s ease}.about-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.about-modal-header{padding:24px 24px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.about-modal-header h2{margin:0 0 4px;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.about-modal-subtitle{margin:0;font-size:.95rem;color:var(--text-muted)}.header-release-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--color-safe-blue, #3b82f6);box-shadow:0 0 0 2px var(--bg-secondary)}.about-tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none;flex-shrink:0}.about-tabs::-webkit-scrollbar{display:none}.about-tab{position:relative;flex:0 0 auto;border:none;background:none;min-height:44px;padding:0 14px;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.about-tab:hover{color:var(--text-primary)}.about-tab.is-active{color:var(--text-primary);border-bottom-color:var(--color-safe-blue, #3b82f6)}.about-tab:focus-visible{outline:2px solid var(--color-safe-blue, #3b82f6);outline-offset:-2px}.about-tab-dot{display:inline-block;width:6px;height:6px;margin-left:5px;vertical-align:1px;border-radius:50%;background:var(--color-safe-blue, #3b82f6)}.about-release+.about-release{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.about-release-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.about-release-header h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.about-release-header time{font-size:.8rem;color:var(--text-muted)}.about-release-headline{margin:0 0 14px;font-size:.95rem;line-height:1.5;color:var(--text-secondary, var(--text-muted))}.about-release-items{margin:0;padding:0;list-style:none}.about-release-item{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.55;color:var(--text-primary)}.about-release-item+.about-release-item{margin-top:12px}.about-release-kind{flex:0 0 52px;margin-top:2px;padding:2px 0;border-radius:4px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center;color:#fff}.about-release-kind.is-new{background:#10b981}.about-release-kind.is-improved{background:var(--color-safe-blue, #3b82f6)}.about-release-kind.is-fixed{background:#d97706}@media(max-width:480px){.about-tab{padding:0 11px;font-size:.85rem}.about-release-kind{flex-basis:46px;font-size:.6rem}}.about-modal-content{padding:20px 24px 24px;overflow-y:auto;flex:1}.about-section{margin-bottom:24px}.about-section:last-child{margin-bottom:0}.about-section h3{margin:0 0 12px;font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.about-section h3:before{content:"";width:4px;height:18px;background:var(--color-fire-orange);border-radius:2px}.about-sources-list{display:flex;flex-direction:column;gap:12px}.about-source-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;padding:14px 16px;transition:border-color .15s ease}.about-source-item:hover{border-color:var(--border-light)}.about-source-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.about-source-header h4{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.about-source-refresh{font-size:.75rem;font-weight:500;padding:3px 8px;background:#f9731626;color:var(--color-fire-orange);border-radius:4px;white-space:nowrap;flex-shrink:0}.about-source-description{margin:0 0 10px;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.about-source-meta{font-size:.8rem;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}.about-source-meta a{color:var(--color-fire-orange);text-decoration:none}.about-source-meta a:hover{text-decoration:underline}.about-external-link{font-size:.7rem;margin-left:2px}.about-source-notes{font-style:italic;color:var(--text-muted)}.about-disclaimer{background:#f973161a;border:1px solid rgba(249,115,22,.3);border-radius:10px;padding:16px}.about-disclaimer p{margin:0 0 10px;font-size:.9rem;color:#fb923c;line-height:1.5}.about-disclaimer p:last-of-type{margin-bottom:8px}.about-disclaimer ul{margin:0;padding-left:20px}.about-disclaimer li{font-size:.85rem;color:#fb923c;margin-bottom:4px}.about-disclaimer a{color:var(--color-fire-orange);text-decoration:none;font-weight:500}.about-disclaimer a:hover{text-decoration:underline}.about-text{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.6}.about-version{margin:12px 0 0;font-size:.8rem;color:var(--text-muted)}.about-legal-links{margin:8px 0 0;font-size:.8rem;color:var(--text-muted)}.about-legal-links a{color:#f97316;text-decoration:none}.about-legal-links a:hover{text-decoration:underline}.about-feedback-buttons{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.about-feedback-btn{display:inline-flex;align-items:center;padding:10px 20px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;text-decoration:none;border-radius:8px;font-size:.9rem;font-weight:500;transition:transform .15s,box-shadow .15s}.about-feedback-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f973164d}.about-feedback-btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563)}.about-feedback-btn-secondary:hover{box-shadow:0 4px 12px #6b72804d}.feedback-form{display:flex;flex-direction:column;gap:8px;margin-top:4px}.feedback-type{display:flex;gap:6px;margin-bottom:2px}.feedback-type-btn{flex:1;min-height:34px;padding:0 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.feedback-type-btn:hover{color:var(--text-primary)}.feedback-type-btn.active{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--severity-watch)}.feedback-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-top:4px}.feedback-optional{font-weight:400;color:var(--text-muted)}.feedback-textarea,.feedback-email{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:vertical}.feedback-textarea:focus,.feedback-email:focus{outline:none;border-color:var(--severity-watch);box-shadow:0 0 0 3px var(--accent-glow)}.feedback-error{font-size:.85rem;color:var(--severity-emergency);padding:6px 10px;border-radius:var(--radius-sm);background:var(--severity-emergency-bg)}.feedback-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.feedback-turnstile{margin-top:2px;min-height:65px}.feedback-submit{align-self:flex-start;min-height:40px;padding:0 20px;margin-top:4px;border:1px solid transparent;border-radius:var(--radius-md);background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:filter .15s}.feedback-submit:hover:not(:disabled){filter:brightness(1.08)}.feedback-submit:disabled{opacity:.55;cursor:not-allowed}.feedback-done{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;border-radius:var(--radius-md);background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.feedback-done-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#22c55e;color:#fff;font-weight:700}.feedback-done p{margin:0;color:var(--text-primary);font-weight:600}.feedback-link-btn{background:none;border:none;padding:0;color:var(--severity-watch);font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline}@media(max-width:640px){.about-modal-overlay{padding:var(--space-2)}.about-modal{max-height:90dvh;border-radius:12px}.about-modal-header{padding:20px 20px 14px}.about-modal-header h2{font-size:1.25rem}.about-modal-content{padding:16px 20px 20px}.about-source-header{flex-direction:column;gap:6px}.about-source-refresh{align-self:flex-start}}.vic-warning-content{font-size:13px!important;line-height:1.6!important;color:var(--text-primary)!important}.vic-warning-content *{color:var(--text-primary)!important;background-color:transparent!important}.vic-warning-content,.health-warning-content{overflow-wrap:break-word;word-break:break-word}.vic-warning-content img,.health-warning-content img{max-width:100%!important;height:auto!important}.vic-warning-content table,.health-warning-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.vic-warning-content a,.health-warning-content a{overflow-wrap:break-word;word-break:break-word}.vic-warning-content h1,.vic-warning-content h2,.vic-warning-content h3,.vic-warning-content h4,.vic-warning-content h5,.vic-warning-content h6{color:var(--text-primary)!important;margin:16px 0 8px!important;font-weight:600!important}.vic-warning-content h1{font-size:18px!important}.vic-warning-content h2{font-size:16px!important}.vic-warning-content h3{font-size:15px!important}.vic-warning-content h4{font-size:14px!important}.vic-warning-content p{margin:0 0 12px!important;color:var(--text-primary)!important}.vic-warning-content ul,.vic-warning-content ol{margin:8px 0 12px!important;padding-left:20px!important;color:var(--text-primary)!important}.vic-warning-content li{margin-bottom:4px!important;color:var(--text-primary)!important}.vic-warning-content strong,.vic-warning-content b{font-weight:600!important;color:var(--text-primary)!important}.vic-warning-content span,.vic-warning-content div{color:var(--text-primary)!important}.vic-warning-content a{color:#f97316!important;text-decoration:underline!important}.vic-warning-content a:hover{color:#fb923c!important}.warning-details{--warning-accent: var(--text-secondary);font-size:13px;line-height:1.55;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word}.warning-details .warning-paragraph{margin:0 0 10px}.warning-details>.warning-paragraph:last-child,.warning-section-body>.warning-paragraph:last-child{margin-bottom:0}.warning-details .warning-emphasis{font-weight:700;font-size:14px;line-height:1.45}.warning-details .warning-notice{display:flex;gap:8px;margin:0 0 12px;padding:8px 10px;border-left:3px solid var(--warning-accent);border-radius:4px;background:color-mix(in srgb,var(--warning-accent) 12%,transparent);font-size:12px;color:var(--text-primary)}.warning-details .warning-notice:before{content:"!";flex:none;width:16px;height:16px;border-radius:50%;background:var(--warning-accent);color:#fff;font-weight:700;font-size:11px;line-height:16px;text-align:center}.warning-details .warning-list{margin:0 0 10px;padding-left:18px}.warning-details .warning-list li{margin-bottom:6px}.warning-details .warning-list li::marker{color:var(--warning-accent)}.warning-details .warning-list .warning-list{margin:6px 0 0;padding-left:16px}.warning-details .warning-list .warning-list li{margin-bottom:4px;list-style-type:circle}.warning-details .warning-fields{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 12px}.warning-details .warning-field{display:contents}.warning-details .warning-fields dt{color:var(--text-secondary);font-size:12px;white-space:nowrap}.warning-details .warning-fields dd{margin:0}.warning-details .warning-meta{margin:10px 0 0;font-size:12px;color:var(--text-secondary)}.warning-section{margin:0 0 6px;border-top:1px solid var(--border-color)}.warning-section:first-of-type{margin-top:4px}.warning-section-summary{display:flex;align-items:center;gap:8px;padding:9px 0;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.warning-section-summary::-webkit-details-marker{display:none}.warning-section-summary:before{content:"";flex:none;width:7px;height:7px;margin-left:2px;border-right:2px solid var(--warning-accent);border-bottom:2px solid var(--warning-accent);transform:rotate(-45deg);transition:transform .15s ease}.warning-section[open]>.warning-section-summary:before{transform:rotate(45deg)}.warning-section-heading{flex:1;font-weight:600;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--warning-accent)}.warning-section-count{font-size:11px;min-width:18px;padding:0 6px;border-radius:9px;background:var(--bg-tertiary);color:var(--text-secondary);text-align:center;line-height:18px}.warning-section[open]>.warning-section-summary .warning-section-count{display:none}.warning-section-body{padding:0 0 8px 17px}.warning-details .warning-link,.warning-details .warning-tel{color:var(--warning-accent);text-decoration:underline;text-underline-offset:2px}.warning-details .warning-tel{white-space:nowrap;font-weight:600}.warning-action{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border-radius:6px;background:color-mix(in srgb,var(--warning-accent) 28%,transparent);color:var(--text-primary);font-weight:700;font-size:15px}.warning-action-label{flex:none;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;opacity:.85}@media(max-width:480px){.warning-details .warning-fields{grid-template-columns:1fr;gap:2px}.warning-details .warning-fields dd{margin-bottom:6px}.warning-section-summary{padding:11px 0}.warning-section-body{padding-left:0}}.health-warning-content{font-size:13px!important;line-height:1.6!important;color:var(--text-primary)!important}.health-warning-content *{color:var(--text-primary)!important;background-color:transparent!important}.health-warning-content h1,.health-warning-content h2,.health-warning-content h3,.health-warning-content h4,.health-warning-content h5,.health-warning-content h6{color:var(--text-primary)!important;margin:16px 0 8px!important;font-weight:600!important}.health-warning-content h1{font-size:18px!important}.health-warning-content h2{font-size:16px!important}.health-warning-content h3{font-size:15px!important}.health-warning-content h4{font-size:14px!important}.health-warning-content p{margin:0 0 12px!important;color:var(--text-primary)!important}.health-warning-content ul,.health-warning-content ol{margin:8px 0 12px!important;padding-left:20px!important;color:var(--text-primary)!important}.health-warning-content li{margin-bottom:4px!important;color:var(--text-primary)!important}.health-warning-content strong,.health-warning-content b{font-weight:600!important;color:var(--text-primary)!important}.health-warning-content span,.health-warning-content div{color:var(--text-primary)!important}.health-warning-content a{color:#a78bfa!important;text-decoration:underline!important}.health-warning-content a:hover{color:#c4b5fd!important}.add-media-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.add-media-modal{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:560px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px #00000080;animation:modalIn .2s ease-out}.add-media-modal-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:none;background:var(--bg-tertiary);border-radius:50%;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);z-index:1;transition:all .15s ease}.add-media-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.add-media-modal-header{display:flex;align-items:flex-start;gap:14px;padding:22px 56px 18px 22px;border-bottom:1px solid var(--border-color);flex-shrink:0}.add-media-modal-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#f973162e,#dc26262e);color:#fb923c;border:1px solid rgba(249,115,22,.35)}.add-media-modal-header h2{margin:0 0 4px;font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.25}.add-media-modal-subtitle{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.4}.add-media-modal-content{padding:18px 22px 8px;overflow-y:auto;flex:1 1 auto;min-height:0}.add-media-steps{list-style:none;counter-reset:addmedia-step;margin:0;padding:0}.add-media-step{counter-increment:addmedia-step;display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-color)}.add-media-step:last-of-type{border-bottom:none}.add-media-step-icon{flex-shrink:0;position:relative;width:32px;height:32px;border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center}.add-media-step-icon:after{content:counter(addmedia-step);position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-fire-orange, #f97316);color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center;border:2px solid var(--bg-secondary)}.add-media-step strong{display:block;color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:2px}.add-media-step p{margin:0;color:var(--text-muted);font-size:.85rem;line-height:1.45}.add-media-step em{font-style:normal;color:var(--text-primary);background:var(--bg-tertiary);padding:1px 6px;border-radius:4px;font-size:.8rem;font-weight:600}.add-media-notice{margin:12px 0 4px;padding:12px 14px;border-radius:10px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);color:var(--text-secondary, var(--text-primary));font-size:.85rem;line-height:1.45}.add-media-notice strong{color:var(--text-primary);display:block;margin-bottom:6px}.add-media-notice ul{margin:0 0 8px;padding-left:18px}.add-media-notice li{margin-bottom:2px}.add-media-notice p{margin:0;color:var(--text-muted);font-size:.8rem}.add-media-modal-footer{display:flex;gap:10px;padding:14px 22px 18px;border-top:1px solid var(--border-color);flex-shrink:0}.add-media-modal-cancel,.add-media-modal-confirm{flex:1;min-height:44px;padding:0 16px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:filter .15s ease,background .15s ease,border-color .15s ease}.add-media-modal-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.add-media-modal-cancel:hover{background:var(--bg-hover)}.add-media-modal-confirm{background:linear-gradient(135deg,#f97316,#dc2626);border:1px solid transparent;color:#fff;box-shadow:0 6px 14px #dc262647}.add-media-modal-confirm:hover{filter:brightness(1.08)}@media(max-width:600px){.add-media-modal{max-height:92vh;border-radius:16px 16px 0 0;align-self:flex-end;margin-top:auto}.add-media-modal-overlay{padding:0;align-items:flex-end}.add-media-modal-header{padding:18px 52px 14px 18px}.add-media-modal-content{padding:14px 18px 6px}.add-media-modal-footer{padding:12px 18px calc(18px + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.add-media-modal-overlay,.add-media-modal{animation:none}}.leaflet-pm-toolbar{background:var(--bg-secondary, #151518)!important;border:1px solid var(--border-color, #333)!important;border-radius:8px!important;padding:4px!important;box-shadow:0 4px 12px #0006!important}.leaflet-pm-toolbar .button-container{background:transparent!important;border:none!important;margin:2px!important}@media(pointer:coarse){.leaflet-pane .marker-icon.leaflet-pm-draggable,.leaflet-pane .leaflet-pm-vertexmarker,.marker-icon.leaflet-div-icon.leaflet-pm-draggable{width:20px!important;height:20px!important;margin-left:-10px!important;margin-top:-10px!important;border-width:3px!important}}.leaflet-pm-toolbar .button-container a,.leaflet-pm-toolbar .button-container button{background:var(--bg-tertiary, #1a1a1a)!important;border:1px solid var(--border-color, #333)!important;border-radius:6px!important;color:var(--text-primary, #fff)!important;width:var(--touch-min)!important;height:var(--touch-min)!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s!important}.leaflet-pm-toolbar .button-container a:hover,.leaflet-pm-toolbar .button-container button:hover,.leaflet-pm-toolbar .button-container.active a,.leaflet-pm-toolbar .button-container.active button{background:var(--accent-color, #3b82f6)!important;border-color:var(--accent-color, #3b82f6)!important}.leaflet-pm-toolbar .button-container a svg,.leaflet-pm-toolbar .button-container button svg{fill:var(--text-primary, #fff)!important;stroke:var(--text-primary, #fff)!important}.leaflet-pm-actions-container{background:var(--bg-secondary, #151518)!important;border:1px solid var(--border-color, #333)!important;border-radius:6px!important;margin-left:8px!important;padding:4px!important}.leaflet-pm-actions-container a{background:var(--bg-tertiary, #1a1a1a)!important;color:var(--text-primary, #fff)!important;border-radius:4px!important;padding:4px 8px!important;margin:2px!important;font-size:12px!important;transition:all .2s!important}.leaflet-pm-actions-container a:hover{background:var(--accent-color, #3b82f6)!important}.leaflet-tooltip.leaflet-pm-tooltip{background:var(--bg-secondary, #151518)!important;border:1px solid var(--border-color, #333)!important;color:var(--text-primary, #fff)!important;border-radius:4px!important;font-size:12px!important;padding:4px 8px!important}.leaflet-tooltip.leaflet-pm-tooltip:before{border-right-color:var(--bg-secondary, #151518)!important}.watch-zone-popup-wrapper .leaflet-popup-content{padding:12px!important;margin:0!important;width:230px!important;min-width:0!important;max-width:230px!important;box-sizing:border-box!important}.leaflet-popup.watch-zone-popup-wrapper{z-index:10000!important}.watch-zone-popup-wrapper .leaflet-popup-content-wrapper{background:var(--bg-secondary, #1c1c1e)!important;color:var(--text-primary, #fff)!important;border-radius:8px!important;box-shadow:0 4px 16px #00000080!important}.watch-zone-popup-wrapper .leaflet-popup-tip{background:var(--bg-secondary, #1c1c1e)!important}.watch-zone-popup{padding:0}.watch-zone-popup-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.watch-zone-popup-header strong{color:var(--text-primary, #fff)}.watch-zone-popup-status{width:8px;height:8px;border-radius:50%;background:var(--text-secondary, #888)}.watch-zone-popup-status.enabled{background:#22c55e;box-shadow:0 0 6px #22c55e80}.watch-zone-popup-status.disabled{background:#6b7280}.watch-zone-popup-info{font-size:12px;color:var(--text-secondary, #666);margin-bottom:4px}.watch-zone-popup-types{display:flex;gap:4px}.watch-zone-popup-type{font-size:14px}.watch-zone-popup-edit{margin-top:10px;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:#22c55e24;color:#22c55e;border:1px solid rgba(34,197,94,.5);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.watch-zone-popup-edit:hover{background:#22c55e3d}.watch-zone-popup-edit svg{width:14px;height:14px}.mobile-zone-instruction-bar{display:none;position:absolute;top:70px;left:50%;transform:translate(-50%);z-index:1000;background:var(--bg-secondary, #1c1c1e);border:1px solid var(--border-color, #333);border-radius:12px;padding:12px 16px;box-shadow:0 4px 20px #0006;max-width:calc(100% - 32px);width:auto;min-width:280px}.mobile-zone-instruction-bar.drawing{top:auto;bottom:calc(120px + env(safe-area-inset-bottom,0px))}.mobile-zone-instruction-content{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--text-primary, #fff);font-size:14px;line-height:1.4}.mobile-zone-instruction-content svg{flex-shrink:0;color:var(--accent-color, #3b82f6)}.mobile-zone-instruction-back{width:100%;padding:10px 16px;background:var(--accent-color, #3b82f6);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.mobile-zone-instruction-back:hover{background:var(--accent-hover, #2563eb)}@media(max-width:768px){.mobile-zone-instruction-bar{display:block}}.leaflet-tooltip.aqi-leaflet-tooltip{background:#141414f2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border:none;border-radius:8px;padding:10px 14px;box-shadow:0 4px 20px #0006,0 0 0 1px #ffffff1a;text-align:center;line-height:1.4;white-space:normal;width:max-content;max-width:220px;pointer-events:none;animation:aqi-tooltip-pop .2s ease-out}.leaflet-tooltip-top.aqi-leaflet-tooltip:before{border-top-color:#141414f2}.aqi-tooltip-label{display:block;font-size:13px;font-weight:700;margin-bottom:4px}.aqi-tooltip-description{display:block;font-size:11px;color:#bbb}@keyframes aqi-tooltip-pop{0%{opacity:0}to{opacity:1}}.mobile-sidebar{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.mobile-sidebar-zone-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.mobile-sidebar-zone-back{background:transparent;border:1px solid var(--border-light);color:var(--text-primary);width:32px;height:32px;border-radius:6px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-sidebar-zone-back:hover{background:var(--bg-tertiary)}.mobile-sidebar-zone-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.mobile-sidebar-zone-body{flex:1;min-height:0;overflow-y:auto;padding:8px 12px 16px}.mobile-sidebar-status{padding:12px 16px;font-size:13px;color:var(--text-secondary);text-align:center}.mobile-sidebar-status-error{color:#fca5a5;background:#7f1d1d}.mobile-sidebar-footer{padding:8px 12px 10px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;background:var(--bg-primary);position:sticky;bottom:0;z-index:5}.mobile-sidebar-footer-cta{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:100%;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:500;text-align:left;cursor:pointer;min-height:48px;transition:background .15s,border-color .15s}.mobile-sidebar-footer-cta-primary{background:#3b82f61f;border:1px solid rgba(96,165,250,.45);color:#bfdbfe}.mobile-sidebar-footer-cta-primary:hover{background:#3b82f633}.mobile-sidebar-footer-cta-label{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.1}.mobile-sidebar-footer-cta-sub{font-size:11px;color:var(--text-secondary);font-weight:500;line-height:1.1}@media(max-width:768px){.leaflet-popup.fire-event-popup{display:none!important}}.mobile-fire-detail{position:absolute;top:var(--mobile-bottom-sheet-handle, 64px);left:0;right:0;bottom:0;display:flex;flex-direction:column;background:var(--bg-secondary, #0f172a);color:var(--text-primary, #e5e7eb);z-index:1000}.mobile-fire-detail-header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:12px 14px;color:#fff}.mobile-fire-detail-back{flex-shrink:0;background:#00000040;border:1px solid rgba(255,255,255,.3);color:#fff;width:var(--touch-min);height:var(--touch-min);display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;padding:0}.mobile-fire-detail-back:hover{background:#0006}.mobile-fire-detail-headline{flex:1;min-width:0}.mobile-fire-detail-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.4px;font-weight:600;opacity:.92;margin-bottom:2px}.mobile-fire-detail-title{margin:0;font-size:16px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mobile-fire-detail-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 24px}.mobile-fire-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.mobile-fire-detail-action{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;background:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-primary);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;min-height:44px}.mobile-fire-detail-action:hover{background:var(--bg-elevated)}.mobile-fire-detail-action-emergency{background:#dc2626;border-color:#b91c1c;color:#fff}.mobile-fire-detail-action-emergency:hover{background:#b91c1c}.mobile-fire-detail-facts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.mobile-fire-detail-fact-pill{display:inline-flex;align-items:center;padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:999px;font-size:12px;color:var(--text-secondary);font-weight:500}.mobile-fire-detail-fact-time{color:var(--text-secondary);border-style:dashed}.mobile-fire-detail-action-instruction{border:1px solid;border-radius:8px;padding:10px 12px;margin-bottom:14px;font-size:14px;color:var(--text-primary, #e5e7eb)}.mobile-fire-detail-section{margin-bottom:12px}.mobile-fire-detail-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-primary);border-radius:8px;padding:12px 14px;font-size:14px;font-weight:600;cursor:pointer;text-align:left;min-height:44px}.mobile-fire-detail-section-toggle:hover{background:var(--bg-elevated)}.mobile-fire-detail-toggle-arrow{font-size:13px;color:var(--text-secondary)}.mobile-fire-detail-warning-body{margin-top:8px;border:1px solid;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.55;background:#0f172a80}.mobile-fire-detail-warning-body p{margin:0 0 8px}.mobile-fire-detail-warning-body p:last-child{margin-bottom:0}.mobile-fire-detail-windline{background:#3b82f614;border:1px solid rgba(59,130,246,.25);color:#93c5fd;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mobile-fire-detail-section-label{display:inline-flex;align-items:center;gap:8px}.mobile-fire-detail-windline strong{color:var(--text-primary)}.mobile-fire-detail-windline-gust{color:var(--text-secondary);font-size:12px}.mobile-fire-detail-meta{font-size:13px;color:var(--text-primary, #e5e7eb);margin-bottom:12px;line-height:1.5}.mobile-fire-detail-meta-muted{color:var(--text-secondary);font-size:12px}.mobile-fire-detail-comments-wrap{margin-top:8px;padding:8px 0}.mobile-fire-detail-footnote{font-size:11px;color:var(--text-muted);text-align:center;margin-top:16px;font-variant-numeric:tabular-nums}.aircraft-trail-line{animation:aircraftTrailGlow 2.6s ease-in-out infinite}@keyframes aircraftTrailGlow{0%,to{filter:drop-shadow(0 0 .5px rgba(255,255,255,.12))}50%{filter:drop-shadow(0 0 3px rgba(255,255,255,.5))}}@media(prefers-reduced-motion:reduce){.aircraft-trail-line{animation:none}}.power-coverage-notice{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:1400;display:flex;align-items:flex-start;gap:8px;max-width:min(92vw,420px);padding:8px 12px;background:var(--bg-elevated, #1f2937);border:1px solid var(--border-light, #4b5563);border-left:3px solid #eab308;border-radius:8px;box-shadow:0 6px 20px #0006;color:var(--text-primary, #f3f4f6);font-size:12px;line-height:1.4;pointer-events:none}.power-coverage-notice-icon{color:#eab308;flex-shrink:0}.power-coverage-notice-close{pointer-events:auto;flex-shrink:0;margin:-6px -8px -6px 0;min-width:36px;min-height:36px;background:none;border:none;color:var(--text-secondary, #9ca3af);font-size:20px;line-height:1;cursor:pointer}.power-coverage-notice-close:hover{color:var(--text-primary, #f3f4f6)}.sat-res-hint{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:1500;display:flex;align-items:center;gap:10px;max-width:min(94vw,460px);padding:8px 10px 8px 14px;background:var(--bg-elevated, #1f2937);border:1px solid var(--border-light, #4b5563);border-left:3px solid #eab308;border-radius:10px;box-shadow:0 8px 28px #00000073;color:var(--text-primary, #f3f4f6);animation:satResHintIn .2s ease-out}@keyframes satResHintIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.sat-res-hint-icon{color:#eab308;flex-shrink:0}.sat-res-hint-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.sat-res-hint-text strong{font-size:12.5px;font-weight:600}.sat-res-hint-text span{font-size:11.5px;color:var(--text-secondary, #9ca3af)}.sat-res-hint-action{flex-shrink:0;padding:7px 12px;background:#eab308;color:#1a1a1a;border:none;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;min-height:34px}.sat-res-hint-action:hover{background:#ca9a04}.sat-res-hint-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;color:var(--text-muted, #6b7280);cursor:pointer;border-radius:6px}.sat-res-hint-close:hover{background:#ffffff14;color:var(--text-secondary, #9ca3af)}@media(max-width:768px){.sat-res-hint{top:30vh;max-width:92vw}}.mobile-fire-detail-verdict{border:1px solid;border-left-width:4px;border-radius:8px;padding:10px 12px;margin-bottom:14px}.mobile-fire-detail-verdict-headline{font-size:15px;font-weight:700;line-height:1.35}.mobile-fire-detail-verdict-blurb{font-weight:500;opacity:.9}.mobile-fire-detail-verdict-detail{margin-top:3px;font-size:12.5px;color:var(--text-secondary);line-height:1.45}.mobile-fire-detail-verdict-enable{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:7px;color:var(--text-primary);font-size:12px;font-weight:600;cursor:pointer;min-height:34px}.mobile-fire-detail-verdict-enable:hover{background:var(--bg-elevated)}.mobile-fire-detail-forecast-unit{text-transform:none;letter-spacing:0;color:var(--text-muted);font-weight:500}.mobile-fire-detail-forecast-scroll{position:relative;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent)}.mobile-fire-detail-forecast-tile.is-peak{background:#3b82f652;outline:1px solid rgba(96,165,250,.8)}.mobile-fire-detail-forecast-tile.is-peak .mobile-fire-detail-forecast-speed{color:#fff}.mobile-fire-detail-coords{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}.mobile-fire-detail-coords-maps{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:7px;color:var(--text-primary);font-size:12px;font-weight:600;text-decoration:none;min-height:34px}.mobile-fire-detail-coords-maps:hover{background:var(--bg-elevated)}.mobile-fire-detail-coords-copy{background:none;border:none;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;cursor:pointer;padding:6px 4px}.mobile-fire-detail-coords-copy:hover{color:var(--text-secondary)}.mobile-fire-detail-3d-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:2px 0 14px;padding:11px 14px;background:#7c3aed24;color:#c4b5fd;border:1px solid rgba(124,58,237,.5);border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;min-height:46px}.mobile-fire-detail-3d-cta:hover,.mobile-fire-detail-3d-cta:active{background:#7c3aed38;border-color:#7c3aedb3}.mobile-fire-detail-3d-cta-arrow{margin-left:auto;opacity:.85}.mobile-fire-detail-forecast{background:#3b82f60f;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:10px 12px;margin-bottom:12px}.mobile-fire-detail-forecast-label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#60a5fa;font-weight:600;margin-bottom:8px}.mobile-fire-detail-forecast-strip{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.mobile-fire-detail-forecast-strip::-webkit-scrollbar{display:none}.mobile-fire-detail-forecast-tile{flex-shrink:0;width:48px;background:#3b82f61f;border-radius:6px;padding:6px 4px;text-align:center;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:center;gap:2px}.mobile-fire-detail-forecast-time{font-size:10px;color:var(--text-secondary)}.mobile-fire-detail-forecast-speed{font-size:13px;font-weight:700;color:#93c5fd}.mobile-fire-detail-forecast-dir{font-size:9px;color:var(--text-muted);text-transform:uppercase}.mobile-fire-detail-response{background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:8px;padding:10px 12px;margin-bottom:12px}.mobile-fire-detail-response-label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#fca5a5;font-weight:600;margin-bottom:8px;display:inline-flex;align-items:center;gap:6px}.mobile-fire-detail-response-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:3px 0;line-height:1.4}.mobile-fire-detail-response-key{color:var(--text-secondary);flex-shrink:0}.mobile-fire-detail-response-val{color:var(--text-primary);text-align:right}.mobile-fire-detail-meta-row{margin-bottom:4px;display:flex;align-items:center;gap:6px}.mobile-fire-detail-meta-row svg{flex-shrink:0}.mobile-fire-detail-meta-row:last-child{margin-bottom:0}.mobile-fire-detail-social-wrap{margin-top:8px;padding:4px 0}.evac-compass{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 16px 14px;background:linear-gradient(180deg,#22c55e0f,#0f172a66),#0f172a8c;border:1px solid rgba(34,197,94,.25);border-radius:12px;margin:12px 0}.evac-compass svg{shape-rendering:geometricPrecision;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,system-ui,sans-serif}.evac-compass-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;width:100%;margin-top:2px}.evac-compass-legend-item{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:999px;font-size:11px;font-weight:500;color:var(--text-secondary, #cbd5e1);white-space:nowrap;line-height:1}.evac-compass-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.evac-compass-dot-safe{background:#22c55e;box-shadow:0 0 0 2px #22c55e2e}.evac-compass-dot-caution{background:#eab308;box-shadow:0 0 0 2px #eab3082e}.evac-compass-dot-danger{background:#ef4444;box-shadow:0 0 0 2px #ef44442e}.evac-compass-line{width:14px;height:2px;border-radius:1px;flex-shrink:0}.evac-compass-line-spread{background:linear-gradient(90deg,#7f1d1d,#ef4444)}.evac-compass-line-forecast{background:repeating-linear-gradient(90deg,#f59e0b 0 3px,transparent 3px 5px)}.evac-compass-summary{width:100%;padding:10px 12px;border-radius:8px;background:#22c55e1f;border:1px solid rgba(34,197,94,.32);color:#bbf7d0;font-size:12.5px;font-weight:600;line-height:1.4;text-align:center}.evac-compass-summary--awareness{background:#eab3081f;border-color:#eab30859;color:#fde68a}.evac-compass-enable-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;padding:0 14px;border-radius:8px;border:1px solid var(--color-safe-blue, #3b82f6);background:#3b82f624;color:#bfdbfe;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,filter .15s}.evac-compass-enable-btn:hover{background:#3b82f638}.evac-compass-disclaimer{font-size:10.5px;color:var(--text-muted, #64748b);text-align:center;font-style:italic;padding:0 4px}@media(prefers-reduced-motion:reduce){.evac-compass svg *{animation:none!important;transition:none!important}}.watch-zone-promo{position:relative;display:grid;align-items:center;gap:10px;padding:12px 12px 12px 14px;border-radius:10px;background:linear-gradient(135deg,#3b82f624,#3b82f60f);border:1px solid rgba(96,165,250,.4);border-left:3px solid #3b82f6;color:var(--text-primary, #f1f5f9);margin:12px 0}.watch-zone-promo-pill{grid-template-columns:32px 1fr auto;grid-template-areas:"icon body actions" "icon body actions"}.watch-zone-promo-banner{grid-template-columns:40px 1fr;grid-template-areas:"icon body" ". actions";padding:14px;row-gap:8px}.watch-zone-promo-icon{grid-area:icon;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#3b82f638;color:#93c5fd;flex-shrink:0}.watch-zone-promo-banner .watch-zone-promo-icon{width:40px;height:40px}.watch-zone-promo-body{grid-area:body;min-width:0}.watch-zone-promo-title{font-size:13.5px;font-weight:700;color:var(--text-primary, #f1f5f9);line-height:1.25;margin-bottom:2px}.watch-zone-promo-desc{font-size:12px;font-weight:500;color:var(--text-secondary, #cbd5e1);line-height:1.4}.watch-zone-promo-actions{grid-area:actions}.watch-zone-promo-cta{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.2px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:filter .15s ease,transform .05s linear}.watch-zone-promo-cta:hover{filter:brightness(1.08)}.watch-zone-promo-cta:active{transform:scale(.98)}.watch-zone-promo-banner .watch-zone-promo-cta{width:100%;min-height:40px}.watch-zone-promo-dismiss{position:absolute;top:6px;right:6px;width:22px;height:22px;border:none;background:transparent;color:var(--text-muted, #94a3b8);font-size:16px;line-height:1;cursor:pointer;border-radius:4px;padding:0;display:flex;align-items:center;justify-content:center}.watch-zone-promo-dismiss:hover{background:#ffffff0f;color:var(--text-primary, #f1f5f9)}@media(max-width:480px){.watch-zone-promo-pill{grid-template-columns:32px 1fr;grid-template-areas:"icon body" ". actions";row-gap:8px}.watch-zone-promo-pill .watch-zone-promo-cta{width:100%}}.app--compact-header .app-header{padding:0;padding-top:env(safe-area-inset-top,0px)}.app--compact-header .app-header-top{gap:6px;min-height:56px;box-sizing:border-box;padding:6px 8px;border-bottom:none}.app--compact-header .app-title{flex-shrink:0}.app--compact-header .app-title-text{display:none}.app--compact-header .app-title-logo{height:32px}.app-header-back{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;min-height:var(--touch-min);padding:0 10px 0 4px;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer}.app-header-back:active{background:var(--bg-hover)}.app--compact-header .app-header-search{flex:1;min-width:0}.app--compact-header .app-header-search .location-search{margin-bottom:0!important}.app--compact-header .app-header-search .form-input{height:var(--touch-min);padding:10px 34px 10px 12px!important;font-size:16px!important;border-radius:8px!important}.app--compact-header .app-header-search .form-input:focus{outline:2px solid var(--color-fire-orange);border-color:var(--color-fire-orange)!important}.app--compact-header .app-header-search .location-search-results{position:fixed!important;top:calc(var(--app-header-height) + 4px)!important;left:8px!important;right:8px!important;margin-top:0!important;max-height:50dvh!important}.app--compact-header .app-header-search .location-search-error{position:fixed;top:calc(var(--app-header-height) + 4px);left:8px;right:8px;margin-top:0!important;padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px}.app--compact-header .app-header-meta{flex-shrink:0;gap:2px}.app--compact-header .notification-badge-btn,.app--compact-header .user-menu-about-btn,.app--compact-header .user-menu-button{border-color:transparent;background:transparent}.app--compact-header .notification-badge-btn,.app--compact-header .user-menu-about-btn{width:var(--touch-min);height:var(--touch-min)}.app--compact-header .compact-panel-host{position:static;height:0}.app--compact-header .compact-panel{position:fixed;top:calc(var(--app-header-height) + 8px);left:8px;right:8px;z-index:1120;max-height:calc(100dvh - var(--app-header-height) - 88px - env(safe-area-inset-bottom,0px))}.compact-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.compact-panel-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:-6px -6px -6px 0;padding:0;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer}.compact-panel-close:active{background:var(--bg-hover)}.top-banners-stack{pointer-events:none}.top-banners-stack>*{pointer-events:auto}.tour-banner{display:flex;align-items:center;gap:2px;width:fit-content;max-width:calc(100% - 16px);margin:8px 8px 0;padding:0 0 0 12px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:22px;box-shadow:0 4px 12px #00000059}.tour-banner-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0;background:transparent;border:none;color:var(--text-primary);font-size:14px;font-weight:500;text-align:left;cursor:pointer}.tour-banner-dismiss{width:40px;height:40px;flex-shrink:0;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer}.mobile-sheet-refresh{display:inline-flex;align-items:center;gap:4px;margin:-8px -4px;padding:8px 4px;background:transparent;border:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.mobile-sheet-refresh:disabled{cursor:default}.mobile-sheet-refresh.is-stale{color:#f59e0b}.mobile-sheet-refresh-icon.is-spinning,.refresh-button-icon.is-spinning{animation:spin .9s linear infinite}.refresh-button{display:inline-flex;align-items:center;justify-content:center}.map-control-stack-group{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.map-control-stack-actions{margin-bottom:8px}.map-control-stack .map-action-btn{position:relative}.map-control-stack .map-action-btn.is-open{background:var(--bg-hover);border-color:var(--text-muted)}.map-action-btn-text{font-size:14px;font-weight:700;letter-spacing:.02em}.map-control-stack .map-action-btn-watchzone{color:#22c55e}.map-action-dot,.header-control-btn-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-safe-blue);box-shadow:0 0 0 2px var(--bg-elevated)}@media(pointer:coarse){.leaflet-control-zoom{display:none}}.field-mode-badge{order:1;flex-shrink:0;padding:2px 7px;border-radius:999px;background:#22c55e29;border:1px solid rgba(34,197,94,.55);color:#22c55e;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.4}.radio-feed-group{border-bottom:1px solid var(--border-color)}.radio-feed-group-summary{display:flex;align-items:center;gap:10px;padding:11px 14px;min-height:44px;box-sizing:border-box;font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;list-style:none;background:var(--bg-tertiary)}.radio-feed-group-summary::-webkit-details-marker{display:none}.radio-feed-group-summary:before{content:"▸";font-size:11px;color:var(--text-muted);transition:transform .15s}.radio-feed-group[open]>.radio-feed-group-summary:before{transform:rotate(90deg)}.radio-feed-group-count{margin-left:auto;flex-shrink:0;min-width:22px;padding:1px 7px;border-radius:999px;background:var(--radio-count-bg);color:var(--radio-count-fg);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;line-height:1.5}.radio-feed-group-count.radio-feed-group-count-empty{padding:0;min-width:0;background:none;color:var(--text-muted);font-weight:500}.radio-feed-group .header-control-dropdown-item{padding-left:35px}.radio-feed-group .header-control-dropdown-item:last-child{border-bottom:none}.header-control-dropdown-item.radio-feed-all{font-size:12px;color:var(--text-secondary)}.radio-feed-hint{margin:0;padding:10px 14px;font-size:12px;line-height:1.4;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.radio-now-playing{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 14px;font-size:12px;color:var(--text-primary);background:#22c55e1a;border-bottom:1px solid rgba(34,197,94,.45)}.radio-now-playing-label{flex:1 1 100%}.radio-now-playing-btn{min-height:32px;padding:4px 10px;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-size:12px;cursor:pointer}.team-sharing-badge{order:1;flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;background:#3b82f629;border:1px solid rgba(59,130,246,.6);color:#3b82f6;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.4;cursor:pointer}.team-sharing-dot{width:7px;height:7px;border-radius:50%;background:#3b82f6;animation:team-sharing-pulse 2s ease-in-out infinite}@keyframes team-sharing-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.team-sharing-dot{animation:none}}.map-control-btn.map-action-sos{background:#dc2626;border-color:#dc2626;color:#fff;font:900 12px/1 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;letter-spacing:.04em}.map-control-btn.map-action-sos:hover{background:#b91c1c}
