:root{--lab-deep:#104b62;--lab-muted:#44778a}.app{max-width:2200px;padding:16px 24px 25px}.topbar{margin-bottom:8px}.pagelead{min-height:125px;margin-bottom:16px}.pagelead h1{font-size:clamp(30px,3vw,46px);line-height:1.03}.pagelead p{max-width:570px;font-size:12px;margin-top:12px}.dashboard{grid-template-columns:232px minmax(360px,1fr) 292px;gap:14px}.map-card{height:calc(100vh - 252px);min-height:510px;max-height:950px}.map-card #map{height:100%;min-height:0}.rightcol>.glass{display:none}.rightcol>#research-panel{display:block}.leftcol>.glass:first-child #data{max-height:90px;overflow:auto;font-size:10px}.leftcol>.glass:first-child .site-overview{display:none}body:not(.flight-mode) #forecast-panel,body:not(.flight-mode) .kpis,body:not(.flight-mode) .map-legend,body:not(.flight-mode) .map-desc{display:none}body:not(.flight-mode) #layer-panel{display:none}.flight-mode .rightcol>#research-panel{display:none}.flight-mode .rightcol>.glass{display:block}.flight-mode .research-only{display:none}.flight-mode .map-card{height:650px}.science-note{font-size:10px!important}.workspace-switch{display:flex;gap:5px;padding:5px;background:#e4faff7d;border:1px solid white;border-radius:28px;margin-right:auto}.workspace-switch button{border:0;border-radius:22px;background:transparent;color:#306c81;padding:9px 16px;font-size:11px;font-weight:900}.workspace-switch button[aria-pressed=true]{background:linear-gradient(#fff,#dcfff6);color:#04725e;box-shadow:0 3px 12px #18758c22}.navlinks{display:none}.topright .top-tool{font-size:10px}.lead-coords{display:none}.live-pill{font-size:9px}.research-eyebrow{font:700 9px 'DM Mono',monospace;letter-spacing:.14em;color:#328690;margin-bottom:7px}.research-title{font:900 24px/1.2 'Nunito',sans-serif;color:#134c61;margin:0 0 5px}.research-sub{font:10px/1.8 'DM Mono',monospace;color:#477c8c}.research-score{display:flex;gap:12px;align-items:center;margin:18px 0 12px}.score-orb{width:91px;height:91px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#12aa8c var(--angle),#d2ebee 0);box-shadow:0 5px 20px #29928d30,inset 0 1px #fff}.score-orb:before{content:'';position:absolute;width:73px;height:73px;border-radius:50%;background:linear-gradient(150deg,#fff,#dcf9f5)}.score-orb strong{z-index:1;font:900 31px 'Nunito',sans-serif;color:#0e7165}.research-score b{font-size:12px;color:#176472}.research-score small{display:block;font-size:10px;color:#4a7883;margin-top:6px;line-height:1.55}.datum-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.datum{padding:10px;border:1px solid #fff;background:#fff6;border-radius:13px}.datum small{display:block;font-size:9px;color:#47758b}.datum strong{display:block;font:900 18px 'Nunito',sans-serif;color:#14586b;margin-top:4px}.gate{border:1px solid #d2a84955;background:#fff5d99c;border-radius:12px;padding:11px;color:#775b22;font-size:10px;line-height:1.6}.gate strong{display:block;margin-bottom:3px}.mini-bars{display:flex;height:72px;gap:4px;align-items:end;border-bottom:1px solid #1d657433;padding-bottom:6px;margin-top:12px}.mini-bars span{flex:1;border-radius:3px 3px 1px 1px;background:linear-gradient(#6cd5c2,#148d96);min-height:2px;position:relative}.chart-labels{display:flex;justify-content:space-between;font:8px 'DM Mono',monospace;color:#467587;margin:7px 0 14px}.site-rank{display:grid;grid-template-columns:24px 1fr auto;text-align:left;align-items:center;gap:7px;width:100%;padding:12px 9px;border:1px solid transparent;border-bottom-color:#a7d8dc70;background:transparent;color:#174f65;border-radius:11px}.site-rank:hover,.site-rank.selected{background:#ffffff99;border-color:white}.site-rank .rank{font:10px 'DM Mono',monospace;color:#288e87}.site-rank b{font-size:11px}.site-rank small{display:block;font-size:9px;color:#5a7e89;margin-top:3px}.site-rank strong{font:900 19px 'Nunito',sans-serif}.muted-note{font-size:10px;line-height:1.65;color:#4b7686;margin:9px 0}.forecast-dock{padding:17px 20px}.dock-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.dock-top b{color:#185d72;font-size:12px}.dock-top span{font:9px 'DM Mono',monospace;color:#3a7487}.forecast-dock input{margin:18px 0 10px}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.scenario-btn{background:#f0ffff87;border:1px solid white;border-radius:10px;padding:9px 5px;color:#256b78;font-size:10px;font-weight:800}.scenario-btn[aria-pressed=true]{background:#aaf2d9;color:#095f59;box-shadow:inset 0 0 0 1px #50baa5}.scenario-state{padding:7px 10px;border-radius:8px;background:#d1f8e3;color:#15745f;font-size:9px;font-weight:800;margin-bottom:12px}.scenario-state.hypothetical{background:#fff1c9;color:#845d12}.scenario-input{display:flex;align-items:center;gap:8px}.scenario-input input{flex:1}.scenario-input output{min-width:40px;text-align:right;font:10px 'DM Mono',monospace;color:#155b70}.evidence-tools{display:flex;gap:6px;flex-wrap:wrap}.evidence-tools .btn{font-size:10px;flex:1}.lab-modal{border:1px solid white;border-radius:24px;background:#eefcfd;color:#194f64;padding:26px;max-width:680px;width:calc(100% - 32px);max-height:85vh;box-shadow:0 30px 100px #092f6270}.lab-modal::backdrop{background:#062c4569;backdrop-filter:blur(7px)}.lab-modal h2{font:900 26px 'Nunito',sans-serif;margin:0 0 16px}.lab-modal p,.lab-modal li{font-size:12px;line-height:1.8}.lab-modal a{color:#007a7c;text-decoration:underline}.lab-modal summary{cursor:pointer;font-weight:800}.lab-modal code{font-size:11px;overflow-wrap:anywhere}.lab-modal .close-modal{float:right}.lab-modal table{font-size:11px;width:100%;border-collapse:collapse}.lab-modal td,.lab-modal th{padding:9px;text-align:left;border-bottom:1px solid #cae1e8}.lab-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:90vw;border-radius:14px;background:#124f63;color:white;padding:13px 20px;z-index:2000;box-shadow:0 10px 40px #1236;font-size:12px}.lab-toast[hidden]{display:none}.map-pin{border:2px solid white;border-radius:50% 50% 50% 8%;background:linear-gradient(135deg,#d9fff4,#21bb9b);color:#075f5b;box-shadow:0 4px 18px #052e4480;display:grid;place-items:center;font:900 12px 'Nunito',sans-serif}.map-pin.unavailable{background:#d9e2e6;color:#49626c}.focus-map .dashboard{grid-template-columns:1fr}.focus-map .map-card{height:calc(100vh - 235px)}.ocean{--lab-deep:#d7faff;--lab-muted:#a0c7d1}.ocean .research-title,.ocean .research-score b,.ocean .datum strong,.ocean .dock-top b,.ocean .site-rank{color:#d6fff6}.ocean .muted-note,.ocean .research-sub,.ocean .datum small,.ocean .site-rank small,.ocean .research-score small,.ocean .dock-top span{color:#acd5de}.ocean .datum,.ocean .site-rank.selected,.ocean .site-rank:hover{background:#1e5365a8;border-color:#538c9450}.ocean .scenario-state{background:#175e51;color:#c0ffe1}.ocean .scenario-state.hypothetical{background:#65502b;color:#fff0b6}.ocean .gate{background:#564b2d;color:#fff0bc}.ocean .workspace-switch{background:#195263}.ocean .workspace-switch button{color:#c2f6ef}.ocean .workspace-switch button[aria-pressed=true]{color:#13544c}.ocean .scenario-input output{color:#c6f6ee}.ocean .research-eyebrow{color:#84d8cf}
@media(min-width:1600px){.dashboard{grid-template-columns:245px minmax(400px,1fr) 305px}.map-card{min-height:650px}.pagelead{min-height:145px}}
@media(max-width:1150px){.topright{gap:5px}.topright .sys-pill{display:none}.brand{min-width:190px}.dashboard{grid-template-columns:205px minmax(300px,1fr) 255px;gap:10px}.block{padding:13px}.workspace-switch button{padding:9px 10px}.pagelead{min-height:120px}.app{padding:12px}.map-overlay-top{left:15px;top:15px}.map-reticle{display:none}}
@media(max-width:900px){.dashboard{grid-template-columns:210px minmax(0,1fr)}.rightcol{grid-column:1/-1}.rightcol #research-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.rightcol #research-panel>.block-head{grid-column:1/-1}.map-card{height:590px}.topbar{flex-wrap:wrap}.workspace-switch{order:3;flex:1}.pagelead h1{font-size:36px}.pagelead .lead-side{display:none}.flight-mode .rightcol{display:grid;grid-template-columns:1fr 1fr}.flight-mode .rightcol #research-panel{display:none}}
@media(max-width:620px){.app{padding:9px}.topbar{padding:10px;gap:8px;border-radius:18px}.brand{min-width:0;margin-right:auto}.brand-sub{font-size:7px}.brand-name{font-size:18px}.top-divider,.top-avatar,#focus-toggle{display:none}.top-tool{padding:0 9px}.workspace-switch{justify-content:center}.workspace-switch button{flex:1}.pagelead{padding:10px 8px;min-height:135px}.pagelead h1{font-size:36px;letter-spacing:-1.4px}.pagelead p{font-size:11px;max-width:310px}.dashboard{display:flex;flex-direction:column}.centercol{order:0;width:100%}.leftcol{order:1;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.rightcol{order:2;width:100%}.rightcol #research-panel{display:block}.leftcol>.glass:first-child{grid-column:1/-1}.map-card{height:530px;min-height:480px}.map-overlay-bottom{left:14px;right:14px;bottom:30px}.map-coordinates{font-size:8px}.map-bottom-info{min-width:0;padding:9px}.map-mode{font-size:9px}.map-view-switch{gap:3px}.map-theme-btn{font-size:9px;padding:6px 8px}.flight-mode .rightcol{display:flex}.flight-mode .leftcol{display:flex}.flight-mode .map-card{height:500px}.kpis{grid-template-columns:1fr 1fr}.dock-top{align-items:flex-start;flex-direction:column}.footnote{flex-direction:column;gap:8px}.focus-map .leftcol,.focus-map .rightcol{display:none}.focus-map .map-card{height:600px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.example-banner{padding:11px 15px;margin:0 0 14px;border:1px solid #fff6d0;border-radius:12px;background:#fff3c5;color:#694b18;font-size:11px;line-height:1.6}.example-banner[hidden]{display:none}.example-banner b{font-family:'DM Mono',monospace;font-size:10px;margin-right:9px}.example-banner button{margin-left:12px;border:0;background:transparent;color:#6b4e15;text-decoration:underline;font-weight:800;font-size:10px}.sys-pill.offline .status-dot{background:#eab96c;box-shadow:none;animation:none}
.map-card #map{position:absolute;inset:5px;width:auto;height:auto;min-height:0}
