:root{--bg:#0c151d;--panel:#111e29;--card:#152430;--border:#223440;--muted:#8b9ba7;--text:#e7eef2;--green:#a6d3af;--accent:#b8dfbf;--violet:#c4aff1;--orange:#f2bd7d;--blue:#8cbfde;font-family:"Segoe UI",Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text)}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:4px}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button{border:0}button>span[data-icon],.small-icon,.location-icon{display:inline-flex;align-items:center;justify-content:center}.workspace{display:flex;height:100%;min-width:760px}.sidebar{width:286px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:1000}.brand{height:102px;min-height:102px;display:flex;align-items:center;gap:10px;padding:0 24px;text-decoration:none;border-bottom:1px solid var(--border)}.brand-mark{background:#263d35;border:1px solid #41594c;border-radius:11px;width:38px;height:42px;display:flex;align-items:center;justify-content:center;transform:rotate(-3deg)}.brand-mark svg{width:28px;height:28px;stroke:var(--green);stroke-width:1.3}.brand strong{font-size:21px;font-weight:650;letter-spacing:2.1px;line-height:1.3}.brand-dot{color:var(--green)}.brand small{display:block;font-size:8px;letter-spacing:1.65px;color:#8d9d9f;margin-top:4px}.sidebar-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#334954 transparent;flex:1}.sidebar section{padding:23px 22px;border-bottom:1px solid var(--border)}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.8px;color:var(--muted);line-height:1.4}.home-location{display:flex;text-align:left;align-items:center;gap:10px;width:100%;padding:17px 0 0;background:none}.home-location strong{display:block;font-size:14px;font-weight:550}.home-location small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.location-icon{color:var(--green)}.home-arrow{margin-left:auto;color:var(--muted);font-size:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-heading h2{font-size:13px;letter-spacing:.1px;font-weight:600;margin:0}.tiny-pill{font-size:8px;letter-spacing:1px;background:#21313c;color:#98a8b2;border-radius:4px;padding:4px 5px}.section-description{margin:7px 0 18px;color:var(--muted);font-size:11px}.layer-list{display:flex;flex-direction:column;gap:5px}.layer-row{position:relative;display:flex;gap:11px;align-items:center;min-height:55px;padding:8px 10px;border-radius:7px;border:1px solid transparent;cursor:pointer;transition:background .15s,border .15s}.layer-row:hover{background:#1c2d38}.layer-row.active{background:#23332f;border-color:#40564b}.layer-row.active .layer-name{color:#dfefe2}.layer-row input,.overlay-toggle input{position:absolute;opacity:0;width:1px;height:1px}.layer-icon{display:flex;justify-content:center;align-items:center;width:30px;height:32px;border-radius:6px;background:#20323d;flex-shrink:0}.layer-icon svg{width:18px;height:18px}.layer-copy{min-width:0;flex:1}.layer-name{font-size:12px;display:block;font-weight:550}.layer-detail{font-size:9px;color:#8c9da7;display:block;margin-top:4px;line-height:1.35}.switch{width:27px;height:16px;border-radius:10px;background:#344550;position:relative;flex-shrink:0;transition:background .15s}.switch:after{content:"";position:absolute;background:#a3afb8;width:10px;height:10px;left:3px;top:3px;border-radius:50%;transition:transform .15s,background .15s}input:checked+.switch{background:#8bbf99}input:checked+.switch:after{background:#163221;transform:translateX(11px)}input:focus-visible+.switch{outline:2px solid var(--green);outline-offset:3px}.opacity-control{margin:20px 3px 1px}.opacity-control label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.opacity-control output{font-size:10px;color:#c2d0d7}.opacity-control input{width:100%;height:3px;margin:14px 0 0;accent-color:var(--green)}.aviation-section .section-heading{margin-bottom:16px}.pilot-count{font-size:10px;color:var(--violet);background:#2b2940;border:1px solid #3e3a54;min-width:23px;text-align:center;border-radius:4px;padding:3px 5px}.overlay-toggle{display:flex;gap:10px;align-items:center;cursor:pointer;position:relative}.overlay-toggle>span:nth-child(2){flex:1}.overlay-toggle strong{font-size:12px;font-weight:500;display:block}.overlay-toggle small{font-size:9px;color:var(--muted);display:block;margin-top:5px}.small-icon{width:28px;height:30px;background:#29263b;border-radius:6px;flex-shrink:0}.small-icon svg{width:18px;height:18px}.violet{color:var(--violet)}.amber{color:var(--orange);background:#352d27}.report-status{color:#7f919c;font-size:9px;line-height:1.6;margin:12px 0 0 38px}.compact{margin-top:20px}.map-section .section-heading{margin-bottom:13px}.segmented{display:flex;background:#0b1822;border:1px solid #233542;border-radius:6px;padding:3px;gap:2px}.segmented button{font-size:11px;background:none;border-radius:4px;padding:8px 5px;flex:1;color:#8b9ca7}.segmented button.selected{background:#2b3d47;color:#e1e9ec;box-shadow:0 1px 2px #0004}.boundary-option{font-size:10px;display:flex;align-items:center;gap:7px;color:var(--muted);margin-top:15px;cursor:pointer}.boundary-option input{accent-color:var(--green);width:12px;height:12px}.sidebar-bottom{border-top:1px solid var(--border);display:flex;align-items:center;gap:7px;height:45px;min-height:45px;padding:0 20px;font-size:7px;letter-spacing:1.15px;color:#7f959c}.sidebar-bottom button{margin-left:auto;background:none;color:#96a6ad;font-size:17px;padding:5px}.source-dot,.status-dot{width:5px;height:5px;background:var(--green);border-radius:50%;display:inline-block;flex-shrink:0}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:102px;min-height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:15px;border-bottom:1px solid var(--border);background:#0f1b25}.breadcrumb{font-size:8px;letter-spacing:1.7px;color:#81949e;font-weight:550;display:flex;gap:12px;align-items:center}.breadcrumb span{color:#465a66}.topbar h1{font-size:22px;font-weight:500;letter-spacing:.2px;margin:9px 0 0}.header-actions{display:flex;align-items:center;gap:20px}.connection-status{font-size:10px;color:#94b39f;display:flex;align-items:center;gap:7px;white-space:nowrap}.connection-status i{display:inline-block;width:6px;height:6px;border-radius:100%;background:#8db89b;box-shadow:0 0 0 4px #8db89b13}.connection-status.error{color:#dca681}.connection-status.error i{background:#dca681}.header-divider{height:27px;width:1px;background:var(--border)}.refresh-button{background:#1c2d38;border:1px solid #2e424d;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;font-size:10px;white-space:nowrap}.refresh-button svg{width:14px;height:14px;color:#a8bdc7}.refresh-button:hover{background:#2b3d46}.map-workspace{flex:1;min-height:0;position:relative;overflow:hidden;background:#203137}#map{height:100%;width:100%;z-index:1;background:#35413f}.leaflet-container{font-family:"Segoe UI",Arial,sans-serif}.leaflet-tile-pane .street-tiles{filter:grayscale(.42) saturate(.65) brightness(.79)}.leaflet-tile-pane .terrain-tiles{filter:saturate(.7) brightness(.87)}.leaflet-control-attribution{font-size:8px!important;background:#11212bdd!important;color:#a3b5be!important;padding:3px 7px!important}.leaflet-control-attribution a{color:#bbd0d7!important}.leaflet-control-zoom{border:1px solid #42535c!important;border-radius:6px!important;box-shadow:0 4px 14px #0002!important;overflow:hidden}.leaflet-control-zoom a{background:#12232eee!important;color:#c8d4d9!important;border-color:#344650!important;width:33px!important;height:34px!important;line-height:33px!important;font-weight:400!important}.leaflet-control-zoom a:hover{background:#2e414c!important}.leaflet-top.leaflet-left{top:69px;left:13px}.leaflet-control-scale{margin-left:24px!important;margin-bottom:14px!important}.leaflet-control-scale-line{background:#172b36c9!important;color:#d1dcdf!important;border-color:#8b9b9e!important;text-shadow:none!important;font-size:8px!important}.map-heading{position:absolute;top:23px;left:24px;z-index:500;display:flex;align-items:center;gap:10px;background:#10222de8;border:1px solid #40535a99;border-radius:6px;padding:11px 13px;box-shadow:0 3px 10px #0001;font-size:8px;letter-spacing:1.2px;max-width:calc(100% - 340px)}.map-live-dot{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #b3d3bd17;flex-shrink:0}.map-heading-separator{color:#5f7a85}.map-heading-detail{color:#8da6b0;white-space:nowrap}.map-tools{position:absolute;left:24px;top:167px;z-index:500;display:flex;flex-direction:column;border:1px solid #42535c;border-radius:6px;background:#12232eee;overflow:hidden;box-shadow:0 4px 14px #0002}.map-tools button{display:flex;align-items:center;justify-content:center;width:33px;height:35px;background:none;color:#c2d1d7}.map-tools button+button{border-top:1px solid #344650}.map-tools button:hover{background:#2e414c}.map-tools svg{width:16px;height:16px}.map-hint{position:absolute;z-index:450;left:24px;bottom:23px;font-size:9px;color:#cbd7da;background:#10222de8;border:1px solid #41555b99;border-radius:5px;padding:8px 11px;display:flex;align-items:center;gap:7px}.map-hint svg{width:12px;height:12px;color:#a8c6bd}.point-panel{position:absolute;z-index:600;top:23px;right:23px;width:265px;background:#12232ef5;border:1px solid #3b4e58;border-radius:9px;box-shadow:0 12px 40px #06101840;overflow:hidden;backdrop-filter:blur(12px)}.point-topline{display:flex;align-items:center;justify-content:space-between;padding:17px 19px 0}.point-topline .eyebrow{font-size:8px;letter-spacing:1.4px;color:#93b3a4}.point-topline button{background:none;color:#9db0ba;font-size:20px;line-height:16px;width:20px;height:20px;padding:0}.point-panel h2{font-size:20px;font-weight:500;margin:8px 19px 0;letter-spacing:.1px}.point-coordinate{font-size:8px;letter-spacing:1px;color:#7e98a5;margin:6px 19px 0}.point-content{padding:0 19px}.point-panel.collapsed .point-content,.point-panel.collapsed .point-footer{display:none}.point-panel.collapsed .point-coordinate{margin-bottom:17px}.point-loading{display:flex;gap:9px;color:#98aeb9;font-size:11px;padding:32px 0;align-items:center;line-height:1.6}.spinner{display:inline-block;flex-shrink:0;width:12px;height:12px;border:1.5px solid #3a535e;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.current-main{display:flex;align-items:center;justify-content:space-between;gap:5px;padding-top:20px}.current-temp{font-size:48px;font-weight:350;letter-spacing:-2px;line-height:1.1}.current-temp sup{font-size:23px;letter-spacing:-1px;vertical-align:top;position:relative;top:5px;font-weight:300;color:#b8cbd2}.condition-art{width:47px;height:47px;color:#bfcca3}.condition-art svg{width:100%;height:100%;stroke-width:1.2}.current-description{font-size:11px;color:#b4c5ce;line-height:1.5;margin-top:7px}.current-provenance{font-size:8px;color:#7895a3;line-height:1.5;margin-top:7px}.current-provenance .flight-category{margin-left:5px}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 10px;border-top:1px solid #2c414c;padding:18px 0;margin-top:18px}.metric-label{font-size:8px;letter-spacing:.7px;color:#89a3af;text-transform:uppercase;display:flex;align-items:center;gap:5px}.metric-label svg{width:11px;height:11px}.metric-value{font-size:15px;font-weight:450;color:#d0dfe5;display:block;margin-top:6px}.metric-value small{font-size:9px;color:#8ca8b5;font-weight:400}.forecast-heading{font-size:8px;letter-spacing:1.1px;color:#8ba5b0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2c414c;padding-top:15px}.forecast-heading span{font-size:7px;letter-spacing:.4px;color:#6d8d9b}.hourly-forecast{display:flex;justify-content:space-between;gap:5px;padding:13px 0 16px}.hour-item{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:29px}.hour-item time{font-size:8px;color:#7f9baa;white-space:nowrap}.hour-item .hour-icon{color:#c5d1b0;width:18px;height:18px}.hour-item .hour-icon svg{width:18px;height:18px;stroke-width:1.5}.hour-item strong{font-size:12px;font-weight:500}.hour-item small{font-size:8px;color:#83aac0}.forecast-amounts{border-top:1px solid #2c414c;padding:12px 0;font-size:9px;color:#91a9b4;line-height:1.8}.forecast-amounts strong{font-weight:500;color:#d3e0e4}.forecast-amounts .amount-period{font-size:8px;line-height:1.5;color:#6e8b9a}.point-warning{font-size:9px;line-height:1.6;color:#c8b996;padding:8px 0 12px}.point-error{font-size:11px;line-height:1.6;color:#ceaf96;padding:22px 0}.point-error button{padding:7px 11px;font-size:10px;border:1px solid #506269;border-radius:4px;background:#293e48;margin-top:10px}.point-footer{font-size:7px;letter-spacing:.35px;color:#7793a0;border-top:1px solid #2b414d;padding:11px 19px;background:#0d1f2a70;line-height:1.5}.legend-panel{position:absolute;z-index:510;left:24px;bottom:68px;width:235px;border:1px solid #40535b99;background:#11232eed;border-radius:7px;padding:14px 15px;box-shadow:0 5px 20px #0002}.legend-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;font-weight:550;color:#d2e0e4;margin-bottom:9px}.legend-heading small{font-size:8px;color:#8da9b4;font-weight:400}.legend-gradient{height:6px;border-radius:3px;background:linear-gradient(90deg,#76a3cf,#95c9c2,#d5d49f,#dcaa79,#ce7a67)}.legend-ticks{display:flex;justify-content:space-between;color:#8ea7b3;font-size:8px;margin-top:6px}.legend-note{font-size:8px;color:#829eab;line-height:1.6;margin-top:9px}.legend-source{font-size:7px;letter-spacing:.3px;margin-top:7px;color:#688795}.legend-extra{font-size:8px;color:#b5a0d6;display:flex;align-items:center;gap:6px;border-top:1px solid #304752;margin-top:10px;padding-top:9px}.legend-extra b{font-size:10px;color:#c8b8df}.raster-status{font-size:8px;line-height:1.5;color:#9aacb7;margin-top:6px}.raster-status.error{color:#d6b18d}.legend-service-image{max-width:100%;max-height:190px;object-fit:contain;object-position:left;margin-top:6px}.map-notification{position:absolute;z-index:1000;bottom:26px;left:50%;transform:translateX(-50%);max-width:450px;background:#182c37fa;border:1px solid #697369;border-radius:7px;padding:13px 17px;color:#d4dccd;font-size:11px;line-height:1.5;box-shadow:0 5px 20px #0003}.statusbar{height:31px;min-height:31px;display:flex;align-items:center;gap:20px;padding:0 20px;font-size:8px;letter-spacing:.15px;color:#79919e;background:#0d1a24;border-top:1px solid #2a3c47}.status-left{display:flex;align-items:center;gap:7px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{width:4px;height:4px}.status-dot.error{background:#d6a47b}.status-right{margin-left:auto;white-space:nowrap}#cursor-coordinate{color:#6c8592;white-space:nowrap}.station-icon{background:none!important;border:0!important}.station-label{display:flex;align-items:center;gap:4px;transform:translate(-50%,-50%);padding:4px 6px;background:#10222ee9;border:1px solid #5e758377;border-radius:5px;color:#d9bd91;box-shadow:0 1px 5px #0004;white-space:nowrap;width:max-content;font-size:11px;font-weight:600;line-height:1.1}.station-label.multi{gap:5px;font-size:9px}.station-label .station-value+.station-value{border-left:1px solid #60738070;padding-left:5px}.station-value small{font-size:7px;color:#8dabb9;margin-left:2px;font-weight:400}.station-label.stale{opacity:.5}.wind-pointer{display:inline-block;line-height:1;font-size:13px;color:#a6cfce}.pirep-marker{display:flex;align-items:center;justify-content:center;border-radius:5px;width:23px;height:23px;box-shadow:0 2px 5px #0004;border:1px solid #c3a9ea99;background:#413457eb;color:#d4c0f0;transform:rotate(-10deg)}.pirep-marker svg{width:15px;height:15px;stroke-width:1.6}.pirep-marker.urgent{background:#713d44;border-color:#ed9e9a;color:#ffd3ce}.home-marker{width:16px;height:16px;border:3px solid #d8e8c7;border-radius:50%;background:#466855;box-shadow:0 0 0 6px #b6d7a130,0 2px 6px #0008}.selected-marker{width:13px;height:13px;border:2px solid #dae8cf;border-radius:50%;background:#385364;box-shadow:0 0 0 6px #bddebf30}.home-tooltip{background:#10242ef2!important;color:#c9d8c8!important;border:1px solid #536b60!important;box-shadow:0 2px 7px #0002!important;font-size:9px!important;font-weight:550;letter-spacing:.6px;padding:5px 7px!important}.home-tooltip:before{border-right-color:#536b60!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#132936!important;color:#c2d2dc!important}.leaflet-popup-content-wrapper{border:1px solid #49606b;border-radius:8px!important;box-shadow:0 7px 25px #0004!important}.leaflet-popup-content{font-family:"Segoe UI",Arial,sans-serif;font-size:11px!important;line-height:1.6!important;margin:15px 18px!important;min-width:210px;max-width:310px}.leaflet-popup-close-button{color:#9eb5bf!important;right:5px!important;top:5px!important}.popup-title{font-size:15px;color:#e0ebe9;margin:0 0 5px;font-weight:500}.popup-subtitle{font-size:9px;color:#89a5b2;margin-bottom:10px}.popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.popup-grid label{color:#7f9ca9;font-size:9px;display:block}.popup-grid strong{font-size:11px;color:#ccdde3;font-weight:500}.raw-report{display:block;word-break:break-word;white-space:normal;font-family:Consolas,monospace;font-size:9px;line-height:1.7;color:#96b4c3;border-top:1px solid #34505d;padding-top:10px;margin-top:12px}.popup-note{font-size:9px;color:#9db19a;margin-top:10px}.flight-category{border-radius:3px;background:#31533c;color:#b9d8bb;padding:2px 4px;font-size:8px}.flight-category.MVFR{background:#304a68;color:#bad7ed}.flight-category.IFR{background:#6b3c38;color:#ebc1b7}.flight-category.LIFR{background:#54376a;color:#dcc0ef}dialog{width:min(680px,calc(100vw - 50px));max-height:calc(100vh - 60px);padding:28px;border-radius:12px;border:1px solid #405863;background:#12232e;color:#c5d5dc;box-shadow:0 25px 100px #0007;scrollbar-width:thin;scrollbar-color:#415b68 transparent}dialog::backdrop{background:#06121bd9;backdrop-filter:blur(4px)}.dialog-heading{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.dialog-heading h2{font-size:23px;font-weight:450;margin:10px 0 5px;color:#e1ebe8}.dialog-heading button{background:none;font-size:25px;line-height:1;color:#95aeb8}dialog>p{font-size:12px;line-height:1.8;color:#90aab7}.source-list{display:flex;flex-direction:column;margin-top:21px}.source-list a{display:block;text-decoration:none;padding:14px 0;border-bottom:1px solid #2b414c}.source-list a strong{display:block;color:#bad2be;font-weight:500;font-size:12px}.source-list a span{font-size:10px;line-height:1.8;color:#8da6b3;display:block;margin-top:6px}.source-list a:hover strong{color:#e0eccc}.guide-note{padding:17px;margin-top:20px;background:#1b3038;border-left:2px solid #93b79b;border-radius:3px}.guide-note strong{font-size:11px;font-weight:550;color:#bbd1be}.guide-note p{font-size:10px;line-height:1.8;color:#96b0bb;margin:8px 0 0}.dialog-bottom{font-size:9px;color:#6e8b99;margin-top:18px;line-height:1.7}@media(max-height:850px){.brand,.topbar{height:86px;min-height:86px}.sidebar section{padding:18px 20px}.layer-row{min-height:47px}.layer-section .section-description{margin-bottom:11px}.layer-list{gap:3px}.sidebar-bottom{height:36px;min-height:36px}.point-panel{top:20px}.metrics-grid{gap:13px 8px;padding:14px 0;margin-top:14px}.hourly-forecast{padding:12px 0}.current-main{padding-top:15px}.current-temp{font-size:42px}}@media(max-width:1150px){.sidebar{width:252px}.brand{padding:0 19px}.brand strong{font-size:18px;letter-spacing:1.9px}.brand small{font-size:7px;letter-spacing:1.2px}.brand-mark{width:33px;height:37px}.sidebar section{padding-left:17px;padding-right:17px}.topbar{padding:0 23px}.topbar h1{font-size:20px}.header-actions{gap:12px}.point-panel{right:16px;width:242px}.map-heading{max-width:calc(100% - 290px);font-size:7px;letter-spacing:1px}.map-heading-detail,.map-heading-separator{display:none}.legend-panel{width:217px}.connection-status{font-size:9px}.statusbar{padding:0 13px;gap:11px}#cursor-coordinate{display:none}}@media(max-width:900px){.sidebar{width:224px}.brand{padding:0 15px;gap:8px}.brand strong{font-size:16px;letter-spacing:1.4px}.brand small{letter-spacing:.7px;font-size:6px}.brand-mark{width:30px}.topbar{padding:0 18px}.topbar h1{font-size:17px}.connection-status,.header-divider{display:none}.refresh-button{padding:8px 9px}.refresh-button>span:last-child{display:none}.sidebar section{padding-left:14px;padding-right:14px}.tiny-pill{font-size:7px}.layer-row{gap:8px;padding:7px}.layer-icon{width:25px}.layer-name{font-size:11px}.layer-detail{font-size:8px}.point-panel{width:216px;right:13px}.point-content{padding:0 15px}.point-panel h2{margin-left:15px}.point-coordinate{margin-left:15px}.point-topline{padding-left:15px;padding-right:15px}.point-footer{padding:10px 15px}.map-heading{left:16px;top:20px;padding:10px;font-size:6px;max-width:calc(100% - 250px);gap:7px}.legend-panel{left:16px;bottom:60px;width:192px;padding:12px}.map-hint{left:16px;font-size:8px;padding:7px;bottom:21px}.sidebar-bottom{padding-left:14px;font-size:6px;letter-spacing:.8px}.statusbar{font-size:7px}.status-right{display:none}.metric-value{font-size:13px}.point-panel h2{font-size:18px}.point-coordinate{font-size:7px}.current-temp{font-size:39px}.hour-item{min-width:25px}.hour-item time{font-size:7px}}@media(max-height:700px){.point-panel{max-height:calc(100% - 55px);overflow:auto;scrollbar-width:thin;scrollbar-color:#405963 transparent}.sidebar section{padding-top:15px;padding-bottom:15px}.brand,.topbar{height:77px;min-height:77px}.layer-row{min-height:45px}.map-heading{top:17px}.legend-panel{bottom:58px}.point-panel{top:17px}.sidebar .section-description{margin-bottom:9px}.opacity-control{margin-top:15px}}
/* Every enabled field keeps its own source-specific key. NOAA bins are discrete. */
.legend-panel{max-height:calc(100% - 150px);overflow:auto;scrollbar-width:thin;scrollbar-color:#425b66 transparent}.layer-legend+.layer-legend{border-top:1px solid #304752;margin-top:10px;padding-top:10px}.layer-legend>summary{display:flex;justify-content:space-between;gap:7px;align-items:center;cursor:pointer;color:#d2e0e4;font-size:9px;font-weight:550;list-style:none}.layer-legend>summary:before{content:"+";font-size:12px;color:#8da9b4;line-height:1}.layer-legend[open]>summary:before{content:"−"}.layer-legend>summary>span{flex:1}.layer-legend>summary small{font-size:8px;color:#8da9b4;font-weight:400}.legend-color-title{color:#718f9f;font-size:6px;letter-spacing:.75px;margin-top:12px;margin-bottom:7px}.legend-bands{display:flex;gap:3px}.legend-bands>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;font-size:6px;color:#99b0bd;line-height:1.5}.legend-bands i{height:7px;border-radius:2px;border:1px solid #c6dee333}.station-colors{display:flex;justify-content:space-between;gap:3px;font-size:7px}.all-bands>summary{cursor:pointer;color:#8da9b4;font-size:7px;margin-top:8px}.all-bands-list{max-height:130px;overflow:auto;margin-top:7px;scrollbar-width:thin;scrollbar-color:#425b66 transparent}.all-bands-list>div{display:flex;gap:7px;align-items:center;font-size:7px;color:#9eb3be;margin:4px 0}.all-bands-list i{width:20px;height:7px;display:block;flex-shrink:0;border:1px solid #c6dee333;border-radius:1px}.legend-link{font-size:7px;color:#a3bfb5;display:block;margin-top:9px;text-decoration:none;line-height:1.5}.legend-link:hover{text-decoration:underline}.legend-extra svg{width:12px;height:12px;stroke-width:1.7}.legend-panel .legend-note{font-size:8px;line-height:1.55;margin-top:9px}.legend-panel .legend-source{font-size:7px}
.legend-bands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 5px}.legend-bands>div{font-size:7px}.legend-service-image{display:block;width:100%;height:auto;margin-top:10px;background:#e7e7e7;border-radius:2px}.radar-legend-image{min-height:12px}
.desktop-install-controls{display:flex;align-items:center;gap:8px}
.desktop-install-controls[hidden],.sidebar-backdrop[hidden],.mobile-menu-button[hidden]{display:none!important}
.desktop-install-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:9px 13px;border:1px solid #8dbb9a;border-radius:6px;background:#a6d3af;color:#143124;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.1px;white-space:nowrap;box-shadow:0 1px 3px #0002;transition:background .15s,border-color .15s}
.desktop-install-button:hover{background:#bfdfc4;border-color:#bfdfc4}
.desktop-install-button>span[data-icon]{display:inline-flex;align-items:center;justify-content:center}
.desktop-install-button svg{width:15px;height:15px;stroke-width:1.8}
.install-info-button{height:23px;width:23px;flex-shrink:0;border:1px solid #38505c;border-radius:50%;background:transparent;color:#8fa8b4;font-size:11px;font-weight:600;padding:0}
.install-info-button:hover{color:#d5e4dc;border-color:#829f91;background:#233730}
.browser-mode .header-actions{gap:13px}
.mobile-menu-button{display:none;align-items:center;justify-content:center;background:#1c2d38;border:1px solid #2e424d;border-radius:6px;width:34px;height:34px;padding:0;color:#bfd2ce}
.mobile-menu-button svg{width:18px;height:18px}
.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:999;background:#06131bba;backdrop-filter:blur(2px)}
#install-dialog{width:min(550px,calc(100vw - 36px))}
.install-platform{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:7px 10px;background:#24382f;border:1px solid #3e5a47;border-radius:5px;color:#b6d4bd;font-size:10px;letter-spacing:.15px}
.install-platform svg{height:13px;width:13px;stroke-width:1.3}
.install-steps{font-size:11px;line-height:1.9;color:#9eb4bf;padding-left:18px;margin:20px 0}
.install-steps li{padding-left:4px;margin:6px 0}
.install-steps strong{color:#d5e1dc;font-weight:500}
.install-dialog-bottom{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:22px}
.install-dialog-bottom>span{font-size:9px;color:#86a08d}
@media(max-width:1150px){.browser-mode .connection-status,.browser-mode .header-divider{display:none}.browser-mode .header-actions{gap:10px}.desktop-install-button{font-size:10px;padding:9px 11px}.desktop-install-controls{gap:6px}}
@media(max-width:759px){
  .browser-mode .workspace{min-width:0;width:100%;height:100dvh}
  .browser-mode .sidebar{position:fixed;inset:0 auto 0 0;height:100dvh;width:286px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:8px 0 30px #0003}
  .browser-mode.sidebar-open .sidebar{transform:translateX(0)}
  .browser-mode.sidebar-open .sidebar-backdrop:not([hidden]){display:block}
  .browser-mode .mobile-menu-button{display:flex;grid-column:1;grid-row:1}
  .browser-mode .topbar{height:112px;min-height:112px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:36px 36px;gap:10px 12px;padding:15px 16px}
  .browser-mode .topbar>div:not(.header-actions){grid-column:2;grid-row:1;min-width:0}
  .browser-mode .breadcrumb{font-size:6px;letter-spacing:1.4px;gap:8px}
  .browser-mode .topbar h1{font-size:17px;margin-top:5px;white-space:nowrap}
  .browser-mode .header-actions{grid-column:1 / -1;grid-row:2;justify-content:space-between;flex-direction:row-reverse;gap:10px}
  .browser-mode .refresh-button{height:34px;width:34px;padding:0}
  .browser-mode .refresh-button>span:last-child{display:none}
  .browser-mode .desktop-install-controls{gap:10px}
  .browser-mode .desktop-install-button{font-size:10px;min-height:34px;padding:8px 12px}
  .browser-mode .install-info-button{width:23px;height:23px}
  .browser-mode .main{width:100%}
  .browser-mode .brand{height:86px;min-height:86px;padding:0 24px;gap:10px}
  .browser-mode .brand strong{font-size:21px;letter-spacing:2.1px}
  .browser-mode .brand small{font-size:8px;letter-spacing:1.65px}
  .browser-mode .brand-mark{width:38px;height:42px}
  .browser-mode .sidebar section{padding:20px 22px}
  .browser-mode .layer-row{gap:11px;min-height:51px;padding:8px 10px}
  .browser-mode .layer-icon{width:30px}
  .browser-mode .layer-name{font-size:12px}
  .browser-mode .layer-detail{font-size:9px}
  .browser-mode .map-heading{left:12px;top:14px;font-size:7px;max-width:calc(100% - 24px);padding:9px 11px;gap:8px}
  .browser-mode .point-panel{top:63px;right:12px;width:min(265px,calc(100% - 74px));max-height:calc(100% - 110px);overflow:auto;scrollbar-width:thin;scrollbar-color:#405963 transparent}
  .browser-mode .point-panel.collapsed{width:190px}
  .browser-mode .point-panel:not(.collapsed)~.legend-panel{display:none}
  .browser-mode .point-panel h2{font-size:18px}
  .browser-mode .point-coordinate{font-size:7px}
  .browser-mode .legend-panel{left:12px;bottom:57px;width:186px;max-height:45%}
  .browser-mode .map-hint{left:12px;bottom:22px;max-width:calc(100% - 24px);font-size:8px}
  .browser-mode .map-tools{left:23px;top:164px}
  .browser-mode .statusbar{padding:0 12px;font-size:7px}
  .browser-mode .map-notification{width:calc(100% - 28px);font-size:10px;bottom:24px}
  .browser-mode .sidebar-bottom{padding:0 20px;height:42px;min-height:42px;font-size:7px;letter-spacing:1px}
  .browser-mode dialog{padding:23px}
  .browser-mode .dialog-heading h2{font-size:21px}
}
