:root{--bg:#091421;--panel:#101e2c;--line:#223247;--sub:#70839d;--text:#e9f1f7;--cyan:#4bbfff;--orange:#ffad66;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:#09111c;color:var(--text)}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:71px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #25354b;background:#101c2c;flex-shrink:0}.brand{display:flex;align-items:center;gap:13px;letter-spacing:.12em}.brand-symbol{display:grid;place-items:center;font-size:27px;font-weight:800;width:40px;height:40px;color:#0f2334;background:var(--cyan);border-radius:4px}.brand strong{font-size:17px;font-weight:900}.brand small{display:block;font-size:9px;margin-top:5px;color:#8ca2ba;letter-spacing:.19em}.top-meta{display:flex;align-items:center;gap:23px;font:10px ui-monospace,monospace;color:#8796aa;letter-spacing:.12em}.top-meta .tag{padding:8px 10px;border:1px solid #354a5f;color:#c7d8eb}.top-meta .divider{height:20px;border-left:1px solid #2a3d53}.pulse,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#56dfb2;box-shadow:0 0 11px #46e6a7;margin-right:8px}.version{color:#6f879f}.workspace{display:grid;grid-template-columns:290px minmax(420px,1fr) 298px;min-height:calc(100vh - 99px);flex:1}.sidebar,.data-panel{background:#101c2a}.sidebar{border-right:1px solid #27364a;padding:24px 20px;display:flex;flex-direction:column}.data-panel{border-left:1px solid #27364a;padding:24px 18px 18px;display:flex;flex-direction:column;gap:18px}.section-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;font:700 10px ui-monospace,monospace;letter-spacing:.1em;color:#afc2d3;border-bottom:1px solid #2d3b4d}.section-heading span{font-size:9px;font-weight:500;color:#617b94}.intro{padding-top:27px}.intro h1{font-size:26px;line-height:1.19;margin:0;font-weight:720;letter-spacing:-.055em}.intro em{font-style:normal;color:#58c3fc}.intro p{font-size:12px;line-height:1.8;color:#8ca1b4;margin:17px 0 28px}.controls{display:flex;flex-direction:column;gap:20px}.field-label{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:#d4e0ee}.field-label output{font:700 12px ui-monospace,monospace;color:#60c7ff}.slider-field input{width:100%;appearance:none;height:4px;background:#30445a;border-radius:10px;margin:14px 0 10px;accent-color:#5bc8ff;cursor:pointer}.slider-field input::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border:3px solid #d3f4ff;border-radius:50%;background:#4bbfff;box-shadow:0 0 10px #38b6ef66}.slider-field input::-moz-range-thumb{width:10px;height:10px;border:3px solid #d3f4ff;border-radius:50%;background:#4bbfff}.minmax{display:flex;justify-content:space-between;color:#667e94;font:10px ui-monospace,monospace}.toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:15px 0 0;border-top:1px solid #233348;position:relative}.toggle-label strong{display:block;font-size:12px}.toggle-label small{display:block;color:#7187a0;font-size:10px;margin-top:6px}.toggle-label input{position:absolute;opacity:0;right:0}.toggle-track{width:39px;height:22px;border-radius:20px;background:#36465a;position:relative;transition:.2s}.toggle-track:before{content:"";position:absolute;top:4px;left:4px;width:14px;height:14px;border-radius:50%;background:#b8c8d9;transition:.2s}.toggle-label input:checked+.toggle-track{background:#0874a6}.toggle-label input:checked+.toggle-track:before{left:21px;background:#99e9ff}.toggle-label input:focus-visible+.toggle-track{outline:2px solid #78d3ff}.presets-heading{margin-top:33px}.presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.presets button{border:1px solid #30465c;padding:12px 5px;background:#182a3b;color:#bdcede;font:700 10px ui-monospace,monospace;letter-spacing:.02em}.presets button:hover{background:#2a4257}.presets button:last-child{grid-column:span 2}.sidebar-bottom{margin-top:auto;padding-top:25px;color:#8196a9;font:9px/1.8 ui-monospace,monospace;letter-spacing:.04em}.sidebar-bottom span{color:#d5ad7b}.visual-area{min-width:0;display:flex;flex-direction:column;background:#0b1724;padding:20px 24px 18px;gap:15px}.visual-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.eyebrow{color:#72a4cb;font:10px ui-monospace,monospace;letter-spacing:.1em}.visual-top h2{font-size:19px;letter-spacing:-.035em;margin:8px 0 1px}.assembly-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.assembly-badges span{border:1px solid #2b3d51;padding:8px;color:#7e92a8;font:9px ui-monospace,monospace}.canvas-wrap{position:relative;background:radial-gradient(ellipse at 60% 44%,#152c40,#091523 78%);border:1px solid #293c50;flex:1;min-height:365px;overflow:hidden}.canvas-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#082b360d,transparent 20%,transparent 76%,#07152255)}#scene{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.canvas-topline,.canvas-bottomline{position:absolute;left:22px;right:22px;z-index:1;display:flex;justify-content:space-between;align-items:center;color:#a4b7c5;letter-spacing:.09em;font:9px ui-monospace,monospace;pointer-events:none}.canvas-topline{top:20px}.canvas-topline>span:nth-child(2){color:#66bce8}.canvas-bottomline{bottom:20px}.canvas-bottomline button{pointer-events:auto;border:1px solid #3d5669;background:#0a1829aa;color:#a5d9f4;padding:9px;font:10px ui-monospace,monospace}.canvas-bottomline i{font-style:normal;padding:0 9px;color:#405e79}.annotation{position:absolute;z-index:1;pointer-events:none;font:9px ui-monospace,monospace;letter-spacing:.07em;color:#819db3}.annotation b{color:#53c8ff;margin-right:8px}.annotation-one{top:31%;left:9%}.annotation-two{top:61%;right:8%}.metric-strip{border:1px solid #293b4f;background:#101f2d;display:grid;grid-template-columns:repeat(4,1fr);min-height:97px}.metric{padding:18px 13px;border-right:1px solid #2b3b50}.metric:last-child{border-right:none}.metric>span{display:block;color:#8298ae;font:10px ui-monospace,monospace;letter-spacing:.06em}.metric>div{display:flex;align-items:baseline;gap:8px;margin-top:10px}.metric strong{font-size:27px;line-height:1;font-weight:650;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.metric small{font-size:10px;color:#678ba8}.metric:first-child strong{color:#57c7fe}.metric:nth-child(2) strong{color:#ffbd81}.control-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-controls{display:flex;gap:7px;flex-wrap:wrap}.sim-controls button{border:1px solid #37546c;background:#192c40;color:#e1edf7;padding:11px 13px;font:700 10px ui-monospace,monospace}.sim-controls .primary{background:#2b88bb;border-color:#43abdc;color:white}.sim-controls .critical{color:#ffac9d;border-color:#66464c}.speed-choice{display:flex;align-items:center;gap:8px;font:10px ui-monospace,monospace;color:#8da1b4}.speed-choice select{background:#192c40;color:white;border:1px solid #30465b;padding:9px}.timer{font:12px ui-monospace,monospace;color:#a6c5d9}.sensor-panel,.trends{border:1px solid #2c3b4f;background:#142335;padding:14px}.sensor-heading{display:flex;justify-content:space-between;align-items:center;color:#b0c7db;font:700 10px ui-monospace,monospace;letter-spacing:.04em}.sensor-heading>span{color:#65dbb8;font-size:9px}.sensor-heading small{display:block;font-weight:400;color:#66849b;font-size:9px;margin-top:5px}.sensor-pair{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;gap:12px}.sensor-pair small{display:block;color:#788fa6;font:9px ui-monospace,monospace}.sensor-pair strong{display:block;margin-top:7px;font-size:18px;font-weight:600}.sensor-pair em{font-style:normal;font-size:10px;color:#7d9ab0}.field-bar,.heat-scale{background:#294056;height:6px;margin-top:17px;border-radius:6px;overflow:hidden}.field-bar>div{width:0;background:linear-gradient(90deg,#287aab,#59c5fb);height:100%;transition:width .1s}.sensor-panel p{margin:12px 0 0;color:#637e95;font-size:10px}.thermal .sensor-heading span{color:#6fe0bb}.temp-label{display:flex;align-items:center;justify-content:space-between;margin-top:19px}.temp-label span{font:9px ui-monospace,monospace;color:#89a1b5}.temp-label strong{color:#fbb87d;font:600 23px ui-monospace,monospace}.heat-scale{height:8px;background:linear-gradient(90deg,#286baa,#e8b25b,#cc4f39);position:relative;overflow:visible}.heat-scale>div{height:14px;width:3px;background:white;box-shadow:0 0 6px white;position:absolute;top:-3px;left:0}.heat-labels{display:flex;justify-content:space-between;margin-top:8px;color:#678098;font:9px ui-monospace,monospace}.sensor-details{display:flex;flex-direction:column;gap:13px;margin-top:21px;padding-top:15px;border-top:1px solid #304358}.sensor-details>div{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:11px}.sensor-details span{color:#8ba1b4}.sensor-details b{font:600 11px ui-monospace,monospace}.trends{padding:14px 11px}.trends .sensor-heading{padding:0 4px}.trends canvas{display:block;width:100%;height:164px;margin-top:17px}.trend-legend{display:flex;gap:17px;justify-content:center;font:9px ui-monospace,monospace;color:#8499ad;padding-top:6px}.trend-legend i{display:inline-block;width:12px;height:3px;vertical-align:middle;margin-right:5px}.legend-speed{background:#43baff}.legend-temp{background:#ffb067}.data-export{display:flex;flex-direction:column;gap:8px}.data-export button{background:#172d41;border:1px solid #35506a;padding:11px 13px;text-align:left;color:#bed7e7;font:10px ui-monospace,monospace}.data-export button:hover{border-color:#51c4f8}.side-foot{font:9px ui-monospace,monospace;color:#688197;margin-top:auto}.side-foot strong{color:#abc9e3;font-weight:500}.side-foot span{margin:0 7px}.footer{min-height:28px;background:#0a1421;border-top:1px solid #24364a;padding:8px 25px;display:flex;justify-content:space-between;gap:12px;color:#5e7387;font:9px ui-monospace,monospace;letter-spacing:.06em}.error-message{position:absolute;inset:12%;display:grid;place-items:center;text-align:center;color:#ffd4ba;font:15px/1.7 ui-monospace,monospace;background:#081827dd;padding:20px;z-index:10}.error-message[hidden]{display:none}
@media(max-width:1290px){.workspace{grid-template-columns:265px minmax(380px,1fr) 260px}.sidebar{padding:20px 14px}.data-panel{padding:20px 12px;gap:12px}.visual-area{padding:18px 15px}.metric strong{font-size:24px}.assembly-badges span:first-child{display:none}.annotation{display:none}}
@media(max-width:1100px){.workspace{grid-template-columns:260px minmax(380px,1fr)}.data-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.data-panel>.section-heading{grid-column:1/-1}.data-panel .data-export{align-self:start}.side-foot{grid-column:1/-1}.visual-area{min-height:750px}}
@media(max-width:740px){.topbar{height:65px;padding:0 14px}.top-meta .tag,.top-meta .divider,.top-meta .version{display:none}.workspace{display:flex;flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.intro h1{font-size:23px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:18px}.toggle-label{grid-column:1/-1}.visual-area{min-height:690px;padding:14px 12px}.canvas-wrap{min-height:320px}.data-panel{display:flex;flex-direction:column}.assembly-badges{display:none}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric{border-bottom:1px solid #26384c}.metric:nth-child(2){border-right:0}.metric:nth-child(n+3){border-bottom:0}.control-bar{flex-wrap:wrap}.footer span:nth-child(2){display:none}}
