:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#e8edeb;background:#0c171a;font-synthesis:none;--panel:#122025;--panel2:#18272c;--line:#2a3a3e;--muted:#8ca1a3;--amber:#edbc6d;--cyan:#79ced0}*{box-sizing:border-box}body{margin:0;min-width:340px}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:74px;flex:0 0 74px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;background:#111c20;border-bottom:1px solid var(--line);gap:15px;z-index:2}.brand{display:flex;align-items:center;gap:13px;min-width:251px}.brandmark{font-family:Georgia,serif;font-size:38px;letter-spacing:-7px;color:var(--amber);line-height:1}.brand-slash{font-size:25px;color:#eff2dc;margin-left:5px}.brandcopy{display:flex;flex-direction:column;gap:4px}.brandcopy strong{font-size:17px;letter-spacing:3px;font-weight:760}.brandcopy small{font-size:8px;letter-spacing:1.6px;color:#83989c}.top-context{font-size:10px;letter-spacing:2.1px;color:#c0cbc9;font-weight:700;white-space:nowrap}.top-dot{display:inline-block;width:6px;height:6px;background:#dfb370;border-radius:50%;margin-right:11px}.context-separator{color:#557076;margin:0 13px}.top-button{background:none;border:1px solid #3c5052;color:#d9e7df;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:1.4px;padding:11px 16px}.top-button:hover,.view-controls button:hover,.right-footer button:hover{border-color:var(--amber);color:var(--amber)}.workspace{display:grid;grid-template-columns:294px minmax(450px,1fr) 325px;flex:1;min-height:650px}.sidebar{background:var(--panel);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#445b5c transparent}.leftbar{padding:29px 24px 18px;border-right:1px solid var(--line)}.rightbar{padding:28px 21px 20px;border-left:1px solid var(--line)}.eyebrow{font-size:9px;font-weight:800;letter-spacing:2px;color:var(--amber);line-height:1.7}h1{font-family:Georgia,"Times New Roman",serif;font-size:37px;line-height:1.13;letter-spacing:-1.3px;margin:15px 0 12px;font-weight:500;color:#f4f1e9}h1 em{font-style:italic;font-weight:400;color:var(--amber)}.muted{color:var(--muted)}.intro{font-size:12px;line-height:1.7;margin-bottom:30px}.section-title{font-size:10px;letter-spacing:1.35px;font-weight:800;display:flex;align-items:center;gap:12px;color:#e0e8e2;border-bottom:1px solid var(--line);padding-bottom:12px;margin:27px 0 18px}.section-title span{font-size:10px;color:var(--amber)}.section-title.compact{padding:0;margin:0;border:0;gap:8px;font-size:9px;white-space:nowrap}.control{margin-bottom:19px}.control-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;gap:8px}.control-heading label{font-size:12px;font-weight:650;color:#d6e0df}.control-heading output{font-size:11px;font-weight:800;color:var(--amber);white-space:nowrap}input[type=range]{display:block;width:100%;height:4px;appearance:none;background:#38494d;border-radius:3px;cursor:pointer;accent-color:var(--amber)}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:var(--amber);border:2px solid #152126;border-radius:50%;box-shadow:0 0 0 2px var(--amber)}input[type=range]::-moz-range-thumb{width:11px;height:11px;background:var(--amber);border:2px solid #152126;border-radius:50%}.range-end{display:flex;justify-content:space-between;margin-top:10px;color:#72898c;font-size:10px}.switchline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:19px 0}.switchline strong{display:block;color:#dce5e1;font-size:12px;font-weight:650}.switchline small{display:block;font-size:10px;color:#82969a;margin-top:4px}.switch{display:inline-flex;position:relative;width:38px;height:22px;flex:0 0 38px}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}.switch span{width:100%;background:#35484b;border:1px solid #5a7070;border-radius:13px;transition:.2s}.switch span:before{content:"";position:absolute;top:4px;left:4px;width:14px;height:14px;border-radius:50%;background:#a4b4b0;transition:.2s}.switch input:checked+span{background:#8b6a36;border-color:var(--amber)}.switch input:checked+span:before{transform:translateX(16px);background:#ffe4aa}.switch input:focus-visible+span{outline:2px solid var(--amber)}.gate-control{margin-bottom:7px}.gate-note{font-size:10px;line-height:1.5;color:#c0a17a;margin:14px 0 0}.gate-note span{font-size:13px;margin-right:4px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.scenario{font-size:8px;letter-spacing:.6px;font-weight:850;padding:12px 2px;border:1px solid #405258;border-radius:2px;color:#a7b7b7;background:#1b2b30}.scenario.active{background:#3e3525;border-color:var(--amber);color:var(--amber)}.scenario:hover{color:#f2d7a4}.simulation-actions{display:flex;gap:8px;margin-top:22px}.primary-action,.outline-action{border-radius:3px;padding:13px 10px;font-size:10px;letter-spacing:1.3px;font-weight:850}.primary-action{background:var(--amber);color:#172328;border:1px solid var(--amber);flex:1}.primary-action:hover{background:#f3d296}.outline-action{background:transparent;color:#e4e9e1;border:1px solid #4b5a5b;flex:1}.outline-action:hover{border-color:#a7c2bf}.sidebar-footer{font-size:10px;line-height:1.6;color:#768d8f;border-top:1px solid var(--line);margin-top:24px;padding-top:15px}.viewport{background:radial-gradient(ellipse at 45% 37%,#1e3437 0%,#12252b 65%,#0f1b20 100%);position:relative;min-width:0;min-height:580px;overflow:hidden}#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.view-top{position:absolute;pointer-events:none;left:25px;top:24px;right:25px;display:flex;justify-content:space-between;gap:15px}.view-index,.mode-status{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#e3ebdf}.mode-status{color:#adcebb}.mode-status .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7fd2a6;margin-right:8px;box-shadow:0 0 12px #7bd7ac}.anchor{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:auto;color:#f1f4ec;background:#1a2c31eb;border:1px solid #8babad99;border-radius:2px;box-shadow:0 4px 20px #0007;padding:8px 10px;font-size:9px;letter-spacing:1px;font-weight:850;white-space:nowrap;opacity:1;transition:background .2s,border-color .2s}.anchor span{color:var(--amber);padding-left:9px}.anchor:hover,.anchor.selected{background:#55432b;border-color:var(--amber)}.anchor.hidden{opacity:0;pointer-events:none}.view-bottom{position:absolute;left:22px;right:22px;bottom:19px;display:flex;flex-direction:column;gap:11px;pointer-events:none}.view-controls{display:flex;gap:6px;pointer-events:auto}.view-controls button{background:#17272de8;border:1px solid #65777980;color:#e3e7df;border-radius:3px;padding:10px 12px;font-size:9px;font-weight:850;letter-spacing:1px}.view-bottom p{margin:0;font-size:9px;color:#b0c3c2;font-weight:750;letter-spacing:1.25px;text-shadow:0 2px 5px #0a1015}.mouseicon{font-size:15px;color:var(--amber)}.water-legend{position:absolute;top:66px;right:20px;display:flex;flex-direction:column;align-items:flex-end;gap:9px;font-size:9px;font-weight:750;letter-spacing:.75px;color:#d3e4e2;pointer-events:none}.water-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px}.legend-cyan{background:#4a9fb0}.legend-blue{background:#87c5c4}.instrument-header{display:flex;align-items:center;justify-content:space-between;gap:7px}.instrument-header .eyebrow{font-size:8px;color:#a5bdb9}.risk{font-size:9px;letter-spacing:.8px;color:#8ad7b7;font-weight:850;background:#244338;padding:7px 9px;border-radius:2px;white-space:nowrap}.risk.watch{color:#ffc77f;background:#4d3b25}.risk.danger{color:#ff9e93;background:#4d2929}.rightbar h2{font-family:Georgia,serif;font-size:26px;font-weight:450;margin:10px 0 22px;letter-spacing:-.5px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stat{background:#1a292e;border:1px solid #304044;border-radius:3px;min-width:0;min-height:110px;padding:14px 12px}.stat>span{color:#a4b9b6;font-weight:850;letter-spacing:.9px;font-size:9px}.stat-value{font-variant-numeric:tabular-nums;font-size:26px;letter-spacing:-.5px;color:#f4f0e5;margin:12px 0 7px;font-weight:680;white-space:nowrap}.stat-value small{font-size:11px;color:var(--amber);font-weight:750}.stat>small{font-size:9px;color:#80959a}.chart-heading{display:flex;justify-content:space-between;align-items:center;margin:27px 0 10px}.chart-heading>span:last-child{font-size:10px;color:var(--amber)}.chart-wrap{height:146px;border:1px solid #2f4548;border-radius:3px;background:#112226;padding:5px}#chart{width:100%;height:100%;display:block}.readout{border-top:1px solid #304448;border-bottom:1px solid #304448;margin:21px 0 21px;padding:14px 0;display:flex;flex-direction:column;gap:12px}.readout>div{display:flex;align-items:center;justify-content:space-between;font-size:11px}.readout span{color:#92a8a9}.readout strong{color:#e0e9e3;font-weight:750;font-variant-numeric:tabular-nums}.assessment{padding-bottom:14px;border-bottom:1px solid #304448}.assessment p{font-size:11px;color:#c8d8d4;line-height:1.55;margin:11px 0 0}.feature-info{padding:21px 0 15px;min-height:146px}.feature-info .eyebrow{color:var(--cyan);font-size:8px}.feature-info h3{font-family:Georgia,serif;font-size:19px;font-weight:500;line-height:1.25;margin:7px 0}.feature-info p{color:#92abad;font-size:11px;line-height:1.6;margin:0}.right-footer{border-top:1px solid var(--line);padding-top:15px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.right-footer label{grid-column:1/-1;font-size:9px;color:#91a9a8;font-weight:800;letter-spacing:1px}.right-footer select{width:100%;background:#1b2d31;color:#e7eee8;border:1px solid #40595b;border-radius:3px;padding:11px;font-size:10px}.right-footer button{background:#182a2f;color:#dbebe6;border:1px solid #40595b;padding:11px 10px;border-radius:3px;font-size:9px;font-weight:800;white-space:nowrap}.scene-error{position:absolute;inset:18% 8% auto;background:#482729;color:#fff5ef;border:1px solid #da7774;padding:23px;line-height:1.6}dialog{background:#16262b;color:#eaf0eb;border:1px solid #526a67;border-radius:6px;width:min(520px,calc(100% - 30px));box-shadow:0 30px 100px #000a}dialog::backdrop{background:#02080bd0}.dialog-inner{padding:14px 18px}.dialog-inner h2{font-family:Georgia,serif;font-weight:450;font-size:30px}.dialog-inner p{font-size:13px;line-height:1.75;color:#b7cbc7}.dialog-inner b{color:#e9c58e}.dialog-inner .primary-action{margin-top:8px}.close{float:right;background:none;border:0;color:#dfe6e4;font-size:18px;padding:4px}@media(max-width:1320px){.workspace{grid-template-columns:260px minmax(360px,1fr) 285px}.leftbar{padding:26px 18px}.rightbar{padding:25px 15px}.stat{padding:12px 8px}.stat-value{font-size:23px}.top-context{font-size:9px;letter-spacing:1px}}@media(max-width:1030px){.workspace{grid-template-columns:270px minmax(0,1fr)}.rightbar{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:0 25px;border-left:0;border-top:1px solid var(--line)}.rightbar>h2{grid-column:1/-1}.instrument-header{grid-column:1/-1}.stat-grid{grid-row:3/6}.chart-heading,.chart-wrap,.readout{grid-column:2/3}.assessment,.feature-info,.right-footer{grid-column:3/4}.chart-heading{margin:0 0 10px}.readout{margin:12px 0}.feature-info{padding-top:10px}.right-footer{align-self:end}}@media(max-width:710px){.topbar{height:62px;flex-basis:62px;padding:0 15px}.brand{min-width:0}.brandcopy strong{font-size:14px}.brandcopy small{font-size:7px;letter-spacing:.6px}.top-context{display:none}.workspace{display:flex;flex-direction:column}.viewport{height:510px;min-height:510px;order:1}.leftbar{order:2;border-right:0;border-top:1px solid var(--line);overflow:visible;padding:25px 22px}.rightbar{order:3;display:block;overflow:visible;padding:25px 22px}.rightbar h2{margin-top:7px}.chart-heading{margin-top:25px}.chart-wrap{height:155px}.stat{min-height:100px}.stat-value{font-size:28px}.readout{margin-top:18px}.feature-info{min-height:0}.view-top{top:14px;left:14px;right:14px}.view-index,.mode-status{font-size:8px;letter-spacing:1px}.view-bottom{left:12px;right:10px;bottom:12px}.view-controls button{font-size:8px;padding:10px 9px}.view-bottom p{font-size:7px;letter-spacing:.7px}.water-legend{top:52px;right:10px;font-size:7px}.anchor{font-size:7px;padding:6px}.intro{max-width:460px}}@media(prefers-reduced-motion:reduce){.anchor,.switch span,.switch span:before{transition:none}}
/* Desktop fills the screen; mobile becomes a natural scrolling document. */
@media (min-width:711px){.app{height:100vh;min-height:650px}.workspace{min-height:0}.viewport{min-height:0}.sidebar{min-height:0}}
@media (max-width:710px){.app{height:auto;min-height:100vh}}
@media (min-width:711px){.simulation-actions{position:sticky;bottom:-18px;z-index:3;background:var(--panel);padding:11px 0 15px;margin-top:12px;box-shadow:0 -12px 18px var(--panel)}}
