@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700&display=swap";:root{--bg:#061b2b;--rail:#081e2b;--text:#eaf3f4;--muted:#95afbf;--accent:#5fe5f1;--line:#294352;--panel:#071d2de6}*{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100%;color:var(--text);margin:0;font-family:Inter,Segoe UI,sans-serif;font-size:14px;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible){outline:2px solid var(--accent);outline-offset:4px}button{background:0 0;border:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}small{font-size:11px}svg{flex-shrink:0}button svg{pointer-events:none}.weather-app{width:100%;height:100dvh;display:flex}.sidebar{background:var(--rail);border-right:1px solid var(--line);z-index:20;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:0 0 294px;width:294px;padding:28px 26px 20px;display:flex;overflow-y:auto}.brand>svg{width:58px;height:40px;margin-bottom:14px}.brand>div{letter-spacing:-.7px;white-space:nowrap;font-size:24px;font-weight:650}.brand span{color:#b6cbd8;font-size:21px;font-weight:400}.brand p{color:var(--muted);letter-spacing:-.2px;margin-top:7px;font-size:15px}h2{font-size:14px;font-weight:550;line-height:1.5}.layer-section,.station-section,.marine-section{border-top:1px solid var(--line);padding-top:20px}.layer-section h2{margin-bottom:11px}.layer-row{text-align:left;border-bottom:1px solid #213949;align-items:center;gap:17px;width:100%;padding:15px 0;display:flex}.layer-row:last-child{border-bottom:0}.layer-row>svg{color:#c1d6df;stroke-width:1.6px}.layer-row>span:nth-child(2){flex:1;font-size:14px}.layer-row small{color:var(--muted);letter-spacing:-.1px;margin-top:4px;font-size:9px;display:block}.toggle{background:#1b3342;border:1px solid #415967;border-radius:20px;width:42px;height:25px;padding:3px;transition:background .2s}.toggle i{background:#9db2bf;border-radius:50%;width:17px;height:17px;transition:transform .2s;display:block}.toggle.on{background:#1b5861;border-color:#3d8891}.toggle.on i{background:var(--accent);transform:translate(16px)}.station-section{margin-top:16px}.period-select{color:var(--muted);justify-content:space-between;align-items:center;margin:12px 0 4px;font-size:10px;display:flex}.period-select select{border:1px solid var(--line);color:#c2d4dc;background:#102b3b;border-radius:4px;max-width:136px;padding:4px 6px;font-size:11px}.station-row{text-align:left;border-bottom:1px solid #223b49;align-items:center;gap:12px;width:100%;padding:13px 0;display:flex}.station-row:last-child{border-bottom:none}.station-row:hover,.station-row.selected{color:var(--accent)}.station-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.station-dot.stale{background:#e8b576}.station-row>span{flex:1;font-size:12px}.station-row>span small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.station-row strong{font-variant-numeric:tabular-nums;font-size:13px;font-weight:550}.station-row strong small{color:var(--muted);font-weight:400}.marine-section{margin-top:17px;padding-top:17px}.marine-section h2{justify-content:space-between;display:flex}.marine-section h2 small{color:var(--muted);font-weight:400}.sea-buttons{gap:5px;margin-top:13px;display:flex}.sea-buttons button{border:1px solid var(--line);border-radius:4px;flex:1;padding:7px 8px;font-size:11px}.sea-buttons button.active{color:var(--accent);background:#103643;border-color:#447a83}.mini-note{color:var(--muted);margin-top:11px;font-size:10px}.source-health{color:#c8d9df;margin-top:auto;padding-top:24px}.source-health>div{align-items:center;gap:10px;font-size:11px;display:flex}.source-health i{background:#93abbb;border-radius:50%;width:7px;height:7px}.source-health .live-dot{background:#7edaad}.source-health .warn-dot,.source-health .demo-dot{background:#e4b76a}.source-health p{color:var(--muted);margin:8px 0 0 17px;font-size:10px}.source-health>small{color:#e6b585;margin-top:8px;font-size:10px;line-height:1.5;display:block}.text-button{color:var(--muted);align-items:center;gap:4px;padding:12px 0 0 17px;font-size:10px;display:flex}.map-space{flex:1;min-width:0;position:relative;overflow:hidden}.scene-container{position:absolute;inset:0}.scene-container canvas{touch-action:none;width:100%;height:100%;display:block}.scene-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.geo-label{white-space:nowrap;will-change:transform;pointer-events:auto;text-align:left;filter:drop-shadow(0 2px 3px #051724);align-items:flex-start;gap:8px;transition:opacity .2s;display:flex;position:absolute;top:0;left:0}.geo-label .marker-line{background:#d0edf0b3;width:1px;height:42px;margin-top:6px;position:relative}.geo-label .marker-line:before{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;left:-4px;box-shadow:0 0 0 4px #68e8f014}.geo-label>span:nth-child(2){margin-top:-3px;line-height:1.4;display:block}.geo-label b{font-size:12px;font-weight:600}.geo-label small{color:#c3e1e3;font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;display:block}.geo-label.selected b{color:var(--accent)}.geo-label.sea-label{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b2637b8;border:1px solid #416b7a5e;border-radius:4px;gap:7px;padding:8px 10px}.sea-label .marker-line{height:18px}.sea-label b{color:#a6c8d6;font-size:10px;font-weight:450}.sea-label small{color:#c7eff4;font-size:12px;font-weight:550}.map-header{z-index:5;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute;top:25px;left:33px;right:25px}.map-title{align-items:center;gap:12px;display:flex}.map-title h1{letter-spacing:-1px;font-size:32px;font-weight:600;line-height:1.2}.map-title p{color:#b1c8d6;margin-top:7px;font-size:14px}.mode-controls{pointer-events:auto;gap:9px;display:flex}.mode-controls button{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;background:#0b2638b8;border-radius:5px;align-items:center;gap:9px;padding:11px 15px;font-size:12px;display:flex}.mode-group{gap:8px;display:flex}.mode-controls button.active{color:#88edf3;background:#143b4b;border-color:#548b94}.mode-controls button.demo-active{color:#f0ce90;background:#3a3324;border-color:#987f51}.map-tools{z-index:6;flex-direction:column;gap:6px;display:flex;position:absolute;top:108px;right:24px}.icon-button{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d293bbf;border-radius:5px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:flex}.icon-button:hover,.refresh-button:hover,.sources-button:hover{background:#1c4052;border-color:#567684}.map-tools .compass{border-radius:50%;margin-top:7px;position:relative}.compass small{font-size:10px;position:absolute;bottom:-18px}.map-caption{pointer-events:none;color:#74a7b9;letter-spacing:4px;font-size:12px;font-style:italic;position:absolute}.sea-caption{top:145px;left:45%}.inspector{z-index:5;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #345363;border-radius:8px;min-width:272px;max-width:310px;padding:16px 18px;position:absolute;bottom:158px;left:33px;box-shadow:0 6px 30px #00142144}.inspector-title{align-items:center;gap:12px;margin-bottom:17px;display:flex}.inspector-title>svg{color:var(--accent);stroke-width:1.7px}.inspector h2{flex:1;font-size:12px;font-weight:550}.data-kind{letter-spacing:.5px;text-transform:uppercase;color:#a7c2cd;background:#173442;border-radius:2px;padding:3px 5px;font-size:8px}.sea-readings>div{justify-content:space-between;align-items:baseline;gap:28px;margin-top:11px;display:flex}.sea-readings label{color:#b2c9d5;font-size:12px}.sea-readings label small{color:#7eabbc;margin-left:4px;font-size:9px}.sea-readings strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:550}.sea-readings strong small{color:#b9cbd5;font-size:11px;font-weight:400}.wave-detail{color:#a8c4d0;justify-content:space-between;gap:20px;margin-top:15px;font-size:10px;display:flex}.inspector-note{color:#8fb0c0;align-items:center;gap:4px;margin-top:10px;font-size:9px;line-height:1.5;display:flex}.main-reading{letter-spacing:-1.5px;font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-size:38px;font-weight:500;display:flex}.main-reading>span{letter-spacing:0;color:#b5cbd7;font-size:14px;font-weight:400}.main-reading small{font-size:10px}.detail-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 0;padding-top:13px;display:grid}.detail-grid dt{color:var(--muted);font-size:9px}.detail-grid dd{margin:4px 0 0;font-size:12px}.bottom-controls{z-index:6;position:absolute;bottom:14px;left:23px;right:24px}.timeline{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#082337dd;border:1px solid #375563;border-radius:9px;align-items:center;gap:19px;padding:10px 12px;display:flex}.time-mode{white-space:nowrap;min-width:63px}.time-mode strong{font-size:12px;font-weight:600}.time-mode small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.time-slider{flex:1;align-self:center;min-width:0;padding-top:6px}.time-slider input{cursor:pointer;width:100%;accent-color:var(--accent);height:14px;margin:0;display:block}.time-ticks{justify-content:space-between;margin-top:5px;display:flex}.time-ticks button{color:#9cb8c8;padding:0;font-size:9px}.refresh-button{border:1px solid var(--line);background:#102d3e;border-radius:5px;align-items:center;gap:10px;padding:12px 14px;font-size:11px;display:flex}.map-footer{color:var(--muted);justify-content:space-between;gap:15px;margin:12px 3px 0;font-size:9px;line-height:1.4;display:flex}.attribution{color:#7e9cae;margin:5px 3px 0;font-size:8px}.radar-legend{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;border-radius:7px;width:236px;padding:13px;font-size:10px;position:absolute;bottom:155px;right:28px}.radar-legend>div:first-child{align-items:center;gap:7px;display:flex}.radar-legend strong{flex:1;font-weight:500}.radar-legend svg{color:var(--accent)}.radar-scale{background:linear-gradient(90deg,#5bceda,#69d87b,#f3de5b,#ed8450,#db527a);height:5px;margin-top:12px}.radar-scale-labels{color:#bbced4;justify-content:space-between;margin-top:5px;font-size:8px;display:flex}.radar-legend p{color:#bcd3dd;margin-top:10px;font-size:9px}.radar-legend small{color:var(--muted);margin-top:7px;font-size:8px;display:block}.demo-banner{color:#f1d59c;z-index:8;background:#3b322cdd;border:1px solid #8c7257;border-radius:4px;padding:8px 12px;font-size:10px;position:absolute;top:102px;left:33px}.map-loading,.map-error{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:13px;display:flex;position:absolute;inset:0}.map-error{text-align:center;background:#061b2b;padding:50px}.map-error button{border:1px solid var(--line);border-radius:4px;margin-top:15px;padding:12px}.mobile-menu,.close-sidebar{display:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}dialog{color:var(--text);background:#0b2435;border:1px solid #3f5e6c;border-radius:12px;width:calc(100% - 40px);max-width:740px;max-height:85dvh;padding:0;box-shadow:0 25px 100px #00101888}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00111ecc}.source-dialog-inner{padding:32px 38px;position:relative}.dialog-close{width:32px;height:32px;position:absolute;top:18px;right:18px}.source-dialog-inner>h2{letter-spacing:-.7px;padding-right:25px;font-size:25px;font-weight:550}.dialog-lead{color:#a6c1ce;max-width:550px;margin-top:9px;font-size:12px;line-height:1.6}.source-dialog-inner article{border-top:1px solid var(--line);gap:18px;margin-top:24px;padding-top:20px;display:flex}.source-dialog-inner article>svg{stroke-width:1.6px;width:22px;color:var(--accent)}.source-dialog-inner h3{font-size:14px;font-weight:550}.source-dialog-inner article p{color:#a6c1ce;margin:7px 0 10px;font-size:11px;line-height:1.8}.source-dialog-inner article a{align-items:center;gap:4px;margin-right:20px;font-size:11px;display:inline-flex}.method-note{border-top:1px solid var(--line);color:#bbcbd3;margin-top:25px;padding-top:18px;font-size:10px;line-height:1.7}@media (max-height:830px) and (min-width:851px){.sidebar{padding-top:20px}.brand{padding-bottom:18px}.brand>svg{width:45px;height:30px;margin-bottom:10px}.brand>div{font-size:21px}.brand span{font-size:18px}.brand p{font-size:12px}.layer-section,.station-section{padding-top:14px}.layer-row{padding:11px 0}.station-row{padding:10px 0}.layer-row small{font-size:8px}.station-section{margin-top:10px}.source-health{padding-top:16px}.inspector{bottom:140px}}@media (max-width:1150px){.sidebar{flex-basis:270px;width:270px;padding-inline:21px}.map-title h1{font-size:28px}.map-title p{font-size:11px}.mode-controls button{gap:6px;padding:10px;font-size:11px}.map-header{left:24px}.map-footer{font-size:8px}.inspector{left:24px}.geo-label b{font-size:11px}.time-mode{min-width:48px}.timeline{gap:12px}}@media (max-width:850px){.sidebar{width:286px;transition:transform .25s;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:20px 0 70px #00142377}.sidebar.mobile-open{transform:translate(0)}.close-sidebar{width:30px;height:30px;display:flex;position:absolute;top:20px;right:14px}.mobile-menu{pointer-events:auto;width:34px;height:34px;display:flex}.map-header{top:20px;left:16px;right:16px}.map-title h1{font-size:27px}.map-title p{font-size:12px}.map-tools{top:98px;right:16px}.map-space{width:100%}.inspector{bottom:148px;left:16px}.bottom-controls{left:16px;right:16px}.sea-caption{top:130px;left:44%}.demo-banner{top:84px;left:16px}.radar-legend{width:200px;bottom:155px;right:16px}}@media (max-width:550px){.map-header{flex-direction:column;gap:14px;top:16px}.map-title h1{font-size:26px}.map-title p{font-size:10px}.mode-controls{align-self:flex-start;gap:6px;margin-left:46px}.mode-controls button{gap:6px;padding:8px 10px;font-size:10px}.mode-group{gap:6px}.map-tools{gap:5px;top:142px}.map-tools .icon-button{width:34px;height:34px}.map-tools svg{width:18px}.sea-caption{letter-spacing:2px;font-size:9px;top:152px;left:34%}.inspector{min-width:230px;max-width:250px;padding:12px 14px;bottom:138px}.inspector-title{gap:8px;margin-bottom:9px}.inspector-title svg{width:20px}.inspector h2,.sea-readings label{font-size:10px}.sea-readings strong{font-size:18px}.inspector-note{margin-top:7px;font-size:8px}.wave-detail{gap:12px;margin-top:12px;font-size:9px}.timeline{gap:10px;padding:9px}.playback{width:33px;height:33px}.refresh-button{gap:0;padding:9px}.refresh-button span{display:none}.time-mode{min-width:42px}.time-mode strong{font-size:10px}.time-mode small{font-size:7px}.time-ticks button{font-size:8px}.map-footer{flex-direction:column;gap:3px;font-size:8px}.attribution{font-size:6px;line-height:1.5}.bottom-controls{bottom:10px;left:12px;right:12px}.geo-label{gap:5px}.geo-label b,.geo-label small{font-size:9px}.geo-label .marker-line{height:30px}.geo-label.sea-label{padding:5px 7px}.sea-label b{font-size:8px}.sea-label small{font-size:10px}.radar-legend{width:176px;padding:10px;font-size:9px;bottom:353px;right:12px}.radar-legend p{font-size:8px}.radar-legend small{font-size:7px}.demo-banner{padding:6px 8px;font-size:8px;line-height:1.5;top:123px;right:58px}.source-dialog-inner{padding:26px 22px}.source-dialog-inner>h2{font-size:21px}.source-dialog-inner article{gap:11px}.main-reading{font-size:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:850px) and (max-height:650px){.inspector{width:320px;min-width:0;max-width:320px;padding:10px 12px;bottom:136px}.inspector-title{margin-bottom:6px}.sea-readings{justify-content:space-between;gap:18px;display:flex}.sea-readings>div{gap:8px;margin-top:0}.sea-readings label{font-size:10px}.sea-readings strong{font-size:16px}.wave-detail,.inspector-note{display:none}.main-reading{font-size:25px}.detail-grid{display:none}.source-dialog-inner{padding:24px}.map-caption{display:none}}.geo-label{padding:0}.geo-label.right-anchor{text-align:right;flex-direction:row-reverse}.geo-label.sea-label{padding:8px 10px}.association-logo{width:80px;height:80px;margin-bottom:12px;display:block}.association-logo img{object-fit:contain;width:100%;height:100%;display:block}.mobile-menu{position:relative}.mobile-menu img{object-fit:contain;width:38px;height:38px}.mobile-menu>svg{background:#0d293b;border:1px solid #456b78;border-radius:3px;width:17px;height:17px;padding:2px;position:absolute;bottom:-4px;right:-4px}.association-logo{width:72px;height:72px}.brand{padding-bottom:18px}.source-health{padding-top:18px}.geo-label>span:nth-child(2){transform:translateY(var(--label-offset,0px))}@media (max-height:830px) and (min-width:851px){.association-logo{width:56px;height:56px;margin-bottom:10px}.brand{padding-bottom:17px}}@media (min-width:851px) and (max-width:1100px){.map-header{flex-direction:column;gap:12px}.mode-controls button{padding:8px 11px}}.cloud-scale{background:linear-gradient(90deg,#b4c6d0,#526a7d)}.radar-legend .lightning-note{color:#c8dde8;margin-top:9px}@media (max-width:550px){.radar-legend{width:255px;padding:10px;inset:141px auto auto 12px}}.conditions-bar{z-index:7;pointer-events:none;gap:8px;max-width:700px;display:flex;position:absolute;top:108px;left:33px;right:88px}.condition-card{pointer-events:auto;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#092435ed;border:1px solid #355363;border-radius:6px;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.condition-card:hover{background:#143546;border-color:#68838f}.condition-card>svg{color:#bed5de}.condition-card>span{min-width:0}.condition-card small,.condition-card strong,.condition-detail{display:block}.condition-card small{color:#a7c2ce;font-size:8px;line-height:1.4}.condition-card strong{margin-top:3px;font-size:13px;font-weight:600;line-height:1.4}.condition-detail{color:#9eb9c7;white-space:nowrap;margin-top:4px;font-size:8px}.alert-card{border-left:3px solid var(--status-color);flex:1.3}.alert-card>svg,.alert-card strong{color:var(--status-color)}.temperature-card>svg{color:#ffcb99}.solar-card>svg{color:#f2d8a0}.condition-facts{grid-template-columns:1fr 1fr;gap:18px;margin:24px 0;display:grid}.condition-facts dt{color:var(--muted);font-size:11px;line-height:1.5}.condition-facts dd{margin:5px 0 0;font-size:14px}.alert-detail-title{margin-top:24px;font-size:27px;font-weight:600}.official-text{white-space:pre-line;margin-top:16px;font-size:12px;line-height:1.8}.official-text.muted{color:var(--muted);font-size:10px}.phenomena{color:var(--accent);margin-top:20px;font-size:12px}.upcoming-alert{border:1px solid var(--line);border-radius:6px;margin-top:22px;padding:16px}.upcoming-alert p{color:#bdd0dc;margin-top:8px;font-size:11px;line-height:1.7}.conditions-dialog details{margin-top:20px;font-size:12px}.conditions-dialog summary{cursor:pointer;color:var(--accent)}.condition-source-link{align-items:center;gap:7px;margin-top:22px;font-size:11px;display:inline-flex}.temperature-value{color:#f6c69c;margin-top:24px;font-size:40px;font-weight:500}.hydro-legend{border-top:1px solid var(--line);padding:12px 0 2px}.hydro-legend>p{color:var(--muted);margin-bottom:13px;font-size:9px}.hydro-legend>div{align-items:center;gap:9px;margin-top:9px;font-size:10px;line-height:1.6;display:flex}.hydro-legend>div>span{flex:1}.hydro-legend small{color:var(--muted);font-size:9px}.hydro-swatch{border-top:3px solid;width:24px;height:0;display:block}.hydro-legend label{color:var(--muted);margin-top:18px;font-size:9px;display:block}.hydro-legend select{border:1px solid var(--line);width:100%;color:var(--text);background:#102b3b;border-radius:4px;margin-top:7px;padding:8px 5px;font-size:10px}.hydro-selected-kind{font-size:17px;font-weight:550;line-height:1.5}.hydro-close{color:#c8dfeb;padding-left:0}.sea-caption{display:none}@media (min-width:851px) and (max-width:1100px){.conditions-bar{gap:6px;top:140px;left:24px}.condition-card{padding:8px}.condition-card>svg{display:none}.condition-detail{font-size:7px}.condition-card strong{font-size:12px}.demo-banner{top:225px}}@media (max-width:850px){.conditions-bar{gap:6px;top:99px;left:16px;right:68px}.condition-card{padding:8px}.condition-detail{font-size:7px}.condition-card strong{font-size:12px}.condition-card>svg{width:16px}.demo-banner{top:190px}}@media (max-width:550px){.conditions-bar{grid-template-columns:1fr 1fr 1fr;gap:5px;display:grid;top:125px;left:12px;right:12px}.condition-card{align-items:flex-start;gap:0;padding:7px 6px}.condition-card>svg{display:none}.condition-card small{font-size:7px;line-height:1.5}.condition-card strong{margin-top:2px;font-size:10px;line-height:1.5}.condition-detail{display:none}.alert-card{border-left-width:2px}.radar-legend{width:235px;top:195px}.demo-banner{font-size:8px;top:340px;left:12px;right:55px}.condition-facts{gap:15px 10px}.condition-facts dd{font-size:12px}.official-text{font-size:11px}.alert-detail-title{font-size:23px}}@media (max-width:850px) and (max-height:650px){.conditions-bar{top:90px}.condition-detail{display:none}.condition-card{padding:7px}.condition-card small{font-size:7px}.condition-card strong{font-size:11px}.radar-legend{width:180px;inset:auto 16px 140px auto}.demo-banner{top:150px}.conditions-dialog .condition-facts{display:grid}}@media (max-width:550px) and (min-height:651px){.map-tools{top:185px}}.hydro-swatch.culvert{border-top-style:solid}.sky-controls{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a2435eb;border:1px solid #405969;border-radius:7px;width:540px;max-width:calc(100% - 125px);padding:11px 13px;position:absolute;top:190px;left:33px;box-shadow:0 8px 25px #00131f33}.sky-control-row{align-items:center;gap:9px;display:flex}.sky-control-row>svg{color:#e5c889}.sky-control-row>strong{font-size:11px;font-weight:550}.sky-controls input[type=date],.sky-controls input[type=time]{color:#dcecf3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#102f40;border:1px solid #405969;border-radius:4px;min-width:0;padding:5px 6px;font-size:10px}.sky-live{white-space:nowrap;border:1px solid #46616e;border-radius:4px;margin-left:auto;padding:6px 9px;font-size:9px}.sky-live.active{color:#8be6e8;background:#153b48;border-color:#488c92}.sky-expand{color:#9bb9c7;padding:3px;display:flex}.sky-controls.expanded .sky-expand svg{transform:rotate(180deg)}.sky-slider-row{align-items:center;gap:11px;margin-top:9px;display:flex}.sky-slider-row>div{flex:1;min-width:0}.sky-play{color:#edce90;border:1px solid #42606d;border-radius:4px;justify-content:center;align-items:center;width:27px;height:27px;display:flex}.sky-slider-row input{accent-color:#e8c57d;cursor:pointer;width:100%;height:12px;margin:0;display:block}.sky-hour-ticks{color:#9fb6c2;justify-content:space-between;margin-top:3px;font-size:8px;display:flex}.sky-mode-note{color:#b4c7d0;margin:7px 0 0 38px;font-size:8px;line-height:1.5}.sky-expanded{border-top:1px solid #355363;margin-top:10px;padding-top:10px}.sky-presets,.moon-phase-buttons{flex-wrap:wrap;gap:6px;display:flex}.sky-presets button,.moon-phase-buttons button{border:1px solid #3b5a6b;border-radius:4px;padding:7px 8px;font-size:9px}.sky-presets button:hover,.moon-phase-buttons button:hover{background:#204153}.sky-moon-info{color:#cfdfed;align-items:center;gap:8px;margin:12px 0 8px;font-size:10px;line-height:1.6;display:flex}.sky-moon-info svg{color:#c0d4f1}.sky-phase-note{color:#95afbf;margin-top:6px;font-size:8px}.sky-options{color:#bad0dc;justify-content:space-between;align-items:center;margin-top:10px;font-size:9px;display:flex}.sky-options label{align-items:center;gap:6px;display:flex}.sky-options input{accent-color:#e5bf73}.sky-options button{border:1px solid #405969;border-radius:4px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;display:flex}.sky-input-error{color:#f0b39b;margin-top:7px;font-size:10px;line-height:1.5}.demo-banner{top:310px}.map-space:has(.sky-controls.expanded) .demo-banner{top:480px}.sky-controls{width:390px}.sky-control-row{gap:7px}.sky-controls input[type=date]{width:110px}.sky-controls input[type=time]{width:76px}@media (min-width:851px) and (max-width:1100px){.sky-controls{width:480px;max-width:calc(100% - 104px);top:220px;left:24px}.sky-control-row{gap:6px}.sky-control-row>svg{display:none}.demo-banner{top:345px}}@media (max-width:850px){.sky-controls{width:auto;max-width:570px;top:185px;left:16px;right:65px}.demo-banner{top:310px}}@media (max-width:550px){.sky-controls{width:auto;max-width:none;padding:9px 10px;top:181px;left:12px;right:12px}.sky-control-row{gap:6px}.sky-control-row>svg{display:none}.sky-control-row>strong{font-size:10px}.sky-controls input[type=date]{width:110px;font-size:9px}.sky-controls input[type=time]{width:74px;font-size:10px}.sky-live{padding:6px;font-size:8px}.sky-expand{padding:0}.sky-mode-note{margin-left:0;font-size:7px}.sky-slider-row{margin-top:8px}.sky-controls .sky-expanded{margin-top:8px;padding-top:8px}.sky-presets button,.moon-phase-buttons button{padding:6px;font-size:8px}.sky-moon-info{margin-top:10px;font-size:9px}.sky-phase-note{font-size:7px}.sky-options,.sky-options button{font-size:8px}.map-tools{top:310px}.radar-legend{width:226px;top:310px}.map-space:has(.sky-controls.expanded) .radar-legend{display:none}.demo-banner{font-size:7px;top:450px}.map-space:has(.sky-controls.expanded) .demo-banner{top:470px}}@media (max-width:850px) and (max-height:650px){.sky-controls{width:440px;max-width:calc(100% - 86px);top:143px;left:16px;right:70px}.sky-expanded{max-height:150px;overflow:auto}.radar-legend{width:180px;inset:auto 16px 140px auto}.map-tools{top:98px}.demo-banner{top:270px}}.inspector-toggle,:is(.sky-simulation:has(.compact-inspector) .radar-legend,.sky-simulation:has(.compact-inspector) .sea-label){display:none}.sky-simulation .inspector.compact-inspector{width:auto;min-width:0;max-width:240px;padding:0}.sky-simulation .compact-inspector .inspector-content{display:none}.sky-simulation .inspector-toggle{color:#c7e1ec;padding:11px 14px;font-size:10px;display:block}.sky-simulation .inspector:not(.compact-inspector) .inspector-toggle{padding:10px 0 0}@media (max-width:550px){.sky-controls input[type=date],.sky-controls input[type=time]{font-size:11px}}.sky-controls{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a2435}.sky-moon-position{color:#b9d2e2;margin-top:9px;font-size:9px;line-height:1.6}.fixed-meteo-toggle{width:186px}.webcam-marker{width:30px;max-width:30px;overflow:visible}.webcam-marker-name{background:#654521;border:1px solid #d6b47a;border-radius:4px;padding:5px 7px;position:absolute;top:1px;left:calc(100% + 6px)}.webcam-marker.right-anchor .webcam-marker-name{left:auto;right:calc(100% + 6px)}.conditions-bar{pointer-events:auto}.conditions-fold{z-index:2;color:#c0d4df;background:#163547;border:1px solid #4a626e;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:3px;right:4px}.conditions-minimized{width:max-content;display:block}.conditions-minimized .conditions-fold{gap:7px;width:auto;height:29px;padding:0 10px;font-size:10px;position:static}.sky-mode-note{justify-content:space-between;align-items:center;gap:8px;display:flex}.sky-mode-note>button{color:#c0d4df;border:1px solid #4a626e;border-radius:4px;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:18px;display:flex}.sky-controls.sky-minimized{width:max-content;max-width:none;padding:0;right:auto}.sky-restore{align-items:center;gap:9px;padding:8px 12px;font-size:10px;display:flex}.sky-options>span{color:#98b5c5;font-size:8px}.bottom-controls{bottom:72px}.map-footer{display:none}.forecast-fold{color:#bed2df;background:#0a2435;border:1px solid #355463;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:8px;display:flex;position:absolute;top:-23px;right:0}.forecast-minimized .timeline{display:none}.forecast-minimized .forecast-fold{width:max-content;margin-left:auto;padding:8px 12px;font-size:10px;position:static}.map-attribution{z-index:6;pointer-events:none;position:absolute;bottom:57px;left:26px;right:18px}.map-dock{z-index:25;gap:7px;display:flex;position:fixed;bottom:12px;right:16px}.map-dock>button{color:#daebf4;background:#0a2639;border:1px solid #557080;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:10px;line-height:1.3;display:flex;box-shadow:0 3px 14px #00152166}.map-dock>button:hover{background:#1a4357}.map-dock>button[aria-pressed=true]{color:#8ee7ef;border-color:#6ed7e2}.meteo-reduced .inspector,.meteo-reduced .sea-label,.meteo-reduced .radar-legend,.inspector[hidden],.sidebar-collapsed .sidebar{display:none}.sidebar-collapsed .mobile-menu,.sidebar .close-sidebar{display:flex}.map-only .sidebar,.map-only .map-header,.map-only .conditions-bar,.map-only .sky-controls,.map-only .bottom-controls,.map-only .inspector,.map-only .radar-legend,.map-only .scene-container>.scene-labels:not(.webcam-markers){display:none}.map-only .map-tools{top:18px}.map-only .demo-banner{font-size:9px;top:18px;left:18px;right:auto}.map-only .map-space{width:100%}.webcam-section{border-bottom:1px solid var(--line);padding:20px 0}.webcam-list-row{text-align:left;color:#d2e1ea;align-items:center;gap:9px;width:100%;padding:9px 0;font-size:10px;display:flex}.webcam-list-row>span{flex:1}.webcam-list-row>svg{color:#f0c783}.webcam-markers{z-index:3}.webcam-marker{pointer-events:auto;color:#fff1cd;white-space:nowrap;background:#654521;border:1px solid #f3ca81;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:30px;height:30px;margin-top:-22px;margin-left:-15px;padding:6px;display:flex;position:absolute;top:0;left:0;box-shadow:0 2px 8px #00101c99}:is(.webcam-marker:hover,.webcam-marker:focus-visible,.webcam-marker.active){z-index:4;background:#976d31}.webcam-marker-name{font-size:10px;display:none}:is(.webcam-marker:hover .webcam-marker-name,.webcam-marker:focus-visible .webcam-marker-name,.webcam-marker.active .webcam-marker-name){display:block}.webcam-window{z-index:40;color:#dcecf6;background:#071a29;border:1px solid #6d92a6;border-radius:8px;outline:none;flex-direction:column;min-width:280px;display:flex;position:fixed;overflow:hidden;box-shadow:0 10px 45px #00101ec9}.webcam-window:focus-visible{outline-offset:3px;outline:2px solid #79dbe5}.webcam-titlebar{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;background:#153447;flex:0 0 37px;align-items:center;gap:8px;height:37px;padding:0 8px 0 12px;display:flex}.webcam-titlebar>svg{color:#f4cf91;flex-shrink:0}.webcam-titlebar h2{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;flex:1;font-size:11px;font-weight:550;overflow:hidden}.webcam-titlebar button,.webcam-source-row button{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:25px;height:25px;display:flex}.webcam-titlebar button:hover,.webcam-source-row button:hover{background:#325466}.webcam-source-row{border-bottom:1px solid #294658;flex:0 0 33px;justify-content:space-between;align-items:center;gap:6px;padding:3px 9px;font-size:9px;display:flex}.webcam-source-row>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.webcam-source-row>div{gap:4px;display:flex}.webcam-source-row select{color:#dcecf6;background:#122f41;border:1px solid #426174;border-radius:4px;flex:1;min-width:0;padding:4px;font-size:9px}.webcam-player{background:#000;flex:1;min-height:200px;position:relative}.webcam-player iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.webcam-loading{color:#9db4c4;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.webcam-footer{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:5px;padding:7px 23px 8px 10px;font-size:8px;line-height:1.4;display:flex}.webcam-footer>a{color:#85e0eb;white-space:nowrap;align-items:center;gap:4px;display:flex}.webcam-footer>span{flex:1;min-width:100px}.webcam-footer small{color:#9ab2c1;width:100%;font-size:7px}.webcam-resize{cursor:nwse-resize;touch-action:none;background:#234659;border-radius:4px 0 0;justify-content:center;align-items:center;width:21px;height:21px;display:flex;position:absolute;bottom:0;right:0}.webcam-moving iframe{pointer-events:none}.webcam-minimized{min-height:0}@media (min-width:851px){.sidebar{position:relative}.sidebar .close-sidebar{color:#adc7d7;width:27px;height:27px;position:absolute;top:14px;right:10px}}@media (max-width:550px){.bottom-controls{bottom:84px}.map-dock{gap:6px;bottom:12px;left:12px;right:12px}.map-dock>button{flex:1;min-width:0;padding:9px 8px;font-size:9px}.map-dock>button>svg{flex-shrink:0;width:14px}.map-attribution{font-size:6px;bottom:57px;left:12px;right:12px}.conditions-minimized{grid-template-columns:none;display:block}.webcam-marker{min-width:28px;height:28px;padding:5px}.webcam-titlebar h2{font-size:10px}.webcam-window{border-radius:6px}.map-only .map-tools{top:14px}.webcam-footer{font-size:7px}}.gauge-label .marker-line:before{background:var(--gauge-color);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb,var(--gauge-color) 22%,transparent),0 0 15px var(--gauge-color);border:1px solid #eaf5ff;top:-5.5px;left:-5.5px}.gauge-label b,.gauge-label small{text-shadow:0 1px 3px #00101f,0 0 6px #00101f}.gauge-label small{color:#e0eaf3}.station-row .station-dot{background:var(--gauge-color);width:10px;height:10px;box-shadow:0 0 10px color-mix(in srgb,var(--gauge-color) 45%,transparent)}.station-row>span small{line-height:1.5}.risk-red{color:#ff768c}.risk-blue{color:#72b6ff}.rain-legend{color:#c5d8e4;margin-top:14px;font-size:10px;line-height:1.6}.rain-legend summary{cursor:pointer;color:#d1e4ef;padding:5px 0}.rain-legend p{margin:8px 0}.rain-legend small{color:#9db9c9;font-size:9px;display:block}.rain-threshold-detail{border-top:1px solid #365361;margin-top:14px;padding-top:12px;font-size:10px;line-height:1.6}.rain-threshold-detail>strong{font-size:12px}.rain-threshold-detail p{margin-top:5px}.rain-threshold-detail small{color:#adc5d3;margin-top:8px;font-size:9px;display:block}.station-inspector{scrollbar-width:thin;max-height:max(180px,100dvh - 470px);overflow-y:auto}.weather-app:not(.map-only) .map-space:has(.station-inspector:not([hidden])) .demo-banner{display:none}.rain-level-key{gap:10px;margin-top:5px;font-size:10px;display:flex}.threshold-demo-controls{color:#f3dbaa;background:#42342166;border:1px solid #95764c;border-radius:6px;margin:12px 0;padding:11px;font-size:10px}.threshold-demo-controls>strong{margin-bottom:8px;font-size:11px;display:block}.threshold-demo-controls label{justify-content:space-between;align-items:center;gap:8px;margin-top:7px;display:flex}.threshold-demo-controls select{color:#e5edf5;background:#132b3b;border:1px solid #79654b;border-radius:4px;width:145px;max-width:65%;padding:6px;font-size:10px}.weather-app:-webkit-full-screen{background:#061b2b;width:100vw;height:100dvh}.weather-app:fullscreen{background:#061b2b;width:100vw;height:100dvh}.fullscreen-message{background:#132d3f;border:1px solid #6d8899;border-radius:6px;width:310px;max-width:calc(100vw - 32px);padding:13px 36px 13px 14px;font-size:12px;line-height:1.5;position:fixed;bottom:65px;right:16px;box-shadow:0 5px 25px #00132188}.fullscreen-message button{padding:4px;font-size:20px;position:absolute;top:5px;right:8px}@media (max-width:550px){.map-dock>button{gap:4px;padding:8px 5px;font-size:8px}.map-dock>button span{max-width:90px}.rain-threshold-detail{font-size:9px}.rain-threshold-detail small{font-size:8px}.rain-level-key{gap:7px;font-size:9px}.gauge-label small{font-size:8px}.weather-app:not(.map-only) .map-space .demo-banner{padding:6px 8px;font-size:8px;line-height:1.5;inset:auto 55px 160px 12px}}.brand.iris-brand{padding-bottom:18px}:root{--bg:#0a2638;--rail:#102f41;--muted:#abc5d2;--line:#3b5f70;--panel:#0b2a3bed}.condition-card,.sky-controls,.timeline,.mode-controls button,.map-dock>button{background-color:#103549e8}.condition-card,.sky-controls,.inspector,.radar-legend,.timeline{box-shadow:0 8px 28px #00132166}.sea-readings strong{color:#e5f8ff}.brand>.iris-identity{white-space:normal;letter-spacing:normal;align-items:center;gap:12px;padding-right:8px;display:flex}.iris-brand .association-logo{flex:0 0 58px;width:58px;height:58px;margin:0}.iris-wordmark{min-width:0}.iris-wordmark strong{letter-spacing:1px;color:#eff8fc;font-size:32px;font-weight:650;line-height:1.05;display:block}.brand .iris-wordmark>span{letter-spacing:0;color:#c5dce7;white-space:normal;margin-top:5px;font-size:11px;font-weight:500;line-height:1.45;display:block}.brand.iris-brand>p{letter-spacing:0;color:#a7c4d4;max-width:250px;margin-top:12px;font-size:11px;line-height:1.65}.wave-animation-note{color:#9ebfce;margin-top:5px;font-size:9px;line-height:1.5}.mobile-menu{pointer-events:auto}.map-dock .sidebar-reopen{border-color:#6a93a7}.alert-card .alert-today{color:#c6dce7;font-variant-numeric:tabular-nums;margin-top:3px}.expired-alert{color:#b9cdd8;border:1px solid #627484;border-radius:6px;margin-top:20px;padding:14px}.expired-alert h3{font-size:13px}.expired-alert p{margin-top:8px;font-size:11px;line-height:1.7}.alert-card .condition-detail{white-space:normal;line-height:1.4}.gauge-official-alert{background:#091e2d;border:1px solid #416172;border-radius:5px;margin-top:12px;padding:10px}.gauge-official-alert>strong{color:#d6e6ee;font-size:10px}.gauge-official-alert>a{margin-top:6px;font-size:9px;display:inline-block}@media (max-width:550px){.map-dock>button{min-height:40px}.map-dock .sidebar-reopen span{max-width:51px}}.rain-level-key{flex-wrap:wrap;gap:4px 10px}.weather-app .sky-controls{top:var(--conditions-bottom,190px)}.threshold-table{border-collapse:collapse;width:100%;margin:12px 0;font-size:11px}.threshold-table th,.threshold-table td{text-align:right;border-bottom:1px solid #365361;padding:9px 6px}.threshold-table th:first-child{text-align:left}@media (max-width:550px){.threshold-table{font-size:9px}.threshold-table th,.threshold-table td{padding:8px 3px}}.inspector:has(.coastal-panel){max-height:42dvh;overflow:auto}.coastal-panel .detail-grid{display:grid!important}.coastal-panel .inspector-note{display:block!important}.coastal-panel{font-size:11px;line-height:1.5}.location-status{z-index:9;color:#c5dce8;background:#082739e8;border:1px solid #527583;border-radius:5px;align-items:center;gap:6px;max-width:calc(100% - 70px);padding:6px 9px;font-size:10px;line-height:1.35;display:flex;position:absolute;top:82px;right:95px}.location-status button{color:#e5f5fc;background:#163e51;border:1px solid #668a9a;border-radius:3px;margin-left:3px;padding:2px 5px;font-size:9px}.location-status.inside{color:#a5f1cf;border-color:#52d5a3}.location-status.outside{color:#f1d7af;border-color:#d4a66d}.location-status svg{flex:none}.user-location-layer{z-index:4}.user-location-marker{color:#fff;text-shadow:0 1px 4px #001322;align-items:center;gap:7px;margin:-10px 0 0 -10px;font-size:11px;font-weight:650;pointer-events:auto!important}.user-location-marker i{background:#367cff;border:3px solid #fff;border-radius:50%;flex:none;width:20px;height:20px;animation:1.7s ease-in-out infinite user-position-pulse;display:block;box-shadow:0 0 0 4px #367cff66,0 0 18px #5acaff}.user-location-popup{color:#f1fbff;text-align:left;width:min(260px,100vw - 24px);text-shadow:none;white-space:normal;z-index:2;background:#082637f5;border:1px solid #80b6c7;border-radius:8px;gap:5px;padding:11px 13px;font-size:11px;font-weight:400;line-height:1.4;display:grid;position:absolute;top:30px;left:0;box-shadow:0 8px 28px #00131fcc}.user-location-popup strong{color:#96e7ed;font-size:12px}.user-location-popup small{color:#c0dce8;font-size:10px}.user-location-marker.right-anchor .user-location-popup{left:auto;right:0}@keyframes user-position-pulse{50%{box-shadow:0 0 0 11px #367cff1a,0 0 24px #5acaff}}.map-only .scene-container>.scene-labels.user-location-layer{display:block}.radar-fold{text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;padding:0;font-size:10px;display:flex}.radar-fold strong{flex:1;font-weight:550}.radar-fold svg{flex:none}.radar-collapsed .radar-body{display:none}@media (min-width:551px) and (max-width:850px){.location-status{padding:3px 7px;font-size:9px;top:73px;right:70px}}@media (max-width:550px){.location-status{max-width:calc(100% - 24px);font-size:9px;top:119px;left:12px;right:auto}.conditions-bar{top:154px}.map-tools{top:210px}.radar-legend,.weather-app .map-space.meteo-reduced .radar-legend{top:calc(var(--conditions-bottom,190px) + 42px);width:190px;padding:8px 10px;display:block;bottom:auto;left:12px;right:auto}.radar-collapsed{width:190px}.radar-body{max-height:min(28dvh,170px);overflow:auto}:is(.inspector,.inspector:has(.coastal-panel)){width:min(310px,100vw - 82px);min-width:0;max-width:none;max-height:36dvh;bottom:142px;overflow:auto}:is(.map-space:has(.inspector:not([hidden])) .conditions-bar,.map-space:has(.inspector:not([hidden])) .sky-controls,.map-space:has(.inspector:not([hidden])) .radar-legend){display:none}.map-space:has(.conditions-bar:not(.conditions-minimized)) .sky-controls{display:none}.weather-app .map-space:has(.conditions-bar:not(.conditions-minimized)) .radar-legend{display:none}.map-space:has(.conditions-bar:not(.conditions-minimized)) .map-tools{display:none}.weather-app .map-space:has(.sky-controls:not(.sky-minimized)) .radar-legend{display:none}.map-space:has(.sky-controls:not(.sky-minimized)) .map-tools{display:none}.map-attribution{z-index:3}}@media (max-width:550px) and (max-height:700px){.map-title p{display:none}.map-header{gap:7px}.mode-controls{margin-top:0}.location-status{top:103px}.conditions-bar{top:137px}.map-tools{top:196px}:is(.inspector,.inspector:has(.coastal-panel)){max-height:34dvh}}.map-readings{display:contents}.mobile-gauges-trigger,.mobile-gauges-sheet,.pin-symbol{display:none}@media (max-width:550px){.weather-app{flex-direction:column;height:100dvh;display:flex}.weather-app .map-space{flex:1;min-height:0}.weather-app .map-dock{width:100%;padding:5px 8px max(6px,env(safe-area-inset-bottom));background:#0b2636;border-top:1px solid #365467;flex:none;position:relative;inset:auto}.weather-app .map-dock>button{min-height:45px;font-size:10px}.map-readings{z-index:10;color:#eef6fb;overscroll-behavior:contain;background:#0c293b;border-top:1px solid #466477;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"detail detail""rain forecast""timeline timeline""method method""credit credit";gap:0 6px;max-height:58%;padding:6px 10px 4px;display:grid;position:absolute;inset:auto 0 0;overflow:auto}.map-readings .bottom-controls{display:contents}:is(.map-readings .inspector,.map-readings .inspector:has(.coastal-panel)){width:100%;min-width:0;max-width:none;max-height:26dvh;box-shadow:none;background:#12364a;grid-area:detail;margin:0 0 6px;padding:10px 12px;position:static;overflow:auto}.map-readings .inspector[hidden]{display:none}.map-readings .timeline{grid-area:timeline;min-width:0;margin-top:6px}.map-readings .map-footer{grid-area:method}.map-readings .map-attribution{color:#b2c8d6;grid-area:credit;margin:5px 0 0;font-size:9px;line-height:1.25;position:static}.mobile-gauges-trigger,.map-readings .bottom-controls .forecast-fold{border-radius:7px;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;min-height:44px;margin:0;padding:5px 6px;font-size:13px;font-weight:600;line-height:1.2;display:flex;position:static}.mobile-gauges-trigger{color:#eaffff;background:#124551;border:1px solid #539a9e;grid-area:rain}.mobile-gauges-trigger svg{color:#83e6e5}.map-readings .bottom-controls .forecast-fold{color:#d6e6ef;background:#16374b;border:1px solid #526e80;grid-area:forecast}.sidebar.mobile-open{z-index:50}.sidebar.mobile-open~.map-space .map-readings,.map-only .map-readings .mobile-gauges-trigger,.map-only .map-readings .bottom-controls{display:none}.map-only .map-readings{pointer-events:none;background:0 0;border:0}.scene-labels .geo-label:is(.gauge-label,.sea-label){-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0}.geo-label:is(.gauge-label,.sea-label)>span:nth-child(2){display:none}.geo-label:is(.gauge-label,.sea-label) .marker-line{width:24px;height:24px;color:var(--gauge-color,#81dfec);background:#0b293a;border:1.5px solid;border-radius:50%;place-items:center;margin:0;display:grid}.geo-label:is(.gauge-label,.sea-label) .marker-line:before{display:none}.geo-label:is(.gauge-label,.sea-label) .pin-symbol{display:block}.geo-label.selected .marker-line{outline-offset:1px;outline:2px solid #fff}.map-space:has(.inspector:not([hidden]),.bottom-controls:not(.forecast-minimized)) .map-tools{flex-direction:row;gap:5px;display:flex;inset:146px 10px auto auto}.map-space:has(.inspector:not([hidden]),.bottom-controls:not(.forecast-minimized)) .map-tools button{width:38px;height:38px;margin:0}.map-space:has(.inspector:not([hidden]),.bottom-controls:not(.forecast-minimized)) .map-tools .compass small{display:none}.mobile-gauges-sheet[open]{box-sizing:border-box;color:#eef6fb;text-align:left;background:#0b2637;border:0;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.mobile-gauges-sheet::backdrop{background:#081d2c}.mobile-gauges-heading{background:#0d2d40;border-bottom:1px solid #436377;flex:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.mobile-gauges-heading h2{font-size:22px;line-height:1.25}.mobile-gauges-heading p,.rain-units{color:#c7dae5;margin-top:3px;font-size:13px}.mobile-gauges-heading button{border:1px solid #668494;border-radius:7px;place-items:center;width:44px;height:44px;display:grid}.mobile-gauges-list{overscroll-behavior:contain;min-height:0;padding:12px 12px max(16px,env(safe-area-inset-bottom));flex:1;overflow:auto}.rain-units{margin:0 2px 12px}.mobile-gauges-list article{background:#103246;border:1px solid #3b6174;border-radius:8px;margin-bottom:10px;padding:12px}.mobile-gauges-list article header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.mobile-gauges-list h3{margin:0;font-size:16px;line-height:1.3}.gauge-level{color:#d0e1e9;align-items:center;gap:5px;font-size:12px;display:inline-flex}.gauge-level i{border-radius:50%;width:8px;height:8px}.mobile-gauges-list dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:10px 0 6px;display:grid}.mobile-gauges-list dl>div{text-align:center;background:#0a2637;border-radius:4px;padding:6px 3px}.mobile-gauges-list dt,.mobile-gauges-list article p{color:#bdd2df;font-size:12px}.mobile-gauges-list dd{font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:clamp(16px,4.8vw,22px);font-weight:650}.mobile-gauges-list article p{margin:0}}.iris-gps-pin{z-index:5;visibility:hidden;pointer-events:auto;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-50%)}.iris-gps-pin i{background:var(--gps-level);border:3px solid #fff;border-radius:50%;width:15px;height:15px;display:block;box-shadow:0 0 0 5px #19638790}.iris-gps-pin span{color:#fff;border:1px solid var(--gps-level);white-space:nowrap;background:#071e2e;border-radius:5px;padding:5px 8px;font-size:10px;position:absolute;bottom:21px;left:50%;transform:translate(-50%)}.iris-gps-pin .iris-gps-risk{text-align:left;white-space:normal;background:#082637f7;border-color:#80b6c7;gap:5px;width:min(260px,100vw - 24px);padding:10px 12px;line-height:1.4;display:grid;top:25px;bottom:auto;left:0;transform:translate(-50%);box-shadow:0 8px 28px #00131fcc}.iris-gps-pin[data-anchor=right] .iris-gps-risk{left:auto;right:-12px;transform:none}.iris-gps-pin[data-anchor=left] .iris-gps-risk{left:-12px;transform:none}.iris-gps-pin .iris-gps-risk strong{color:#96e7ed;font-size:11px}.iris-gps-pin .iris-gps-risk small{color:#c0dce8;font-size:10px}.iris-sheet{box-sizing:border-box;color:#eaf3f5;text-align:left;background:#0a2333;border:1px solid #49616d;border-bottom:0;border-radius:18px 18px 0 0;width:min(100%,490px);max-width:100vw;height:min(84dvh,720px);max-height:94dvh;margin:0 auto;padding:0;font:14px/1.45 Inter,system-ui,sans-serif;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -12px 70px #00101e88}.iris-sheet[open]{flex-direction:column;display:flex}.iris-sheet::backdrop{background:#03111cb8}.iris-sheet>header{border-bottom:1px solid #355260;justify-content:space-between;align-items:center;padding:18px 20px 13px;display:flex}.iris-sheet>header button{color:#eaf3f5;background:#123344;border:1px solid #45616e;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.iris-kicker{color:#80dfe5;letter-spacing:.12em;font-size:10px;font-weight:700}.iris-sheet h2{margin:3px 0 0;font-size:22px;line-height:1.2}.iris-sheet-scroll{overscroll-behavior:contain;min-height:0;padding:14px 20px max(22px,env(safe-area-inset-bottom));overflow:auto}.iris-tabs{background:#061b29;border-radius:7px;gap:5px;padding:4px;display:flex}.iris-tabs button{color:#a9c0cc;background:0 0;border:0;border-radius:5px;flex:1;min-height:40px;font-size:13px}.iris-tabs button[aria-pressed=true]{color:#fff;background:#244958}.iris-sheet section{border-bottom:1px solid #314c5b;padding:18px 0}.iris-sheet h3{align-items:center;gap:8px;margin:0 0 6px;font-size:16px;display:flex}.iris-sheet h3 svg{color:#7cdce3}.iris-sheet p,.iris-sheet footer{color:#bdd1dc;margin:7px 0;font-size:12px;line-height:1.55}.iris-sheet footer{color:#a3b9c6;margin-top:16px}.iris-action{color:#e0f4f6;background:#123a4b;border:1px solid #547789;border-radius:7px;align-items:center;gap:7px;min-height:42px;margin:6px 6px 0 0;padding:7px 11px;font-size:12px;display:inline-flex}.iris-area{cursor:pointer;border-top:1px solid #294655;align-items:center;gap:10px;min-height:50px;padding:10px 0;display:flex}.iris-area input{accent-color:#78dbe1;flex:none;width:18px;height:18px}.iris-area span{flex:1}.iris-area b,.iris-area small{display:block}.iris-area b{font-size:13px}.iris-area small{color:#adcad6;font-size:11px}.iris-area em{text-align:right;max-width:83px;font-size:10px;font-style:normal}.iris-sheet article{border-bottom:1px solid #38515e;padding:10px 0}.iris-sheet .iris-message{color:#f7df97;background:#32392b;border-radius:5px;padding:9px 10px}.map-dock>.iris-toast{z-index:32;color:#fff;background:#183b4c;border-color:#8fcecf;width:min(92vw,440px);position:fixed;bottom:78px;left:50%;transform:translate(-50%)}@media (max-width:850px),(pointer:coarse) and (max-height:600px){.weather-app{height:100dvh}.map-dock{bottom:max(10px,env(safe-area-inset-bottom));gap:4px}.map-dock>button{min-height:44px}.map-dock>.iris-mobile-launch{color:#84e2e8}.sidebar.mobile-open{padding-bottom:max(22px,env(safe-area-inset-bottom))}}@media (max-width:550px){.map-dock{left:7px;right:7px}.map-dock>button{flex-direction:column;gap:2px;padding:5px 2px;font-size:8px;line-height:1.1}.map-dock>button span{max-width:100%}.map-attribution{bottom:calc(57px + env(safe-area-inset-bottom))}.bottom-controls{bottom:calc(76px + env(safe-area-inset-bottom))}}.risk-map-legend{color:#d8e9f1;background:#09283a;border:1px solid #4e7282;border-radius:6px;margin:8px 0 12px;padding:10px;font-size:10px}.risk-map-legend>strong{margin-bottom:3px;font-size:11px;display:block}.risk-map-legend>small{color:#a9c7d4;line-height:1.4;display:block}.risk-map-legend>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:9px 0;display:grid}.risk-map-legend>div>span{white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:9px;display:flex}.risk-map-legend i{opacity:.7;border:1px solid #fff8;border-radius:2px;flex:none;width:16px;height:14px;display:block}.risk-map-legend span:has(i)+span{min-width:0}.iris-floating-window{z-index:42;color:#e6f5fb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09283beb;border:1px solid #7099a9;border-radius:9px;flex-direction:column;width:min(720px,100vw - 32px);max-height:min(75dvh,700px);display:flex;position:fixed;bottom:65px;left:max(16px,50vw - 360px);overflow:hidden;box-shadow:0 15px 50px #001322d9}.iris-floating-window>header{background:#163d50;border-bottom:1px solid #547688;flex:none;align-items:center;gap:9px;padding:10px 14px;display:flex}.iris-floating-window>header>svg{color:#78dfe7;flex:none}.iris-floating-window>header h2{flex:1;font-size:15px;font-weight:650}.iris-floating-window>header button{color:#e6f5fb;background:#0a2b3d;border:1px solid #668b9a;border-radius:4px;place-items:center;width:28px;height:28px;display:grid}.forecast-content{padding:14px 17px;overflow:auto}.forecast-town{color:#a4e8e8;align-items:center;gap:5px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.forecast-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.forecast-days button{color:#d6edf6;text-align:center;background:#10394d;border:1px solid #527386;border-radius:5px;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;min-height:95px;padding:8px 5px;font-size:10px;display:flex}.forecast-days button.selected{background:#1b5363;border-color:#75e5e9;box-shadow:inset 0 0 0 1px #75e5e9}.forecast-days button:hover{background:#245769}.forecast-days button strong{text-transform:capitalize;font-size:10px}.forecast-days button span{color:#a9c9d5}.forecast-days button b{font-size:11px}.forecast-day-detail{background:#0d3042;border:1px solid #3c6475;border-radius:6px;margin-top:14px;padding:13px}.forecast-day-detail h3{text-transform:capitalize;font-size:15px}.forecast-day-detail>p{color:#bdd6e2;margin:6px 0 12px;font-size:11px}.forecast-facts{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.forecast-facts span{background:#174355;border-radius:4px;justify-content:space-between;gap:8px;padding:7px 9px;font-size:10px;display:flex}.forecast-facts b{white-space:nowrap}.forecast-day-detail h4{margin:13px 0 8px;font-size:11px}.forecast-hours{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.forecast-hours>div{border:1px solid #3d6373;border-radius:4px;gap:3px;padding:8px;font-size:9px;display:grid}.forecast-hours strong{color:#86e8ec;font-size:11px}.forecast-hours span{color:#cee2e9}.forecast-content footer,.radar-window footer{color:#aec8d4;flex-wrap:wrap;align-items:center;gap:5px;margin-top:12px;font-size:10px;line-height:1.4;display:flex}.forecast-content footer a,.radar-window footer a{color:#88e9ee;align-items:center;gap:3px;text-decoration:underline;display:inline-flex}.forecast-content footer small{margin-left:auto}.forecast-stale{color:#f2d6a1;border:1px solid #dfb974;border-radius:4px;margin-bottom:9px;padding:7px 9px;font-size:11px}.radar-window{width:min(720px,100vw - 44px);height:min(70dvh,610px);left:auto;right:22px}.radar-frame{background:#fff;flex:1;min-height:220px}.radar-frame iframe{border:0;width:100%;height:100%}.radar-window footer{background:#102f42;flex:none;margin:0;padding:9px 13px}@media (max-width:850px){.iris-floating-window{width:auto;max-height:calc(100dvh - 140px);bottom:68px;left:10px;right:10px}.forecast-days{grid-template-columns:repeat(4,minmax(0,1fr))}.forecast-hours{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-window{height:calc(100dvh - 150px)}}
