:root{color-scheme:dark;--night:#091923;--sidebar:#0b1e2a;--ink:#d9e7e9;--sub:#79909d;--line:#233947;--teal:#66d7d2;--gold:#eac18a;--muted:#516875;--sidebarWidth:336px;--topHeight:73px;--bottomHeight:170px;font-family:Inter,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--night);color:var(--ink)}button,select,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.topbar{height:var(--topHeight);position:fixed;top:0;left:0;right:0;z-index:10;background:#091b26;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a404c;padding:0 23px;gap:22px}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand-mark{height:38px;width:39px;display:grid;place-items:center;border:1px solid #52847f;color:#c9f3e8;font-size:21px;letter-spacing:-5px;font-weight:900;line-height:1;padding-right:6px;background:linear-gradient(135deg,#1d424a,#0c2534)}.brand-mark span{color:var(--gold)}.brand strong{display:block;font-size:16px;letter-spacing:1.4px}.brand strong em{font-style:normal;color:var(--gold);font-weight:400}.brand small{display:block;font-size:8.5px;letter-spacing:1.6px;margin-top:6px;color:#7d97a2;font-weight:700}.brand small b{color:var(--teal)}.top-metrics{display:flex;flex:1;justify-content:center;gap:clamp(16px,3vw,62px)}.top-metrics div{min-width:90px}.top-metrics label{display:block;font-size:9px;letter-spacing:1.35px;color:#7d9aa7;font-weight:700}.top-metrics strong{display:block;font-size:18px;margin-top:4px;font-weight:600;letter-spacing:.3px}.top-metrics strong small{font-size:9px;color:var(--teal)}.top-actions{display:flex;align-items:center;gap:15px}.live-indicator{font-size:9px;font-weight:800;letter-spacing:1.2px;color:#9bc3bc;white-space:nowrap}.live-indicator i,.status-orb{display:inline-block;width:7px;height:7px;background:#64d9ad;border-radius:50%;box-shadow:0 0 12px #5edda599;margin-right:8px;animation:breathe 2.5s infinite}@keyframes breathe{50%{opacity:.45}}.icon-btn{background:#18313e;border:1px solid #3b5561;color:#9abcc8;height:30px;width:30px;border-radius:50%;font-size:17px}.sidebar{position:fixed;top:var(--topHeight);left:0;bottom:var(--bottomHeight);width:var(--sidebarWidth);background:var(--sidebar);z-index:5;border-right:1px solid #304958;display:flex;flex-direction:column}.section-title{padding:23px 24px 17px;border-bottom:1px solid var(--line)}.eyebrow{font-size:9px;color:var(--teal);letter-spacing:1.85px;font-weight:800}.section-title h2{font-weight:450;letter-spacing:.1px;font-size:23px;margin:7px 0 6px}.section-title p{font-size:9px;letter-spacing:.85px;color:#708998;margin:0}.nav-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:10px 16px 0;gap:4px;border-bottom:1px solid var(--line)}.tab{background:transparent;color:#6e8997;border:none;padding:12px 3px;font-weight:800;letter-spacing:1.3px;font-size:10px;border-bottom:2px solid transparent}.tab.active{border-color:var(--teal);color:#ccebe9}.side-scroll{overflow:auto;flex:1;scrollbar-color:#37505a transparent;scrollbar-width:thin}.panel{display:none;padding:19px 20px 22px}.panel.active{display:block}.control-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:6px}.pill{display:inline-block;color:#82a9a8;background:#14343f;border:1px solid #275362;border-radius:2px;padding:5px 7px;font-size:8px;font-weight:700;letter-spacing:.4px;white-space:nowrap}.control-label{display:block;font-size:9px;font-weight:800;color:#859daa;letter-spacing:1.15px;margin-bottom:9px}.space-above{margin-top:23px}select{width:100%;height:38px;color:#e2edf0;background:#172e3c;border:1px solid #35505d;border-radius:3px;padding:0 12px;font-size:12px;outline:none}select:focus{border-color:var(--teal)}.water-card{margin-top:17px;background:#102734;border:1px solid #2c4854;display:flex;height:186px;padding:14px;gap:15px}.water-bar{width:53px;position:relative;border:1px solid #405b64;background:repeating-linear-gradient(0deg,#274250 0 1px,#142e3b 1px 18px);overflow:hidden}.water-bar-fill{position:absolute;bottom:0;left:0;right:0;height:0%;background:linear-gradient(180deg,#65b9bc,#154f62);box-shadow:0 -2px 10px #4de4cc70;transition:height .4s}.water-bar-fill:before{content:'';position:absolute;top:0;height:3px;left:0;right:0;background:#acf7e3}.water-index{position:absolute;inset:5px 4px;display:flex;flex-direction:column;justify-content:space-between;color:#daede3;font-size:8px;font-weight:800;z-index:1}.water-data{flex:1;min-width:0}.tiny{font-size:9px;letter-spacing:1.15px;color:#83a4b3;font-weight:800}.water-data>strong{display:block;font-size:29px;font-weight:400;color:#dff6f2;margin-top:5px}.units{font-size:10px;color:#7d96a3}.sep{height:1px;background:#284350;margin:13px 0 8px}.mini-stat{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.mini-stat span{font-size:9px;letter-spacing:.6px;color:#839aa8}.mini-stat b{font-size:11px;font-weight:650;color:#d2e6ea;text-align:right}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action{padding:12px 6px;border:1px solid #35505e;background:#18313e;color:#bed4dc;font-size:10px;letter-spacing:.6px;font-weight:800;border-radius:2px;min-height:39px}.action:hover,.view-btn:hover{border-color:#5aa6aa;color:white;background:#1b3e4d}.action.primary{border-color:#539f9f;background:#1e626b;color:#e4fdf4}.action.cycle{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:10px;background:#243d48;border-color:#4e6973;color:#dcece9}.action.cycle span{font-size:9px;color:var(--gold)}.action.emergency{width:100%;margin-top:8px;background:transparent;border-color:#78615e;color:#e4b09d}.detail-card{padding:13px 14px 16px;margin-top:17px;border:1px solid #2b4652;background:#102633}.detail-card>.control-label{margin-bottom:15px}.vessel-big{font-size:16px;margin:24px 0 10px;color:var(--teal);font-weight:700;letter-spacing:.6px}.vessel-big small{float:right;color:#8aa1ad;font-size:10px;margin-top:5px}.full{width:100%;margin-top:13px}.device-list{display:flex;flex-direction:column;gap:5px}.device-row{display:flex;justify-content:space-between;align-items:center;background:#142c39;border:1px solid #2c4855;padding:8px 10px}.device-row b{font-size:11px;display:block}.device-row small{font-size:9px;color:#7a94a1}.switch{width:37px;height:22px;background:#324856;border:1px solid #5e7782;border-radius:22px;padding:2px}.switch i{display:block;background:#b3bac1;width:16px;height:16px;border-radius:50%;transition:transform .2s}.switch.on{background:#1a6870;border-color:#66bab6}.switch.on i{transform:translateX(15px);background:#baf4df}.side-footer{border-top:1px solid var(--line);padding:15px 20px 13px;background:#091b26}.side-footer .tiny{display:flex;justify-content:space-between}.side-footer strong{font-size:12px;color:var(--teal)}input[type=range]{width:100%;accent-color:#75d8d1;margin:11px 0 3px}.speed-ticks{display:flex;justify-content:space-between;font-size:8px;color:#698694}.main-viewport{position:fixed;left:var(--sidebarWidth);top:var(--topHeight);bottom:var(--bottomHeight);right:0;overflow:hidden;background:linear-gradient(#7f9eaa 0%,#a8b7aa 43%,#42604e 75%,#293f3b)}#scene{height:100%;width:100%;display:block;cursor:grab}#scene:active{cursor:grabbing}.sky-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#061d2d5c 0%,transparent 28%,transparent 60%,#091c2980 100%)}.scene-head{position:absolute;top:27px;left:32px;pointer-events:none;text-shadow:0 2px 10px #07172280}.scene-head .eyebrow{color:#ceeee5}.scene-head h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(24px,2.7vw,40px);margin:4px 0 8px;letter-spacing:1.2px;color:#fff8e9}.sublead{font-size:9px;color:#e6f1e5;letter-spacing:1.3px;font-weight:700}.sublead i{display:inline-block;height:4px;width:4px;border-radius:50%;background:var(--gold);vertical-align:middle;margin:0 9px}.view-tools{position:absolute;right:22px;top:27px;display:flex;flex-direction:column;gap:7px}.view-btn{border:1px solid #cde2e173;color:#d7f4f0;background:#0d2c3ab8;padding:9px 11px;font-size:12px;display:flex;align-items:center;justify-content:flex-start;gap:9px;min-width:134px}.view-btn span{font-size:9px;letter-spacing:.9px;font-weight:800}.compass{position:absolute;right:37px;bottom:65px;display:grid;justify-items:center;gap:4px;color:white;font-size:10px;font-weight:700;opacity:.85}.needle{width:2px;height:33px;background:linear-gradient(#e9b77b 0 50%,#c3e9e7 50%);transform:rotate(12deg)}.scene-bottom{position:absolute;bottom:16px;left:20px;right:18px;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#cadedd;letter-spacing:.5px;text-shadow:0 1px 4px #04212a}.hint kbd{background:#153542b2;padding:4px 6px;border:1px solid #a6c6bb66;color:#eefcf6;font-family:inherit;font-size:8px}.render-stats{display:flex;gap:12px;white-space:nowrap}.bottom{position:fixed;bottom:0;left:0;right:0;height:var(--bottomHeight);background:#091b25;z-index:11;border-top:1px solid #375462}.bottom-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px 8px}.bottom-header strong{display:block;font-weight:600;font-size:12px;letter-spacing:1.1px;margin-top:5px}.slash{color:var(--gold)}.map-stats{display:flex;gap:19px;color:#8eabb6;font-size:9px;letter-spacing:.5px}.dot{height:7px;width:7px;display:inline-block;border-radius:50%;margin-right:6px}.dot.cyan{background:#55b7bf}.dot.gold{background:#dcb17b}.dot.gray{background:#5c7888}.route-map{height:67px;margin:0 24px;position:relative;cursor:crosshair;border-top:1px solid #243f4b;border-bottom:1px solid #243f4b}#routeSVG{width:100%;height:51px;overflow:visible}.route-scale{display:flex;justify-content:space-between;font-size:9px;position:absolute;bottom:0;left:0;right:0;color:#76909d}.bottom-events{height:34px;display:flex;align-items:center;gap:22px;padding:0 23px}.system-state{white-space:nowrap;display:flex;align-items:center;font-size:9px;letter-spacing:.9px;color:#90c9b1}.event-line{font-size:10px;color:#8ea5ae;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.clock{white-space:nowrap;font-size:10px;font-weight:800;color:#d6e5e4;letter-spacing:1.3px}.loading{position:absolute;inset:0;z-index:6;background:#0b1f2bed;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.loading.hidden{display:none}.loading-mark{border:1px solid #5b9ba0;width:63px;height:63px;display:grid;place-items:center;font-size:25px;color:var(--teal);letter-spacing:-3px}.loading h2{font:400 29px Georgia,serif;color:#f5e9d0;margin:20px 0 4px}.loading p{color:#96b9c1;font-size:12px}.loading-track{width:min(280px,60vw);height:2px;background:#344f60;margin:18px 0 20px;overflow:hidden}.loading-track span{height:100%;display:block;width:40%;background:#6ad7d0;animation:load 1.3s infinite}@keyframes load{0%{transform:translateX(-110%)}100%{transform:translateX(350%)}}.loading small{font-size:9px;color:#607d8b;letter-spacing:1.4px}.toast-container{position:fixed;z-index:40;right:23px;bottom:189px;display:flex;flex-direction:column;gap:8px}.toast{width:290px;background:#14323f;border-left:3px solid #6acfc6;border-top:1px solid #345362;border-right:1px solid #345362;border-bottom:1px solid #345362;padding:11px 13px;font-size:11px;box-shadow:0 13px 33px #0008}.toast.warning{border-left-color:#edb17b}.modal-bg{position:fixed;inset:0;background:#04131dd9;z-index:80;display:grid;place-items:center;padding:20px}.modal-bg.hidden{display:none}.modal{width:min(540px,100%);position:relative;background:#112b3a;border:1px solid #51767a;padding:31px 32px}.modal h2{font:400 31px Georgia,serif}.modal p{font-size:13px;line-height:1.65;color:#aac0c6}.modal-close{position:absolute;right:17px;top:12px;background:transparent;border:0;color:#cdebe5;font-size:27px}.help-rows{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:22px 0}.help-rows span{color:#7ea4af;font-size:12px}.help-rows b{font-size:12px;font-weight:500}.modal .footnote{font-size:10px;color:#75939f;border-top:1px solid #36515d;padding-top:14px}@media(max-width:1200px){.top-metrics{gap:10px}.top-metrics div:nth-child(2),.top-metrics div:nth-child(3){display:none}.live-indicator{display:none}.render-stats{display:none}}@media(max-width:850px){:root{--sidebarWidth:290px}.brand strong{font-size:12px}.brand small{display:none}.top-metrics{display:none}.topbar{padding:0 12px}.scene-head{top:18px;left:15px}.scene-head h1{font-size:24px}.view-tools{right:9px;top:15px}.view-btn{min-width:auto}.view-btn span{display:none}.hint{font-size:8px}.hint kbd:nth-of-type(n+3){display:none}.map-stats{display:none}}@media(max-width:600px){:root{--sidebarWidth:0px;--bottomHeight:138px}.sidebar{top:auto;bottom:var(--bottomHeight);height:205px;width:100%;border-top:1px solid #415861;z-index:6}.section-title,.nav-tabs,.side-footer{display:none}.side-scroll{overflow:auto}.panel{padding:10px 12px}.panel:not(.active){display:none}.control-head{margin:4px 0}.water-card,.detail-card,.control-label.space-above{display:none}.panel select{height:30px}.button-grid{grid-template-columns:repeat(4,1fr);gap:4px}.action{font-size:8px;min-height:34px;padding:6px 2px}.action.cycle,.action.emergency{display:none}.main-viewport{bottom:calc(var(--bottomHeight) + 205px)}.scene-head .sublead{display:none}.bottom-header{padding:7px 12px}.route-map{margin:0 12px;height:59px}.bottom-events{padding:0 12px;gap:6px}.system-state strong{display:none}.scene-bottom{display:none}.view-btn{padding:7px}.compass{display:none}}
