/* Original project / mine-first workspace. */
:root{--bg:#10191e;--panel:#17242b;--panel-2:#1c2e36;--ink:#e4eceb;--ink-dim:#a6b9bd;--ink-faint:#849da5;--accent:#a3cebc;--line:#31444b;--line-2:#52686d}
html,body{height:auto;overflow:auto}body{font-size:16px;background:#10191e}button,input,select{font-size:14px;min-height:32px}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #b6e4cd;outline-offset:2px}button:disabled{opacity:.42}#app{width:100%;height:auto;min-height:100dvh;display:block}#topbar{min-height:70px;padding:10px 24px;background:#111e25}#topbar .sys{font-size:20px}#topbar .sys small{font-size:12px;letter-spacing:.05em}#topbar .brand-mark{width:36px}#clock{font-size:22px}#clock .day,#clock .chip{font-size:12px}.demo-badge{font-size:12px}.demo-badge .tag{font-size:12px;color:#e4d0a4;border-color:#6f6148;background:#3a3428}#playbar{padding:10px 24px;gap:8px 16px;background:#142229}#playbar .ctrl{flex-wrap:wrap}#playbar .ctrl label,#playbar .ctrl input,#playbar .ctrl button,#playbar .ctrl select{font-size:14px;height:34px}.toolbar-label{font-size:14px}#overview{padding:18px 24px;gap:18px}#overview .eyebrow{font-size:12px}#overview h1{font-size:25px;letter-spacing:.06em}#overview p{font-size:14px}#hbCenter{flex:0 1 540px}#hbCenter .kpi{padding:0 22px}#hbCenter .kpi .v{font-size:27px}#hbCenter .kpi .k{font-size:14px}#hbCenter .kpi .d{display:none}#main{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:none;gap:16px;min-height:0;padding:0 24px 18px;align-items:stretch}#mapCard{min-height:720px;height:calc(100dvh - 275px);max-height:1050px;border-radius:7px;background:#142229;display:flex;flex-direction:column}#mapCard>.ph:first-child{padding:12px 18px;min-height:48px}#mapCard>.ph:first-child b{font-size:16px}#mapLayers,#splL,#splR{display:none!important}#mapCard>.ph .ref{font-size:12px}#btnChans{font-size:14px;height:32px}#mapUpd{font-size:12px!important}.scene-toolbar{padding:0 18px;min-height:63px;background:#1b2c33;justify-content:space-between;gap:12px;border-bottom-color:#3a4c52;z-index:6}.observation-modes{display:flex;align-self:stretch;gap:20px}.observation-modes button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:16px 0 13px;color:#92abb1;font-size:16px;font-weight:600}.observation-modes button span{font-size:12px;font-weight:400;margin-right:6px;opacity:.65}.observation-modes button.on{border:0;border-bottom:3px solid #b3d4bf;background:transparent;color:#d7eadb}.view-actions{display:flex;gap:10px;align-items:center}.view-actions button{font-size:14px;background:transparent;border-color:#3b555d;padding:5px 9px}.view-actions label{font-size:14px;display:flex;align-items:center;gap:5px;color:#acbfc4}.view-actions input{width:14px;min-height:14px;accent-color:#97cbb4}.observation-tools{min-height:54px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 18px;background:#172830;border-bottom:1px solid #2e424b}.observation-tools label{font-size:14px;color:#a9bdc2;white-space:nowrap}.observation-tools select,.observation-tools button{font-size:14px;background:#213740;border:1px solid #405861;border-radius:4px;padding:5px 9px;color:#d3e2e3}.cut-slider{display:flex;gap:12px;align-items:center;flex:1;min-width:200px;max-width:500px;margin-right:auto}.cut-slider input{min-width:80px;width:100%;accent-color:#a9cbb7;height:22px;min-height:22px}.cut-slider output{min-width:56px;font:14px var(--mono);color:#e0ece3}#sceneViewport{min-height:420px;flex:1;position:relative}#scene3d{background:#15232b}#scene3d canvas{position:absolute;inset:0;width:100%;height:100%;outline-offset:-3px}.scene-hud{left:22px;right:22px;top:18px;align-items:center;z-index:1}.scene-heading{font-size:14px;color:#b9c9cd;letter-spacing:.04em}#sceneLive{font-size:12px;color:#9db4bd}.scene-label{font-size:12px;padding:5px 9px;background:#17252bdd;border-color:#72908d55;color:#dfebdf}.scene-help{bottom:15px;color:#b5c4c3;font-size:12px;text-shadow:0 1px 3px #000}#sceneTooltip{font-size:14px;max-width:260px}#sectionLegend{position:absolute;bottom:47px;left:22px;display:flex;flex-wrap:wrap;gap:16px;pointer-events:none}#sectionLegend span{font-size:12px;display:flex;align-items:center;gap:6px;color:#c3d0cb;text-shadow:0 1px 4px #000}#sectionLegend i{width:16px;height:5px;border:1px solid #c8d2c355}#roamHud{position:absolute;top:57px;left:22px;display:flex;flex-direction:column;gap:3px;color:#9eb7be;font:12px var(--mono);pointer-events:none;text-shadow:0 1px 3px #000}#roamHud b{font-size:16px;color:#d9e5df;font-family:'Microsoft YaHei',sans-serif;font-weight:500;margin-bottom:5px}#walkPad{position:absolute;right:20px;bottom:40px;display:flex;align-items:center;flex-direction:column;gap:4px;z-index:5}#walkPad div{display:flex;gap:4px}#walkPad button{width:36px;height:36px;font-size:18px;background:#17272b99;border:1px solid #71898a77;border-radius:5px;touch-action:none;color:#d0e0d8}.spatial-legend{display:flex;align-items:center;gap:8px 20px;padding:10px 18px;background:#17272f;color:#a5b9be;font-size:12px;border-color:#34494f}.spatial-legend button{margin-left:auto;font-size:14px;padding:4px 10px;border:1px solid #527468;background:#27463d;color:#c2e0cc;border-radius:4px}#mapFoot{font-size:12px;padding:8px 18px;color:#839da4;border-color:#2e4149}#chartCol{display:flex;flex-direction:column;gap:14px;height:auto}#chartCol .panel{background:#17262e}#evidenceCard{max-height:none;flex:0 0 auto!important}#evidenceCard>.ph{padding:12px 14px;flex-wrap:wrap}#evidenceCard>.ph b{font-size:14px}#inspectDetails{font-size:12px}.evidence-content{padding:16px}.evidence-badge small{font-size:12px}.evidence-badge b{font-size:14px}.evidence-reading{font-size:14px;line-height:1.8}.evidence-reading b{font-size:15px}.threshold-head{font-size:12px}.insight-note,.quality-explanation{font-size:12px;line-height:1.85}.event-progress span{font-size:12px}#eventCard{flex:1;min-height:180px;max-height:460px}#eventCard>.body{overflow:auto}.ev-row .t .tt{font-size:14px}.ev-row .tm,.ev-row .badges{font-size:12px}.ev-row{grid-template-columns:50px 6px minmax(0,1fr)}#chartCol>.panel:last-child{min-height:170px}#analysisShelf{display:grid;grid-template-columns:minmax(300px,1fr) minmax(480px,1.4fr);gap:16px;padding:0 24px 20px;scroll-margin-top:15px}#diagnosticsColumn{display:grid;grid-template-columns:1fr 1fr;gap:16px}#diagnosticsColumn #sceneCard{grid-column:1/-1}#regionCard{height:auto;min-height:210px}#sceneDesc{font-size:14px!important}#sceneName{font-size:16px!important}#qualitySummary{font-size:12px}.mechanism-chip span{font-size:14px}.mechanism-chip b,.mechanism-chip small{font-size:12px}.mechanism-chip{padding:10px;grid-template-columns:28px 1fr}#mechanismChips{grid-template-columns:1fr}#analysisChart{height:520px}#chartTabs{display:flex;flex-wrap:wrap}#chartTabs button{font-size:14px;flex:1;min-width:62px}#chartPane{min-height:350px;flex:1}#healthbar{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);padding:14px 24px 20px;background:#132027;gap:20px}#healthbar .ref{font-size:12px}#hbVersions{font-size:12px}#edges .cap,#hbVersions .cap{font-size:12px}#edgeRows,.edge-row,.edge-row .en,.edge-row .note{font-size:12px}#wm{display:none}#mapCard:fullscreen{max-height:none;height:100vh;min-height:0;border-radius:0;width:100vw}#mapCard:fullscreen #sceneViewport{min-height:0}#mapCard:fullscreen #mapFoot{display:none}#mapCard[data-observation=roam] #modelAssetStatus{color:#a3bda9}#tblOver .ref{font-size:12px}.tbl{font-size:14px}.tblBar input,.tblBar select{font-size:14px}#overlay{z-index:100}#tblOver{z-index:100}#toasts{z-index:150}.toast{font-size:14px}
@media(min-width:1700px){#main{grid-template-columns:minmax(0,1fr) 340px}#mapCard{min-height:800px}.scene-toolbar{min-height:68px}}
@media(max-width:1150px){#main{grid-template-columns:minmax(0,1fr) 280px}#mapCard{min-height:730px;height:auto}.view-actions{gap:6px}.view-actions button{padding:4px 6px}.observation-modes{gap:16px}.scene-toolbar{gap:5px;padding:0 13px}.scene-toolbar .view-actions{padding-bottom:10px}.observation-tools{padding:9px 13px}.cut-slider{max-width:300px}.scene-toolbar{justify-content:flex-start}#analysisShelf{grid-template-columns:1fr}#analysisChart{height:530px}#clock .day{display:none}#topbar{gap:15px}#playbar .toolbar-label{display:none}#hbCenter{flex-basis:450px}#hbCenter .kpi{padding:0 14px}}
@media(max-width:850px){#main{grid-template-columns:1fr;padding:0 14px 14px}#chartCol{display:grid;grid-template-columns:1fr 1fr}#mapCard{height:740px;min-height:740px}#overview{padding:14px;flex-wrap:wrap;gap:12px}#overview .overview-heading{min-width:210px}#hbCenter{max-width:none;flex:1;min-width:300px}#topbar{padding:12px 14px}#topbar .sys small{display:none}.demo-badge{padding-left:10px}.demo-badge .dotp{display:none}#wsTxt{display:none}#playbar{padding:9px 14px;gap:9px}#playbar .sep{display:none}#analysisShelf{padding:0 14px 14px}#healthbar{padding:12px 14px;grid-template-columns:1fr}#sectionLegend{gap:10px}#clock{font-size:18px}.observation-modes{min-height:58px}.scene-toolbar .view-actions{padding-bottom:0}#diagnosticsColumn{grid-template-columns:1fr 1fr}}
@media(max-width:550px){#topbar .sys{font-size:16px;gap:5px}#topbar .brand-mark{width:28px}#clock{display:none}.demo-badge{margin-left:auto;border:0}.demo-badge .tag{font-size:12px;padding:4px 6px}#hbCenter{min-width:100%}#hbCenter .kpi:first-child{border-left:0}#hbCenter .kpi .v{font-size:24px}#hbCenter .kpi .k{font-size:12px}#chartCol{display:flex}#mapCard{min-height:800px;height:800px}#sceneViewport{min-height:340px}.scene-toolbar{padding:0 12px 9px}.view-actions{width:100%;justify-content:space-between}.cut-slider{max-width:none;width:100%;flex:none}#sectionTools{gap:7px}.observation-modes button{font-size:16px}#walkTools{gap:7px}#walkTools label{font-size:12px}#walkTools select{max-width:180px}#sceneLive{display:none}.scene-hud{left:13px;top:13px}#roamHud{left:13px}#sectionLegend{left:13px;bottom:70px;max-width:190px}.scene-help{font-size:12px;padding:0 2px;bottom:12px}#diagnosticsColumn{grid-template-columns:1fr}.spatial-legend{gap:8px;padding:10px 12px}.spatial-legend span{font-size:12px}#modelAssetStatus{display:none}#mapFoot{font-size:12px;padding:8px 12px}#playbar .ctrl:last-child{width:100%}#kfSelect{max-width:175px}#seekInput{width:85px}#btnChans{font-size:12px}#mapCard>.ph .right{gap:4px}#mapUpd{display:none}}
