.ol-control button{background:#0b1f33}.ol-control button:hover,.ol-control button:focus{background:#16456c}.ol-attribution{font-size:11px;max-width:calc(100% - 12px)}.ol-attribution ul{white-space:normal}.ol-attribution a{color:#00334f}.satellite-layer{mix-blend-mode:screen;filter:contrast(1.9) brightness(1.25)}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e9f2fa;background:#071521;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}.app-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;height:100dvh;overflow:hidden;background:#071521}.topbar{align-items:center;background:#0b1f33;display:flex;justify-content:space-between;padding:22px clamp(20px,4vw,56px)}.eyebrow,.panel-kicker{color:#71c6e8;font-size:.72rem;font-weight:800;letter-spacing:.14em;margin:0 0 5px;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:clamp(1.25rem,2vw,1.75rem);margin-bottom:0}h2{font-size:1.25rem;margin-bottom:24px}.status{align-items:center;color:#a7b7c5;display:flex;font-size:.8rem;gap:8px}.language-switch{display:flex;gap:5px}.language-switch button{background:#143650;border:1px solid #2c5873;border-radius:6px;color:#afc1cf;cursor:pointer;padding:6px 9px}.language-switch button[aria-pressed=true]{background:#2c5873;color:#fff}.topbar{flex-wrap:wrap;gap:12px}.status-dot{background:#8b9aa8;border-radius:50%;height:8px;width:8px}.status-ready .status-dot{background:#50d49a;box-shadow:0 0 0 4px #50d49a26}.content{position:relative;display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;min-width:0}.control-panel{background:#102a40;min-height:0;overflow-y:auto;padding:30px 24px}.layer-toggle{align-items:center;cursor:pointer;display:flex;gap:12px;position:relative}.layer-toggle input{height:1px;opacity:0;position:absolute;width:1px}.toggle-track{background:#41576a;border-radius:20px;flex:0 0 auto;height:22px;position:relative;transition:background .2s ease;width:40px}.toggle-track:after{background:#fff;border-radius:50%;content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform .2s ease;width:16px}.layer-toggle input:checked+.toggle-track{background:#28a7d1}.layer-toggle input:checked+.toggle-track:after{transform:translate(18px)}.layer-toggle strong,.layer-toggle small{display:block}.layer-toggle strong{font-size:.9rem}.layer-toggle small{color:#91a8b9;font-size:.72rem;margin-top:4px}.layer-group{margin-bottom:25px}.layer-group-title{color:#7fa1b8;font-size:.68rem;font-weight:800;letter-spacing:.1em;margin-bottom:13px;text-transform:uppercase}.info-box{border-left:2px solid #287795;color:#afc1cf;font-size:.76rem;line-height:1.55;padding-left:12px}.info-box strong{color:#e9f2fa}.info-box p{margin:5px 0 0}.layer-error{color:#f5b3a9;font-size:.72rem;line-height:1.4;margin:10px 0 0}.opera-legend-item{display:inline-flex;align-items:center;gap:4px;margin:4px 8px 4px 0;font-size:.72rem}.location-search{margin:20px 0;font-size:.75rem}.location-search label{display:block;margin-bottom:6px}.location-search-input{display:flex;gap:5px}.location-search select{width:100%;min-height:44px;margin-bottom:12px;padding:8px;border:1px solid #2c5873;border-radius:6px;background:#143650;color:#fff}.location-search-input input{min-width:0;width:100%;padding:8px;border:1px solid #2c5873;border-radius:6px}.location-search button{background:#143650;color:#fff;border:1px solid #2c5873;border-radius:6px;padding:7px;cursor:pointer}.location-search button:disabled{opacity:.5;cursor:default}.location-search small{display:block;color:#afc1cf;margin-top:5px}.location-results{list-style:none;padding:0;max-height:260px;overflow-y:auto}.location-results button{width:100%;text-align:left;margin-bottom:4px}.opera-legend-item>span{width:14px;height:12px;border-radius:2px}.reload-button{background:transparent;border:1px solid #2c5873;border-radius:6px;color:#afc1cf;cursor:pointer;font-size:.72rem;margin-top:8px;padding:4px 10px}.reload-button:hover:not(:disabled){background:#2c5873;color:#fff}.reload-button:disabled{cursor:default;opacity:.5}.station-help{color:#91a8b9;font-size:.72rem;line-height:1.5;margin:12px 0 0}.radar-legend{color:#afc1cf;font-size:.72rem;margin-top:14px}.radar-legend summary{color:#9bcde1;cursor:pointer}.radar-timeline{background:#05142194;border:1px solid rgba(137,177,199,.2);border-radius:7px;margin-top:16px;padding:11px}.radar-timeline progress{accent-color:#22afd0;width:100%}.radar-time-heading{align-items:baseline;color:#afc1cf;display:flex;font-size:.72rem;justify-content:space-between}.radar-time-heading time,.radar-time-heading>span:last-child{color:#fff;font-size:.8rem;font-weight:700}.radar-slider{accent-color:#48b9df;display:block;margin:12px 0;width:100%}.radar-controls{display:grid;gap:5px;grid-template-columns:repeat(4,minmax(0,1fr))}.radar-controls button{background:#173a53;border:1px solid #315871;border-radius:4px;color:#e9f2fa;cursor:pointer;font:inherit;font-size:.65rem;min-height:28px;padding:4px}.radar-controls button:hover:not(:disabled){background:#205879}.radar-controls button:disabled{cursor:default;opacity:.45}.satellite-opacity{align-items:center;display:flex;font-size:13px;gap:10px;justify-content:space-between}.satellite-opacity input{flex:1}.radar-range-note{color:#91a8b9;display:block;font-size:.63rem;line-height:1.4;margin-top:8px}.radar-loading-status{min-height:2.8em;margin-bottom:0}.radar-loading-status-idle{visibility:hidden}.radar-legend-content{align-items:flex-start;display:flex;gap:10px;margin-top:10px}.radar-legend-content img{background:#fff;max-height:230px;width:auto}.radar-legend-content p{line-height:1.45;margin:0}.station-card{background:#143650;border:1px solid #2c5873;border-radius:8px;margin-top:24px;padding:16px;position:relative}.station-card h3{font-size:.95rem;margin:0;padding-right:20px}.station-card-close{background:transparent;border:0;color:#afc1cf;cursor:pointer;font-size:1.35rem;line-height:1;padding:0;position:absolute;right:12px;top:12px}.observed-at{color:#91a8b9;display:block;font-size:.7rem;margin:3px 0 12px}.observed-label{color:#afc1cf;font-size:.68rem;margin:12px 0 0}.station-card dl{display:grid;gap:7px;margin:0}.station-card dl div{align-items:baseline;display:flex;justify-content:space-between}.station-card dt{color:#afc1cf;font-size:.75rem}.forecast{border-top:1px solid #2c5873;margin-top:14px;padding-top:10px}.forecast-tabs{display:flex;gap:6px;margin-bottom:8px}.forecast-tabs button{background:transparent;border:1px solid #2c5873;border-radius:6px;color:#afc1cf;cursor:pointer;flex:1;font-size:.72rem;padding:4px}.forecast-tabs button[aria-pressed=true]{background:#2c5873;color:#fff}.forecast-list{list-style:none;margin:0;max-height:260px;overflow-y:auto;padding:0}.forecast-list li{align-items:center;display:grid;font-size:.75rem;gap:6px;grid-template-columns:52px 20px 1fr auto;padding:3px 0}.forecast-list small,.forecast-status,.forecast-source{color:#91a8b9;font-size:.68rem}.forecast-wind{grid-column:1 / -1;text-align:right;padding-bottom:4px}.forecast-chart{margin:10px 0}.warnings-panel{font-size:.75rem;line-height:1.5;margin-top:12px}.warnings-panel>small,.warnings-panel>button{display:block}.warnings-panel details{margin-top:12px}.warning-level{display:flex;align-items:center;gap:7px;margin-top:5px}.warning-level>span{width:14px;height:14px}.warning-card{position:relative;border:1px solid #54718a;border-radius:6px;padding:12px;margin-top:12px}.warning-card h3{font-size:.85rem;padding-right:12px}.warning-original{white-space:pre-wrap}@media(min-width:701px){.detail-highlight{animation:detail-highlight 1.8s ease-out}@keyframes detail-highlight{0%{outline:2px solid #71c6e8;outline-offset:3px}to{outline:2px solid transparent;outline-offset:3px}}}@media(min-width:701px)and (prefers-reduced-motion:reduce){.detail-highlight{animation:none;outline:2px solid #71c6e8;outline-offset:3px}}.forecast-chart figcaption{color:#45b9e5;font-size:.65rem;margin-bottom:6px}.forecast-chart figcaption span{color:#ffb454}.forecast-chart svg{display:block;width:100%}.forecast-chart text{fill:#afc1cf;font-size:10px}.forecast-status{margin:4px 0}.forecast-source{display:block;margin-top:6px}.station-card dd{color:#fff;font-size:.8rem;font-weight:700;margin:0}.map{background:#c9d5df;min-height:0;min-width:0;overflow:hidden}footer{background:#071521;color:#7690a2;font-size:.7rem;padding:12px clamp(20px,4vw,56px)}.consent-settings-link{color:#b6d9ed;background:none;border:0;cursor:pointer;font:inherit;font-size:.8rem;padding:4px 0;min-height:32px;text-decoration:underline}.consent-panel{position:fixed;z-index:1000;bottom:12px;left:50%;transform:translate(-50%);width:min(680px,calc(100vw - 24px));max-height:min(80dvh,650px);overflow:auto;padding:18px;border:1px solid #7690a2;border-radius:10px;background:#102a40;color:#e9f2fa;box-shadow:0 4px 24px #000b;font-size:.9rem;line-height:1.45}.consent-panel h2{font-size:1.1rem;margin:0 0 10px}.consent-panel p{margin:0 0 10px}.consent-panel a{color:#8bdcff}.consent-actions{display:flex;flex-wrap:wrap;gap:8px}.consent-panel button{background:#143650;border:1px solid #9bbcd0;border-radius:6px;color:#fff;cursor:pointer;min-height:44px;padding:8px 12px}.consent-close{margin-top:8px}.mobile-floating,.mobile-panel-header,.mobile-panel-scrim{display:none}.desktop-panel,.desktop-panel>.mobile-panel-surface,.desktop-panel>.mobile-panel-surface>.mobile-panel-body,.panel-section{display:contents}.panel-section[hidden]{display:none}.legal-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:6px}.legal-links a{color:#b6d9ed;display:inline-flex;align-items:center;min-height:32px;font-size:.8rem}.legal-dialog{background:#102a40;color:#e9f2fa;border:1px solid #7690a2;border-radius:10px;padding:0;width:min(840px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;font-size:1rem}.legal-dialog::backdrop{background:#000000bf}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;position:sticky;top:0;background:#102a40;border-bottom:1px solid #456780}.legal-header h2{margin:0}.legal-header button{background:#143650;border:1px solid #7690a2;border-radius:6px;color:#fff;min-height:44px;padding:8px 12px;cursor:pointer}.legal-body{padding:20px;line-height:1.6;overflow-wrap:anywhere}.legal-body a,.forecast-source a,.location-search small a{color:#8bdcff}.legal-body h3{margin:24px 0 8px}.legal-body li{margin-bottom:12px}.legal-body dt{font-weight:700}.legal-body dd{margin:0 0 12px}.legal-address{white-space:pre-line}.legal-draft{border-left:4px solid #ffc766;background:#3a3020;padding:12px}.layer-toggle input:focus-visible+.toggle-track{outline:2px solid #fff;outline-offset:4px}.locate-control{position:absolute;z-index:25;top:90px;right:12px;max-width:240px}.locate-button{display:block;margin-left:auto;width:48px;height:48px;border:1px solid #54718a;border-radius:50%;background:#102a40ed;color:#fff;font-size:1.7rem;cursor:pointer;box-shadow:0 3px 14px #0004}.locate-button:disabled{opacity:.6;cursor:default}.locate-status{background:#102a40;color:#e9f2fa;padding:10px;border-radius:10px;margin-top:8px;font-size:.8rem}.locate-status p{margin:0}.locate-status button,.locate-dialog button{min-width:44px;min-height:44px;border:1px solid #54718a;border-radius:8px;background:#143650;color:#fff;padding:8px 12px;cursor:pointer}.locate-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;border:1px solid #54718a;border-radius:14px;padding:24px;background:#102a40;color:#e9f2fa;line-height:1.5}.locate-dialog::backdrop{background:#000a}.locate-dialog h2{margin-bottom:16px}@media(max-width:700px){.locate-control{top:calc(124px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));right:auto;max-width:min(220px,calc(100% - 88px))}.locate-button{margin-left:0}.locate-dialog{padding-bottom:max(24px,env(safe-area-inset-bottom))}.app-shell{display:block;height:100dvh}.topbar,.desktop-only{display:none}.desktop-footer,.control-panel{display:contents}.content{display:block;position:relative;height:100%}.map{position:absolute;inset:0;height:100%}.map .ol-zoom{display:none}.map .ol-attribution{bottom:env(safe-area-inset-bottom);right:env(safe-area-inset-right);max-width:calc(100% - 8px - env(safe-area-inset-left) - env(safe-area-inset-right));font-size:9px}.map .ol-attribution button{width:44px;height:44px;margin:0;font-size:12px;border-radius:50%}.map .ol-attribution.ol-collapsed{background:transparent;padding:0}.map .ol-attribution.ol-collapsed button{background:radial-gradient(circle,#0b1f33 0 10px,transparent 11px)}.map .ol-attribution a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}.mobile-floating{display:block;position:absolute;inset:0;z-index:20;pointer-events:none}.mobile-floating button,.mobile-floating input,.timeline-dock{pointer-events:auto}.mobile-floating button,.mobile-panel button{color:#e9f2fa;background:#143650;border:1px solid #54718a;cursor:pointer;font:inherit;min-height:44px;min-width:44px;border-radius:12px}.mobile-floating button:disabled,.mobile-panel button:disabled{opacity:.45;cursor:default}.mobile-search-area{position:absolute;top:calc(4px + env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:center;gap:4px}.mobile-floating .mobile-search-pill{width:min(88%,360px);min-height:44px;border-radius:24px;text-align:left;padding:0 14px;font-size:.88rem;box-shadow:0 3px 14px #0005;background:#102a40ed}.mobile-search-pill>span{margin-right:8px;font-size:1.4rem}.mobile-floating .mobile-warning-chip{font-size:.82rem;border-radius:24px;padding:0 16px;color:#fff;background:#573f12ed;border-color:#f4d03f}.mobile-floating .warning-level-2{border-color:#f39c12;background:#633b12ed}.mobile-floating .warning-level-3{border-color:#e53935;background:#671b1bed}.mobile-floating .warning-level-4{border-color:#bd68d4;background:#501563ed}.mobile-edge-buttons{position:absolute;right:calc(12px + env(safe-area-inset-right));top:max(calc(124px + env(safe-area-inset-top)),24dvh);display:flex;flex-direction:column;gap:12px}.mobile-edge-buttons button{width:48px;height:48px;border-radius:50%;background:#102a40ed;box-shadow:0 3px 14px #0004;font-size:1.6rem}@supports (backdrop-filter: blur(12px)){.mobile-edge-buttons button,.mobile-floating .mobile-search-pill,.timeline-dock{background:#102a40ce;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.mobile-panel{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none;transition:visibility .25s}.mobile-panel.is-open{visibility:visible;pointer-events:auto}.mobile-panel-scrim{display:block;position:absolute;inset:0;background:#0009;opacity:0;transition:opacity .25s}.mobile-panel-surface{position:absolute;inset:8px 0 0;display:flex;flex-direction:column;background:#102a40;border-radius:18px 18px 0 0;transform:translateY(105%);transition:transform .25s ease;overflow:hidden}.mobile-panel.is-open .mobile-panel-surface{transform:translateY(0)}.mobile-panel.is-open .mobile-panel-scrim{opacity:1}.mobile-panel-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-bottom:1px solid #2c5873;touch-action:pan-x}.mobile-panel-header button{width:48px;height:48px;font-size:1.5rem}.mobile-panel-header h2{margin:0;font-size:1.2rem}.mobile-panel-body{padding:20px max(16px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;overflow-wrap:anywhere}.mobile-panel .location-search{margin-top:0;font-size:.95rem}.mobile-panel .location-results{max-height:none}.mobile-panel .layer-group-title{font-size:.8rem}.mobile-panel .layer-toggle strong{font-size:1rem}.mobile-panel .layer-toggle small,.mobile-panel .station-help,.mobile-panel .radar-range-note,.mobile-panel .layer-error{font-size:.82rem}.mobile-panel .layer-toggle{padding:8px 0}.mobile-panel .layer-toggle input{width:44px;height:44px}.mobile-panel .station-card{margin-top:16px}.mobile-panel .station-card-close{display:none}.mobile-panel .forecast-list{max-height:none}.mobile-panel .forecast-list li{font-size:.9rem;padding:10px 0}.mobile-panel .forecast-list small,.mobile-panel .forecast-source{font-size:.8rem}.mobile-panel .warning-card{font-size:.95rem}.mobile-panel .warning-card h3{font-size:1.05rem;padding:0}.mobile-panel .legal-links{margin:20px 0;flex-direction:column}.mobile-panel .legal-links a{min-height:44px;font-size:1rem}.mobile-panel .legal-header{padding:12px 0;position:static}.mobile-panel .legal-header h2{font-size:1rem}.mobile-panel .legal-body{padding:0}.mobile-panel .consent-settings-link{margin-bottom:20px}.mobile-panel .show-on-map{width:100%}.install-app{margin-bottom:20px;font-size:.9rem;line-height:1.5}.install-app>button{width:100%}.install-app p{margin:12px 0}.install-instructions{border-left:2px solid #71c6e8;padding-left:12px}.mobile-panel .radar-controls,.mobile-panel .radar-slider{display:none}.mobile-panel summary,.layer-toggle{min-height:44px}.mobile-panel input[type=search],.mobile-panel input[type=text],.mobile-panel select{font-size:16px;min-height:44px}.mobile-panel input[type=range]{min-height:44px}.mobile-panel-body a:not(.legal-links a){display:inline-block;min-height:44px;min-width:44px;align-content:center}.timeline-dock{position:absolute;bottom:calc(2px + var(--map-attribution-height, 44px) + env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));max-width:420px;margin:0 auto;border:1px solid #54718a;border-radius:14px;padding:2px 6px;background:#102a40ed;box-shadow:0 4px 20px #0006}.timeline-dock-heading,.timeline-dock-controls{display:flex;align-items:center;gap:4px}.timeline-dock-heading{justify-content:space-between}.timeline-dock-heading>div{display:flex;gap:2px}.timeline-dock-heading button{background:transparent;border-color:transparent;padding:0 6px;font-size:.78rem}.timeline-dock-heading button[aria-pressed=true]{background:#2c5873}.timeline-dock-controls button{width:44px;height:44px;flex-shrink:0}.timeline-dock-controls time,.timeline-dock-controls>span{margin-left:auto;font-size:.75rem;text-align:right}.timeline-dock input{display:block;accent-color:#48b9df;min-height:44px;width:100%;margin:0}.timeline-dock-status{display:block;min-height:1em;font-size:.7rem;color:#afc1cf}.timeline-dock-error{font-size:.75rem;color:#f5b3a9;display:flex;align-items:center;gap:8px;max-height:112px;overflow-y:auto}.timeline-dock-error button{font-size:.75rem;flex-shrink:0}@media(max-height:500px){.mobile-edge-buttons{top:calc(76px + env(safe-area-inset-top))}.mobile-search-area{align-items:flex-start}.mobile-floating .mobile-search-pill{width:min(65%,360px)}.mobile-floating .mobile-warning-chip{max-width:65%}.timeline-dock{right:calc(76px + env(safe-area-inset-right));padding:4px 10px}.timeline-dock-heading{float:right}.timeline-dock-heading>div{gap:0}.timeline-dock-heading button{padding:0 5px}.timeline-dock-controls{flex-wrap:wrap}.timeline-dock-controls time{flex-basis:100%;text-align:left}.timeline-dock input{clear:both;display:block}}@media(prefers-reduced-motion:reduce){.mobile-panel,.mobile-panel-scrim,.mobile-panel-surface{transition:none}}}
