
:root{color-scheme:dark;--bg:#0d1c1e;--panel:#102226;--panel2:#172b2c;--line:#284347;--soft:#869da0;--white:#e8e9df;--aqua:#7bc1c0;--gold:#d6b586;--danger:#dd9681}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--white);font-family:'DM Sans',system-ui,sans-serif;font-size:13px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}button{transition:background .18s,color .18s,border-color .18s}button:hover{color:#fff}h1,h2,p{margin-top:0}#app{display:flex;flex-direction:column;width:100%;height:100dvh;min-height:600px}.masthead{height:70px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 25px;background:#0b1b1c;border-bottom:1px solid #294046;z-index:10}.brand{display:flex;align-items:center;gap:16px}.brand-logo,.loader-logo{font-family:Georgia,serif;border:1.5px solid var(--gold);width:42px;height:42px;display:grid;place-items:center;color:var(--gold);font-size:18px;position:relative}.brand-logo span,.loader-logo span{font-size:7px;position:absolute;right:2px;bottom:1px}.brand-type{display:flex;flex-direction:column;gap:2px}.brand-type b{font-size:14px;letter-spacing:3px;font-family:'Space Grotesk',sans-serif}.brand-type small{font-size:9px;letter-spacing:2.3px;color:#a8b4b0}.mast-right{display:flex;align-items:center;gap:20px}.pill{border:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:9px 11px;white-space:nowrap}.pill.status{border:none;color:#a1d0c0}.status-dot,.tech-dot{display:inline-block;background:#a6c69f;width:7px;height:7px;border-radius:50%;margin-right:6px;box-shadow:0 0 12px #7cb69799}.clock{font-size:11px;letter-spacing:1px;color:#b9c4bc}.workspace{display:grid;grid-template-columns:288px minmax(400px,1fr) 315px;flex:1;min-height:0}.rail{min-height:0;display:flex;flex-direction:column}.left{background:#102225;border-right:1px solid #284044}.left-intro{padding:24px 23px 19px}.eyebrow,.overline,.section-kicker,.smallcaps{font-size:9px;letter-spacing:1.9px;font-weight:700;color:var(--gold)}.left h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-1px;font-size:38px;line-height:.97;font-weight:400;margin:15px 0}.left h1 em{color:var(--gold);font-style:italic}.left-intro p{color:#9baeb0;font-size:12px;line-height:1.65;max-width:240px;margin:15px 0 0}.tabbar{display:flex;padding:0 23px;border-bottom:1px solid var(--line);flex:none;gap:17px}.tabbar button{font-weight:700;font-size:10px;letter-spacing:1.4px;color:#859c9c;padding:13px 1px;border:0;border-bottom:2px solid transparent;background:transparent}.tabbar button.active{color:var(--gold);border-color:var(--gold)}.body-scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#476164 transparent}.panel{padding:22px 23px;flex:1}.section-kicker{display:flex;gap:8px;align-items:center;white-space:nowrap}.section-kicker span{color:#6e9195}.section-kicker.lighter{color:#bccdca}.muted{color:#93a8a7}.tiny{font-size:11px;line-height:1.5}.gate-list{display:flex;flex-direction:column;gap:5px;margin-top:14px}.gate-row{background:#12292b;border:1px solid transparent;color:#b1c6c3;display:grid;grid-template-columns:1fr auto;gap:6px;padding:11px 10px;text-align:left}.gate-row:hover{border-color:#536968;background:#193133}.gate-row.active{border-color:#9eb69f;background:#1c3535}.gate-label{font-size:11px;font-weight:700}.gate-flow{font-size:10px;color:#89b5b6;font-variant-numeric:tabular-nums}.gate-bar{grid-column:1/-1;background:#314447;height:2px;display:block}.gate-bar i{display:block;background:#9cb9a9;height:100%;transition:width .15s}.field-card{padding:15px 13px;border:1px solid #415c56;background:#193130;margin-top:17px}.field-top{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px}.field-top strong{color:var(--gold);font-size:11px;white-space:nowrap}.range-label{display:flex;justify-content:space-between;color:#8da8a4;font-size:9px;letter-spacing:1px}.field{margin-top:15px}.field label{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:#c9d1c9;font-size:11px}.field output{color:var(--gold);font-size:11px;white-space:nowrap}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:3px;border-radius:4px;background:#466061;margin:12px 0}input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;background:var(--gold);border:2px solid #183032;border-radius:50%;box-shadow:0 0 0 1px var(--gold);cursor:pointer}input[type=range]::-moz-range-thumb{width:10px;height:10px;border:2px solid #183032;border-radius:50%;background:var(--gold)}.sidebar-foot{flex:none;border-top:1px solid var(--line);padding:15px 23px 20px}.smallcaps{display:flex;justify-content:space-between;margin:9px 0;color:#7e9796;letter-spacing:1px}.smallcaps span{color:#ced3c8}.place-row{display:flex;gap:13px;align-items:center;width:100%;border:none;border-bottom:1px solid #274246;background:transparent;text-align:left;color:#d7e2d9;padding:13px 0;font-size:12px}.place-row:hover{color:var(--gold);background:#183032}.place-index{font-family:Georgia,serif;font-size:17px;color:var(--gold)}.place-arr{margin-left:auto;color:var(--aqua)}.notecard{margin-top:28px;padding:17px;border:1px solid var(--line);background:#182c2c}.notecard b{font-size:10px;letter-spacing:1.1px;color:var(--gold)}.notecard p{font-size:11px;color:#a6b3ae;line-height:1.6;margin:10px 0 0}.stage{position:relative;overflow:hidden;background:linear-gradient(#7c999b,#d9b98d 54%,#9b9879);min-width:0}.stage>canvas#viewport{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.stage>canvas#viewport:active{cursor:grabbing}.routes-layer{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;z-index:1}.routes-layer.hidden{display:none}.stage-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#101b1b55,transparent 24%,transparent 67%,#091b1d88);z-index:2}.stage-upper{z-index:3;position:absolute;top:20px;left:20px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.loc{display:flex;align-items:center;gap:12px;padding:12px;background:#0c2225bd;border:1px solid #809b953c;backdrop-filter:blur(8px)}.loc-cross{font-size:22px;color:var(--gold)}.overline{color:#a9c5ba;font-size:9px}.loc strong{font-family:Georgia,serif;font-size:19px;font-weight:400}.mode-info{background:#10252cba;color:#bddbd7;padding:10px;font-size:9px;letter-spacing:1px;white-space:nowrap}.stage-actions{position:absolute;z-index:4;top:104px;right:18px;display:flex;flex-direction:column;gap:7px;align-items:stretch}.stage-actions button{background:#132a2ddd;border:1px solid #d9ded847;color:#e2e7df;padding:10px 13px;text-align:left;letter-spacing:1px;font-size:10px;backdrop-filter:blur(9px)}.stage-actions button:hover,.stage-actions button.selected{background:#37605e;color:#fff}.map-corner{position:absolute;bottom:65px;left:18px;z-index:4;border:1px solid #9bb5ab6e;background:#0e2227df;padding:8px;width:258px;box-shadow:0 20px 50px #10191d55}.map-corner canvas{width:240px;height:162px;display:block;border:1px solid #536d6d}.map-top,.mini-bottom{display:flex;justify-content:space-between;color:#d4dfd6;letter-spacing:1.4px;font-weight:700;font-size:9px;padding:5px 1px 8px}.mini-bottom{padding:8px 1px 2px;color:#9baca5}.map-top .green{color:#a5d6be}.stage-legend{position:absolute;right:17px;bottom:72px;z-index:4;display:flex;flex-direction:column;gap:10px;font-size:9px;letter-spacing:1px;color:#e2e9e3;text-shadow:0 1px 5px #122;align-items:flex-end}.legend-circle{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.blue{background:#72bfc9}.golden{background:#d2b57f}.light{background:#eee9d2}.stage-foot{position:absolute;z-index:3;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:15px;padding:17px 20px;background:linear-gradient(transparent,#0c2021aa);color:#dce9e0;font-size:9px;letter-spacing:1.1px}.stage-foot b{color:var(--gold)}.toast{position:absolute;top:46%;left:50%;transform:translate(-50%,14px);opacity:0;transition:.22s;pointer-events:none;z-index:8;background:#112b2fe6;border:1px solid var(--gold);padding:14px 22px;color:#f1e5ca;max-width:320px;text-align:center;line-height:1.5}.toast.visible{opacity:1;transform:translate(-50%,0)}.right{background:#11272a;border-left:1px solid #365053}.right-pad{padding:24px 21px 8px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.right-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.right-title h2{font-size:19px;letter-spacing:.5px;font-family:'Space Grotesk',sans-serif;font-weight:600;margin:6px 0 0}.help{border:1px solid #61807e;width:28px;height:28px;background:transparent;color:#cbd5c8;font-weight:700}.metric{background:#193337;border:1px solid #28464a;padding:14px 13px}.metric.large{margin-top:14px;padding:18px}.metric-kicker{font-size:9px;letter-spacing:1.25px;color:#9eb7b6;font-weight:700}.metric-kicker span{float:right}.metric strong{display:block;color:#f1e6d0;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:25px;letter-spacing:-1px;line-height:1.4}.metric.large strong{font-size:38px;margin:5px 0 10px}.meter{height:5px;background:#30464a;overflow:hidden}.meter div{height:100%;width:0;background:linear-gradient(90deg,#589799,#d2ba90);transition:width .3s}.metric-bottom{display:flex;justify-content:space-between;margin-top:10px;font-size:9px;letter-spacing:1px;color:#9eb6b0}.metrics-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.metric-unit{font-size:10px;letter-spacing:.7px;color:#9cb1ae}.right-divider{border-top:1px solid #355055;margin:24px 0 20px}.chart-title{display:flex;align-items:center;justify-content:space-between;color:#d4e1d9;font-size:10px;letter-spacing:1px;font-weight:700}.chart-title small{color:#789a9c;font-size:8px;display:block;margin-top:5px}.chart-key{display:flex;gap:3px}.chart-key i{height:8px;width:8px;background:#d7b585}.chart-key i:nth-child(2){background:#7dbcb9}.chart-key i:nth-child(3){background:#9ec9a4}#history-canvas{display:block;width:100%;height:110px;margin-top:15px}.legend-chart{display:flex;justify-content:space-between;font-size:9px;color:#b6c5bd;letter-spacing:.9px}.legend-chart b{display:inline-block;width:8px;height:8px;margin-right:5px}.legend-chart .la{background:#d7b585}.legend-chart .lb{background:#7dbcb9}.legend-chart .lc{background:#9ec9a4}.right-field{margin-top:18px}.play-controls{display:flex;align-items:center;gap:6px;margin:18px 0}.play-controls button,.play-controls select{height:36px;border:1px solid #4e6e6e;background:#1a3537;color:#e2e7d9;padding:0 10px;font-size:10px}.play-controls button:first-child{background:#c4aa7d;color:#102427;border-color:#c4aa7d;font-weight:700}.system-health{border:1px solid #3c6060;background:#1a3639;display:flex;gap:10px;align-items:center;padding:12px}.system-health .health-icon{font-size:18px;color:#8fbc9f}.system-health>div{flex:1;min-width:0}.system-health b{font-size:9px;letter-spacing:.7px;color:#a9c4bc}.system-health p{margin:5px 0 0;color:#d5e2d4;font-size:10px;line-height:1.5}.system-health>strong{font-size:19px;color:#d4c39c}.right-foot{border-top:1px solid var(--line);padding:17px 20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#a4b8b4}.right-foot b{color:#e9dcc4}.loader{position:absolute;z-index:50;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#254447 0,#0b1c1e 65%);transition:opacity .5s;gap:20px}.loader-logo{width:80px;height:80px;font-size:35px}.loader-text{font-family:'Space Grotesk',sans-serif;letter-spacing:3px;color:var(--gold);font-size:13px}.loader-track{width:220px;height:2px;background:#345459;overflow:hidden}.loader-track i{display:block;width:38%;height:100%;background:var(--gold);animation:loading 1.1s infinite alternate}@keyframes loading{to{transform:translateX(160px)}}#loader-status{color:#93aeae;font-size:11px;letter-spacing:1px}.loader.done{opacity:0;pointer-events:none}.alert{color:var(--danger)!important}dialog{position:fixed;margin:auto;max-width:560px;width:calc(100% - 32px);padding:0;border:1px solid var(--gold);background:#102529;color:#e3e5d6;box-shadow:0 25px 70px #000a}dialog::backdrop{background:#071516dd}.modal-inner{padding:35px;position:relative}.modal-inner h2{font-family:Georgia,serif;color:var(--gold);font-size:27px;font-weight:400;line-height:1.2;margin:14px 0}.modal-inner p,.modal-inner li{line-height:1.75;font-size:13px;color:#c8d6cd}.modal-inner ul{padding-left:20px}.modal-inner li{margin-bottom:7px}.modal-note{border-left:2px solid var(--gold);padding-left:15px;color:#a9c3c2!important}.close{position:absolute;top:20px;right:20px;border:1px solid #536e6a;color:#eee;background:transparent;padding:8px 10px}
[hidden]{display:none!important}
@media(max-width:1270px){.workspace{grid-template-columns:245px minmax(320px,1fr) 282px}.left-intro,.panel{padding-left:17px;padding-right:17px}.left h1{font-size:33px}.right-pad{padding-left:14px;padding-right:14px}.mast-right .outlined{display:none}.stage-legend{display:none}}
@media(max-width:1000px){.workspace{grid-template-columns:230px minmax(340px,1fr)}.right{display:none}.stage-actions button span{display:none}.stage-actions{top:110px}.masthead{height:58px}.stage-foot span:last-child{display:none}}
@media(max-width:650px){html,body{overflow:auto}#app{min-height:690px}.workspace{grid-template-columns:1fr;grid-template-rows:58vh auto}.stage{grid-row:1;min-height:360px}.left{grid-row:2;max-height:360px}.left-intro,.sidebar-foot{display:none}.map-corner{bottom:49px;transform:scale(.68);transform-origin:bottom left}.stage-actions{top:82px;right:8px}.stage-actions button{padding:8px}.stage-upper{left:8px;top:8px}.mode-info{display:none}.stage-foot{padding:10px}.brand-type small{display:none}.mast-right .status{display:none}.panel{padding:10px 20px}.right{display:none}}
