:root{font-family:DM Sans,system-ui,sans-serif;color:#d9e2ee;background:#0a101b;font-synthesis:none;font-size:12px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #2a374b;background:#172235;color:#bfccdf;padding:7px 10px;border-radius:5px;cursor:pointer;white-space:nowrap}button:hover{background:#24344b;color:#fff}button.active,.segmented .active{background:#28483f;color:#9de7ca;border-color:#467363}button.primary{background:#8ad8b7;color:#10291e;border:0;font-weight:700}input,select,textarea{background:#101b2c;color:#cfdaea;border:1px solid #29364b;border-radius:4px;padding:6px;min-width:0;outline:none}input:focus,select:focus{border-color:#82c9b1}input[type=checkbox]{accent-color:#8cd7ba}input[type=number]{width:73px}select{max-width:100%}a{color:inherit;text-decoration:none}small{color:#7c8da5;font-size:10px}header{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 27px;border-bottom:1px solid #233044;background:#0f1725;gap:20px}.brand{display:flex;align-items:center;gap:11px}.brand strong{font-family:Space Grotesk,sans-serif;font-size:25px;letter-spacing:-1px}.brand strong span{color:#8cd7ba;font-weight:400}.brand-mark{display:grid;place-items:center;background:#19362f;color:#a8e5c8;width:34px;height:36px;border:1px solid #35574b;border-radius:8px}.brand-divider{height:20px;width:1px;background:#2e3c50;margin:0 7px}.brand small{font-size:9px;letter-spacing:1.5px;font-weight:600}.project-title{color:#8d9ab0;font-size:11px}.project-title span{padding:0 10px;color:#44556e}.header-actions{display:flex;gap:12px;align-items:center}.local-badge{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1px;color:#8bb9aa}.local-badge i,.live-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#85dbb2;box-shadow:0 0 8px #5bb89144}.icon{border:0;background:none}.project-bar{padding:27px 28px 25px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#111b2b,#0a111e)}.eyebrow{font-size:9px;letter-spacing:2px;color:#8dd3b7}h1{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:25px;letter-spacing:-.7px;margin:8px 0}p{line-height:1.6}.project-bar p{color:#8291a8;font-size:11px;margin:0}.preset-control{display:flex;flex-direction:column;gap:8px;width:270px}.preset-control>span{font-size:8px;letter-spacing:1.5px;color:#788aa4}.preset-control select{padding:10px;background:#151f30}main{display:grid;grid-template-columns:auto minmax(400px,1fr) 250px;margin:0 16px;border:1px solid #263247;border-radius:8px;overflow:hidden;align-items:stretch}.left-sidebar{width:270px;background:#111b2a;border-right:1px solid #263247;display:flex;flex-direction:column;max-height:1150px;resize:horizontal;overflow:auto;min-width:240px;max-width:420px}.sidebar-heading{height:49px;padding:0 16px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #263247;font-size:12px}.sidebar-heading>svg{color:#8e9eb5}.sidebar-heading>span:last-child{margin-left:auto;font-size:7px;letter-spacing:1px;color:#7c8da5}.search{margin:13px 14px;display:flex;align-items:center;gap:7px;background:#0c1523;border:1px solid #263347;border-radius:5px;padding-left:8px;color:#667c98}.search input{border:0;background:none;min-width:0;width:100%;font-size:10px}.sidebar-scroll{overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#324259 transparent}.control-panel{border-top:1px solid #263247}.control-panel summary{display:flex;justify-content:space-between;align-items:center;font-weight:600;padding:14px 16px;cursor:pointer;font-size:11px;list-style:none}.control-panel summary svg{color:#7c8ca2}.panel-content{padding:0 16px 16px}.field-caption{color:#93a2b9;font-size:10px;margin:10px 0 7px;display:flex;justify-content:space-between}.vector-input{display:flex;gap:5px}.vector-input label{display:flex;align-items:center;gap:3px;border:1px solid #2a364a;background:#0e1828;border-radius:4px;padding-left:6px;font-size:9px;color:#8298b4;min-width:0}.vector-input input{border:0;width:100%;padding:6px 3px;background:none;font-size:10px;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.number-row{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:9px 0;color:#9dacc1;font-size:10px}.number-wrap{display:flex;align-items:center;background:#0e1828;border:1px solid #29364b;border-radius:4px;min-width:85px;justify-content:flex-end}.number-wrap input{background:none;border:0;width:64px;font-size:10px}.number-wrap small{padding-right:6px;white-space:nowrap;font-size:9px}.two-inputs{display:flex;gap:6px}.two-inputs>*{width:50%;font-size:10px}.select-row{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:10px 0;font-size:10px;color:#9dacc1}.select-row select{max-width:145px;font-size:10px}.check-row{display:flex;justify-content:space-between;font-size:10px;color:#94a6bf;margin:10px 0}.check-row label{display:flex;align-items:center;gap:4px}.hint{font-size:10px;line-height:1.65;color:#7e90a9}.face-slider{margin:11px 0}.face-slider>div{display:flex;justify-content:space-between;align-items:center;font-size:10px}.face-slider span{display:flex;align-items:center;gap:7px}.face-slider i,.force-row span i{display:inline-block;width:6px;height:6px;border-radius:2px}.face-slider b{font-weight:500;color:#bac7da}.face-slider input{width:100%;height:3px;margin-top:12px;padding:0;cursor:pointer}.face-slider small{font-size:9px}.text-button{border:0;padding:6px 0;color:#8f9fb6;background:none;font-size:10px}.sidebar-footer{border-top:1px solid #29364a;padding:12px;display:flex;gap:6px}.workspace{min-width:0;background:#0c1524}.scene-header{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;gap:10px;border-bottom:1px solid #263247;font-size:11px}.scene-header .live-dot{margin-right:7px}.scene-header strong{font-weight:500}.subtle{color:#6e829f;font-size:10px}.scene-tools{display:flex;gap:4px}.scene-tools button,.scene-tools select{padding:5px 6px;background:#141f30;font-size:10px}.scene{height:425px;position:relative;min-height:260px;resize:vertical;overflow:hidden}.scene-top{position:absolute;top:17px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none;color:#6d809c;font-size:9px}.mode-chip{background:#132438dd;border:1px solid #2b3c53;color:#8caac5;padding:5px 7px;border-radius:4px;font-size:8px;letter-spacing:1px}.scene-bottom{position:absolute;bottom:14px;left:18px;right:16px;display:flex;align-items:center;justify-content:space-between;color:#617592;font-size:9px;pointer-events:none}.scene-bottom button{pointer-events:auto;padding:5px;background:#17263b88}.scene-bottom b{padding:0 7px;color:#405672}.view-legend{position:absolute;right:18px;top:52px;display:flex;align-items:center;gap:5px;color:#8d9fba;font-size:9px}.view-legend i{width:5px;height:5px;border-radius:2px;margin-left:10px}.visual-toolbar{height:43px;border-top:1px solid #253248;border-bottom:1px solid #253248;display:flex;align-items:center;padding:0 16px;gap:20px;background:#111c2c}.visual-toolbar details{position:relative}.visual-toolbar summary{display:flex;align-items:center;gap:5px;font-size:10px;cursor:pointer;color:#9aacc6}.layer-menu{position:absolute;z-index:20;bottom:30px;left:0;background:#142238;padding:13px;box-shadow:0 10px 35px #0009;border:1px solid #334864;border-radius:5px;display:grid;gap:8px}.layer-menu label{display:flex;align-items:center;gap:6px}.playback{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:10px;color:#96a8c0}.playback button{padding:4px}.playback select{font-size:9px;padding:3px}.record-dot{height:5px;width:5px;border-radius:50%;background:#d58672;margin-left:8px}.tabs{display:flex;overflow-x:auto;scrollbar-width:thin;gap:4px;padding:0 13px;border-bottom:1px solid #263247;background:#101a29}.tabs button{border:0;border-radius:0;background:none;font-size:10px;padding:14px 9px;color:#788ba7}.tabs button.selected{color:#a0e1c5;border-bottom:2px solid #8ed4b5}.analysis-content{padding:20px 21px;min-height:400px}.analysis-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.analysis-heading h2{font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:500;margin:0 0 6px}.analysis-heading p{font-size:10px;color:#7a8ca7;margin:0}.analysis-actions{display:flex;gap:5px}.analysis-actions button{font-size:9px;padding:5px 8px}.analysis-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:17px 0 8px;font-size:10px}.analysis-controls .number-row{margin:0}.analysis-controls button,.analysis-controls select{font-size:10px}.analysis-controls .number-wrap{min-width:60px}.analysis-controls .number-wrap input{width:45px}.segmented{display:flex;gap:0}.segmented button{font-size:10px;border-radius:0;padding:5px 11px}.explanation{font-size:11px;color:#9aacc3}.notice{padding:12px;background:#192b32;border:1px solid #2c484a;border-radius:5px;color:#a7ccbf;font-size:11px}.metric-strip{display:flex;justify-content:space-around;margin:20px 0;padding:17px 0;border:1px solid #28374e;border-radius:6px}.metric-strip>div{display:flex;flex-direction:column;gap:8px}.metric-strip small{letter-spacing:1px;font-size:8px}.metric-strip b{font-family:Space Grotesk,system-ui,sans-serif;font-size:23px;font-weight:500;color:#c7e1d6}.metric-strip b span{font-size:13px;color:#7388a4}.right-sidebar{border-left:1px solid #263247;background:#111b2a}.readout-meta{display:flex;justify-content:space-between;margin:20px 17px 6px;font-size:8px;color:#7d90aa;letter-spacing:1px}.simulated{color:#85b5a8;background:#1b332e;padding:3px 5px;border-radius:3px;font-size:7px}.readout{padding:17px 18px;border-bottom:1px solid #223146}.readout>div{display:flex;align-items:center;gap:7px;font-size:10px}.readout i{width:6px;height:6px;border-radius:2px}.readout>div span{margin-left:auto;color:#6e849e;font-size:7px;letter-spacing:.6px}.readout>b{display:block;font-family:Space Grotesk,monospace;font-size:28px;font-weight:400;margin:8px 0 5px;letter-spacing:-.6px}.readout>b small{font:10px DM Sans;margin-left:8px}.readout-delta{font-size:9px;color:#71859e}.magnitude{display:flex;justify-content:space-between;padding:18px;font-size:10px;color:#94a6c0}.magnitude b{color:#d7e4f3;font-weight:500}.sensor-status{margin:0 17px 20px;border:1px solid #2c4c43;background:#142c28;color:#8fc3ac;display:flex;gap:8px;align-items:center;padding:9px;border-radius:4px;font-size:9px}.sensor-status i{width:5px;height:5px;background:#8bd8ae;border-radius:50%}.sensor-status.warning{color:#e4ad83;border-color:#765239}.right-section{border-top:1px solid #263247;padding:18px}.right-section h3{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:500;margin:0 0 17px}.right-section h3 small{font-size:7px;letter-spacing:.7px}.force-row{display:flex;align-items:center;gap:12px;margin:13px 0;font-size:10px}.force-row>span{display:flex;align-items:center;gap:6px;width:24px}.force-row b{font-weight:500;width:45px;text-align:right}.force-track{height:3px;background:#29354b;flex:1}.force-track i{height:3px;display:block}.rank{display:flex;align-items:center;gap:17px}.rank>b{font-size:30px;font-family:Space Grotesk,system-ui,sans-serif;font-weight:400;color:#e6bb82}.rank>b span{font-size:19px;color:#536985}.rank>span{font-size:9px;color:#8196b0;line-height:1.6}.rank-blocks{display:flex;gap:4px;margin:13px 0}.rank-blocks i{flex:1;height:4px;background:#28384e}.rank-blocks .filled{background:#c8a873}.warning-note{font-size:9px;color:#bfa481;line-height:1.65}table{border-collapse:collapse;width:100%;font-size:10px;margin:20px 0}th,td{text-align:left;border-bottom:1px solid #28364b;padding:8px 6px}th{font-weight:500;color:#7f93ae}td input{width:65px!important}td button{font-size:9px;padding:4px 6px}textarea{width:100%;min-height:100px;font:11px monospace}pre{max-height:260px;overflow:auto;color:#99b7cb;font-size:10px;white-space:pre-wrap;background:#0a1422;padding:12px}.status-line{color:#b9cfbc;font-size:10px;padding:10px 0}.job-progress{display:flex;gap:10px;align-items:center;font-size:10px}.job-progress progress{accent-color:#88d5b7;flex:1}.empty-state{padding:40px;display:flex;align-items:center;flex-direction:column;color:#6e88a6;text-align:center}.empty-state svg{color:#78baaa}footer{display:flex;justify-content:space-between;font-size:8px;padding:14px 21px;color:#60768f}footer b{padding:0 9px;color:#40536c}footer .live-dot{width:4px;height:4px;margin-right:5px}.error-banner{position:fixed;bottom:20px;left:280px;right:260px;background:#502b2b;border:1px solid #98615a;border-radius:6px;padding:14px;z-index:40}.loading,.fatal{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#a3d8c3}.light{filter:invert(.89) hue-rotate(180deg)}.light canvas,.light .js-plotly-plot{filter:invert(1) hue-rotate(180deg)}details>summary{cursor:pointer}.pending{height:6px;width:6px;background:#d9b77f;border-radius:50%}@media(min-width:1600px){main{grid-template-columns:auto minmax(400px,1fr) 270px}.scene{height:500px}.project-bar{padding:32px}}@media(max-width:1180px){main{grid-template-columns:240px minmax(350px,1fr)}.right-sidebar,.project-title{display:none}.scene-tools button{padding:4px}.error-banner{right:20px}}@media(max-width:760px){header{padding:0 15px}.brand small,.brand-divider,.local-badge{display:none}.project-bar{padding:20px;display:block}.preset-control{margin-top:16px;width:100%}.project-bar h1{font-size:22px}main{display:flex;flex-direction:column;margin:0 8px}.left-sidebar{width:100%;max-width:none;max-height:340px;resize:none}.sidebar-scroll{display:grid;grid-template-columns:1fr 1fr}.workspace{width:100%}.scene-header{padding:0 9px}.scene-tools{gap:2px}.scene{height:350px}.analysis-content{padding:16px}.scene-top>span:last-child{display:none}footer>span:last-child{display:none}.error-banner{left:15px}.header-actions>button:last-child{font-size:10px}.analysis-heading{flex-wrap:wrap}}.workbench{margin-top:22px;border-top:1px solid #293950;padding-top:14px}.workbench>summary{font-size:11px;color:#a9c8bc}.workbench>summary span{font-size:9px;color:#70859f;margin-left:12px}.workbench textarea{height:170px;font-size:11px;line-height:1.5}.workbench details{margin:14px 0}button:disabled{opacity:.4;cursor:not-allowed}.analysis-picker{display:none}@media(max-width:1150px){.analysis-picker{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 16px;border-bottom:1px solid #324259}.analysis-picker label{font-weight:600}.analysis-picker select{max-width:65%}.analysis-picker+.tabs{display:none}}@media(max-width:700px){.sidebar-scroll{display:block}}:where(button,input,select,summary,a):focus-visible{outline:2px solid #50c9ff;outline-offset:2px}
