/* Business workspace theme, analysis views, and Three.js inspection surfaces. */
:root{--ink:#1c304a;--muted:#8290a2;--paper:#f3f6fa;--line:#e3e9f0;--green:#087f86;--lime:#bfe8e7;--blue:#536fe6;--rail:212px}
body{font-family:"Segoe UI","Microsoft YaHei",sans-serif;background:var(--paper);color:var(--ink)}
.rail{background:#122338;padding:30px 16px 20px;color:#b3c3d8}
.brand{font-size:24px;margin:0 12px 46px;letter-spacing:.04em;color:#f2f6fb}.brand-mark{background:#b3e4e2;color:#184c55;border-radius:11px}.brand-sub{color:#7396a9;font-size:8px;letter-spacing:.21em}
.nav-label{color:#55738f;font-size:10px}.nav-item{font-size:12px;gap:12px;padding:14px 13px;margin-bottom:5px;border-radius:7px;white-space:nowrap}.nav-item.active{background:#214257;color:#a2e5df;box-shadow:inset 2px 0 #58c8bf}.nav-item:hover{background:#ffffff09}.nav-dot{background:#5dccbe}.nav-badge{font:7px var(--mono);color:#7898af;border:1px solid #385168;padding:1px 3px;border-radius:3px;margin-left:auto}.local-label{color:#7e9db2}.local-label>span:last-child{color:#506d83}.rail-version{color:#46647f;border-color:#243b50}
main{padding:0 30px 26px}.topbar{height:62px}.breadcrumb strong{color:#53667f}.connection{background:#edf4f3;border:1px solid #e0ebe8;border-radius:20px;padding:5px 10px;color:#68867e;font-size:10px}
.page-heading{margin:29px 0 25px}.page-heading h1{font-weight:650;font-size:30px;letter-spacing:-.04em}.page-heading p{font-size:12px;color:#8692a5;margin-top:10px}.eyebrow{color:#8094ab;letter-spacing:.18em;font-size:9px}
.button{border-radius:6px;padding:10px 15px;font-size:12px}.button.primary{background:#087f86;box-shadow:0 3px 6px #087f8619}.button.primary:hover{background:#066c73}.button.secondary{border-color:#dde5ee;color:#53657c}.button.secondary:hover{background:#f4f7fb}.button.compact{font-size:11px;border-color:#dce4ed}
.project-strip{border-radius:9px;padding:14px 18px;margin-bottom:18px;box-shadow:0 2px 4px #172c4803}.file-symbol{background:#edf6f7;color:#218d99}.file-info strong{color:#48617b;font-size:12px}.file-info>span{color:#8d9bae}.project-details strong{color:#53647b}.project-details{color:#a0adbe}.icon-button{color:#7d8fa6}.icon-button:hover{background:#edf2f7}
.reference-panel{border:1px solid var(--line);border-radius:9px;padding:19px 20px 22px}.section-line h2{font-size:13px;color:#30425a}.section-line h2>span{color:#a4b2c4;font-size:8px;margin-left:9px}.section-line p{font-size:11px;color:#97a3b2;line-height:1.6}
.reference-fields label{font-size:11px;color:#7e8da1}.reference-fields label>span{color:#b0bdce}.unit-field{border-color:#e0e7f0}.unit-field input{color:#354d69;font-size:16px}.unit-field>span{color:#a7b4c4}.grid-offset{border-color:var(--line)}.grid-offset>span{color:#95a6b8}.grid-offset strong{color:#23838c}.text-button{font-size:11px;color:#3e8793}
.metric-strip{padding:23px 0;gap:28px}.metric{border-color:#dde5ef}.metric-caption{font-size:11px;color:#8b9aad}.metric-caption small{color:#a8b5c4}.metric strong{color:#344c69}.metric>span:last-child{color:#95a4b7;font-size:10px}.metric .state-text{color:#23838c}
.table-panel{border-color:var(--line);border-radius:9px;box-shadow:0 2px 5px #122c4803}.table-toolbar{min-height:58px}.tabs{gap:23px}.tabs button{font-size:12px;color:#8a9aaf}.tabs button[aria-selected=true]{color:#207f89}.tabs button span{color:#b1bdcd}
.table-subbar{background:#fafbfd;border-color:#edf0f6;color:#94a3b7}.editable-dot{background:#71b6ba}.filter select{color:#7d8ea4}.table-scroll{scrollbar-color:#ccd7e5 #f6f8fb;max-height:400px}
th{background:#f5f8fc;color:#778aa4;border-color:#e6ecf4;height:47px}th small{color:#a7b5c8;font-size:8px}td{color:#596e87;border-color:#edf1f7;height:38px}td.depth{background:#fafbfd;color:#38526f;border-color:#e5ebf4}td.row-id{background:#fafbfd;color:#a4b2c5;border-color:#e8edf5}tr.selected td{background:#eef7f8}tr:hover td{background:#f5f9fc}tr.selected td.row-id{border-left-color:#36979a;color:#288a95}td.axis input{font-size:12px;color:#4b627f;padding:10px 13px}td.axis input:focus{background:#e9f4f7;outline-color:#5aa5b1}.magnetic{border-left-color:#e0e8f3!important}th.magnetic{color:#779aa8}td.comment input{color:#94a3b7}.icon-text{color:#8093aa}.table-footer{color:#9aa9ba}.check-badge{background:#e7f5f0;color:#528c7a}.check-badge.fail{background:#fdf1e3;color:#c38d57}
th.group-head{background:#edf2f8;color:#7f91a8;font-size:10px}th.group-ssc{background:#e9f5f2;color:#56958b}th.group-msa{background:#edf0fd;color:#7f8dbe}td.result-ssc{background:#f7fbfa;color:#207f79}td.result-msa{background:#f8f9fe;color:#627aca}
.analysis-grid{margin-top:20px;grid-template-columns:minmax(0,1fr) 246px}.chart-panel,.station-panel{border-color:var(--line);border-radius:9px}.station-panel{background:#f0f5f9}.station-depth{color:#465f7d}.station-panel h2{color:#738aa3}.station-number,.station-note{color:#9cabbd}.station-values>span{color:#91a2b5}.station-values b{color:#57788f}.compass svg{stroke:#cddbe7}.compass .needle{fill:#7095b0}.compass circle:last-child{stroke:#688da6;fill:#f0f5f9}
.trend-tools{display:flex;align-items:flex-end;gap:13px;flex-direction:column}.legend,.analysis-legend{color:#8b9db4;font:10px "Segoe UI","Microsoft YaHei",sans-serif;display:flex;gap:18px}.legend span:before,.analysis-legend span:before{content:"";display:inline-block;width:14px;height:3px;margin-right:6px;vertical-align:middle;border-radius:2px;background:#8093ad}.legend .legend-raw:before,.analysis-legend .legend-raw:before{background:#8093ad}.legend .legend-ssc:before,.analysis-legend .legend-ssc:before{background:#009c8c}.legend .legend-msa:before,.analysis-legend .legend-msa:before{background:#4e70ea}.analysis-legend .legend-theory:before{background:#c09251;height:2px}.analysis-legend .band-legend:before{height:10px;background:#d9f0e8}.analysis-legend .band-legend{margin-left:auto;color:#9aaaae;font-size:10px}.chart-stage{height:228px}.chart-stage>svg,.insight-chart>svg{width:100%;height:100%;stroke:none;font:9px var(--mono);overflow:visible}.chart-grid{stroke:#e9eff6;stroke-width:1}.chart-axis{fill:#97a8bd;font-size:9px}.plot-unit{fill:#a0aec2;font:9px var(--mono)}.plot-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2800;animation:plot-enter 1.15s ease-out}.plot-line.raw{stroke-dasharray:4 3;stroke-width:1.5;animation:none}.chart-dot{stroke:#697ee0;fill:#fff;stroke-width:1.5;transition:r .15s}.plot-point .chart-dot{opacity:.6}.plot-point.is-selected .chart-dot,.plot-point:hover .chart-dot,.plot-point:focus-visible .chart-dot{opacity:1;r:4.5;fill:#5c77e1;stroke:#fff;stroke-width:2}.plot-cursor{stroke:#9eb4cb;stroke-dasharray:3 4;stroke-width:1;opacity:0}.plot-point.is-selected .plot-cursor,.plot-point:hover .plot-cursor,.plot-point:focus-visible .plot-cursor{opacity:.55}.plot-point{cursor:pointer;outline:none}.reference-line{stroke:#c4985e;stroke-dasharray:5 4;stroke-width:1.1}.reference-label{fill:#b59875;font-size:8px}.tolerance-band{fill:#deefe7;opacity:.36}
.segmented{display:inline-flex;align-items:center;padding:3px;border-radius:7px;background:#eaf0f6;border:1px solid #e3eaf2;gap:2px}.segmented button{padding:7px 15px;font-size:12px;color:#8c9bb0;border-radius:5px;white-space:nowrap}.segmented button[aria-selected=true],.segmented button[aria-pressed=true]{background:#fff;color:#36677e;box-shadow:0 1px 4px #2138500b}.segmented.small button{font-size:10px;padding:3px 9px}.segmented.small{padding:2px;border-radius:5px}
.workspace-page{animation:studio-enter .32s both}.page-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 22px}.page-context>div:first-child{display:flex;flex-direction:column;gap:7px}.page-context strong{font-size:17px;font-weight:550;letter-spacing:-.02em}.context-actions{display:flex;align-items:center;gap:15px}.context-actions>label,.trajectory-toolbar label{display:flex;align-items:center;gap:8px;font-size:10px;color:#8a9bb1}
.context-actions select,.insight-card select,.trajectory-toolbar select,.playback-bar select{border:1px solid #dfe7f0;background:white;border-radius:6px;padding:7px 10px;color:#5d718b;font-size:11px}
.soft-pill{font-size:10px;padding:5px 9px;border-radius:20px;background:#e7eff8;color:#7c92ac}
.analysis-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.kpi-card{position:relative;overflow:hidden;background:white;border:1px solid var(--line);border-radius:10px;padding:20px 21px;min-height:137px}.kpi-card>span{display:block;font-size:11px;color:#8d9bb0;position:relative;z-index:1}.kpi-card>strong{display:block;font:29px var(--mono);letter-spacing:-.055em;margin:12px 0 9px;color:#344e6d;position:relative;z-index:1}.kpi-card strong small{font:11px var(--mono);margin-left:7px;letter-spacing:0;color:#a1adc0}.kpi-card>small{font-size:9px;color:#a4b1c4;position:relative;z-index:1}.kpi-decoration{position:absolute;right:-31px;bottom:-38px;width:108px;height:108px;border:14px solid #edf7f5;border-radius:50%}.kpi-decoration:after{content:"";position:absolute;inset:13px;border:1px solid #dceeea;border-radius:50%}.kpi-decoration.blue{border-color:#eef1fc}.kpi-decoration.cyan{border-color:#eef7fa}.kpi-decoration.amber{border-color:#fbf6ec}
.analysis-legend{padding:22px 4px 18px}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.insight-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px 22px 16px;min-width:0;box-shadow:0 3px 12px #102e4b02}.insight-card .section-line{align-items:flex-start}.insight-chart{height:232px;margin-top:20px}.chart-unit-pill{font:9px var(--mono);background:#f1f5fa;border:1px solid #e9eef6;border-radius:4px;padding:4px 7px;color:#9aabc0;white-space:nowrap}
.heatmap{margin-top:20px;max-height:257px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d9e2ed transparent}.heat-head,.heat-row{display:grid;grid-template-columns:.6fr repeat(3,1fr);gap:7px;align-items:center;width:100%;font:10px var(--mono)}.heat-head{font:9px "Segoe UI",sans-serif;color:#a2afc1;margin-bottom:9px;padding:0 2px;position:sticky;top:0;background:white;z-index:2}.heat-head>span{text-align:center}.heat-row{padding:0;margin:0 0 5px;gap:7px}.heat-row b{font-size:10px;font-weight:400;color:#93a3b9}.heat-row>span{padding:7px 0;border-radius:4px;background:#f0f6f5;color:#75a69b;transition:transform .2s}.heat-row small{opacity:.5;margin-left:3px;font-size:8px}.heat-row .near{background:#edf2fa;color:#8aa0bb}.heat-row .over{background:#fceee0;color:#be8654}.heat-row:hover>span,.heat-row.is-selected>span{box-shadow:inset 0 0 0 1px #76aaaf;transform:translateY(-1px)}.analysis-footnote{margin-top:20px;display:flex;align-items:flex-start;gap:8px;font-size:10px;color:#9baabd;line-height:1.8}.analysis-footnote svg{width:14px;height:14px;margin-top:2px}.scatter-boundary{fill:#e9f5f1;stroke:#a4c9bd;stroke-dasharray:4 3}.scatter-dot{fill:#77a9b0;stroke:#fff;stroke-width:1.5;cursor:pointer}.scatter-dot.over{fill:#ce9b6a}.scatter-point.is-selected .scatter-dot,.scatter-point:hover .scatter-dot{stroke:#254e73;stroke-width:2.5;r:6}
.preview-state-banner{border:1px solid #dfe8f0;border-radius:6px;padding:10px 13px;color:#7f91a7;background:#edf3f8;font-size:11px;margin-bottom:17px}.preview-state-banner.stale{background:#fcf6ec;border-color:#eee1ca;color:#ad8a5b}
.preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:19px}.scene-card{background:#0b1729;border:1px solid #192c43;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 8px 22px #1224380c}.scene-topline{height:59px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:relative;z-index:2;border-bottom:1px solid #1a2b40;background:#0e1c2e}.scene-topline>div:first-child{display:flex;gap:9px;align-items:center;min-width:0}.scene-topline strong{font-size:12px;color:#cad9e8;font-weight:500}.scene-topline>div:first-child>span:last-child{font:8px var(--mono);color:#425f7c;margin-left:6px;letter-spacing:.07em}.scene-live-dot{width:5px;height:5px;background:#3bb4ae;border-radius:50%}.scene-controls{display:flex;align-items:center;gap:12px}.scene-controls label{font-size:9px;color:#57758f;display:flex;gap:8px;align-items:center}.scene-controls select{color:#aec6dc;background:#13263c;border:1px solid #2a4058;border-radius:5px;padding:5px 8px;font-size:10px}.scene-controls button{width:25px;height:25px;border:1px solid #2a4058;color:#7f9ab3;border-radius:5px;font-size:17px}
.scene-viewport{position:relative;height:475px;min-height:300px;overflow:hidden;touch-action:none}.scene-viewport canvas{display:block;width:100%;height:100%;cursor:grab;outline-offset:-4px}.scene-viewport canvas:active{cursor:grabbing}.scene-viewport[data-message]:not([data-message=""]):after{content:attr(data-message);position:absolute;bottom:22px;left:20px;right:20px;text-align:center;font-size:12px;color:#afc2d6;background:#172d44de;border:1px solid #304a64;padding:13px;border-radius:6px}.scene-loading{position:absolute;inset:0;display:grid;place-items:center;color:#67849e;font-size:12px}.scene-viewport[data-scene-ready=true]>.scene-loading{display:none}
.scene-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.scene-label{position:absolute;top:0;left:0;white-space:nowrap;border:1px solid #38516b45;background:#0c1a2bad;padding:3px 6px;border-radius:4px;font:9px "Segoe UI","Microsoft YaHei",sans-serif;color:#8aa6c1}.scene-label.teal{color:#65d6c8;border-color:#42baac30}.scene-label.amber{color:#dfb388;border-color:#b8854435}.scene-label.cyan{color:#7acddb;border-color:#56b2c330}
.scene-bottomline{display:flex;justify-content:space-between;gap:10px;padding:10px 17px;color:#526e8b;font-size:9px;border-top:1px solid #15273e}.scene-bottomline i{margin:0 8px;color:#3e526c;font-style:normal}.field-switches{display:flex;gap:21px;align-items:center;flex-wrap:wrap;padding:13px 17px;background:#0f2035;border-top:1px solid #1b3049;color:#7793ad;font-size:10px}.field-switches label,.trajectory-legend label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}.field-switches input,.trajectory-legend input{accent-color:#259c9f;margin:0;width:11px;height:11px}.swatch{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8093ad}.swatch.gravity{background:#f8c27b}.swatch.magnetic{background:#5cdae7}.swatch.ssc{background:#16b8a7}.swatch.msa{background:#7d91f0}.swatch.raw{background:#8194ad}
.pose-inspector,.trajectory-inspector{background:white;border:1px solid var(--line);border-radius:11px;padding:23px 20px;min-width:0}.inspector-heading{display:flex;flex-direction:column;gap:7px}.inspector-heading>strong{font:22px var(--mono);letter-spacing:-.04em;color:#3d5673}.inspector-heading>span:last-child{font-size:11px;color:#9aabbe}.pose-angles{display:grid;grid-template-columns:1fr 1fr;gap:17px 10px;margin-top:25px;padding-bottom:23px;border-bottom:1px solid var(--line)}.pose-angles>div:first-child{grid-column:1/-1}.pose-angles>div>span{font-size:9px;color:#9aabc0;display:block;margin-bottom:7px}.pose-angles strong{font:22px var(--mono);color:#3f5c7c;letter-spacing:-.035em}.pose-angles>div:first-child strong{font-size:36px;color:#248a92}.pose-angles small{font-size:12px;font-weight:400;margin-left:4px;color:#a4b5c8}.pose-inspector h3,.trajectory-inspector h3{font-size:11px;font-weight:500;color:#899cb3;margin:21px 0 12px}
.projection-readings>div{display:grid;grid-template-columns:.85fr 1fr 1fr;align-items:center;gap:5px;font:10px var(--mono);padding:8px 0;border-bottom:1px solid #eef2f7;text-align:right;color:#728ba6}.projection-readings>div:first-child{font:9px "Segoe UI",sans-serif;color:#9eacbf;border:0;padding-top:0}.projection-readings b{font-weight:500;text-align:left;color:#76a9ad}.projection-readings small{font:9px "Segoe UI","Microsoft YaHei",sans-serif;margin-left:3px;color:#a8b6c7}.vector-angle{display:flex;justify-content:space-between;font-size:10px;color:#8e9fb4;margin-top:16px}.vector-angle strong{font:12px var(--mono);color:#60889c}.inspector-note{font-size:10px;line-height:1.9;color:#9dadbf;margin:16px 0 0}
.live-editor{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.live-editor summary{cursor:pointer;color:#758ba5;font-size:10px}.live-editor summary>span{font-size:8px;margin-left:6px;padding:2px 4px;color:#3f9096;background:#eaf4f5;border-radius:3px}.live-axis-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.live-axis-grid label{font:9px var(--mono);color:#8ea3bc}.live-axis-grid input{display:block;width:100%;font:11px var(--mono);padding:7px;border:1px solid #dfe7f1;border-radius:4px;margin-top:4px;min-width:0;color:#526e8c}.live-editor p{font-size:9px;line-height:1.8;color:#a6b4c6}
.playback-bar{display:flex;align-items:center;gap:16px;padding:17px 20px;border:1px solid var(--line);border-radius:9px;background:white;margin-top:19px}.play-button{width:34px;height:34px;border-radius:50%;background:#eaf4f5;color:#33858d;flex-shrink:0}.play-button svg{width:15px;height:15px;fill:currentColor}.play-button.playing{background:#dceff0}.playback-label{min-width:67px}.playback-label strong{font-size:11px;color:#7e90a8;display:block;font-weight:500}.playback-label span{font:10px var(--mono);color:#adbacb;display:block;margin-top:4px}.playback-bar input[type=range]{flex:1;min-width:50px;accent-color:#3d929c;height:3px}.playback-bar select{font-size:10px;max-width:165px}.playback-note{font-size:10px;color:#a0aec1;margin:11px 3px}
.trajectory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 17px}.trajectory-legend{display:flex;align-items:center;gap:18px}.trajectory-toolbar>div:last-child{display:flex;gap:13px;align-items:center}.trajectory-notice{background:#fff9ef;border:1px solid #f0e3cb;color:#aa8b59;border-radius:6px;padding:10px 13px;font-size:11px;line-height:1.8;margin-bottom:17px}.trajectory-layout .scene-viewport{height:528px}.amplification-badge{font-size:9px;color:#72a6b5;background:#162d42;border:1px solid #20465a;border-radius:5px;padding:4px 8px}.amplification-badge.enlarged{color:#d6b077;background:#403325;border-color:#5b4930}.trajectory-inspector .inspector-heading>strong{font:19px "Segoe UI","Microsoft YaHei",sans-serif;font-weight:550;letter-spacing:0}.trajectory-inspector .button{width:100%;margin-top:18px;font-size:10px}
.trajectory-method{border:1px solid #e6ecf4;border-radius:7px;margin-top:12px;padding:12px 13px}.trajectory-method>div{display:flex;align-items:center;gap:6px;color:#788da7;font-size:10px}.trajectory-method>strong{font:22px var(--mono);color:#537b8c;display:block;margin:7px 0 3px}.trajectory-method.msa>strong{color:#7c8acf}.trajectory-method>strong small{font-size:10px;color:#a6b7c9;margin-left:4px}.trajectory-method>span{font-size:9px;color:#a4b1c2}.trajectory-method.raw{background:#f7f9fc}
.selected-coordinate{padding-top:2px}#trajectory-coordinate{font-size:9px;color:#9aacbf;line-height:1.7}.coordinate-row{display:grid;grid-template-columns:35px repeat(3,1fr);gap:4px;font:9px var(--mono);padding:6px 0;border-bottom:1px solid #edf2f8;color:#7e93ad}.coordinate-row:first-child{color:#a9b8ca}.depth-editor{max-height:340px;overflow:auto;scrollbar-width:thin}.depth-editor label{display:grid;grid-template-columns:80px 1fr 1fr;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #ebf0f6;font-size:11px;color:#8295ac}.depth-editor label>span{font:10px var(--mono);color:#abb8c9}.depth-editor input{width:100%;min-width:0;border:1px solid #dde5ef;border-radius:4px;padding:7px;font:12px var(--mono);color:#586f8c}.depth-editor label.invalid input{border-color:#ddb77d;background:#fffaf3}
.page-footer{color:#a5b4c6;font-size:9px;margin-top:25px}.page-footer .status-dot{background:#86bdc0}.toast{background:#213b55f0;font-size:12px}.dialog-intro,.dialog-footnote,.help-note{color:#91a2b9}.dialog-footnote,.help-note{background:#f1f5fa}
@keyframes plot-enter{from{stroke-dashoffset:2800;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes studio-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.insight-grid.replay .insight-card{animation:studio-enter .45s both}.insight-grid.replay .insight-card:nth-child(2){animation-delay:.06s}.insight-grid.replay .insight-card:nth-child(3){animation-delay:.12s}.insight-grid.replay .insight-card:nth-child(4){animation-delay:.18s}
@media(min-width:1650px){main{padding-inline:44px}.scene-viewport{height:560px}.trajectory-layout .scene-viewport{height:590px}.preview-layout{grid-template-columns:minmax(0,1fr) 305px}.insight-chart{height:270px}}
@media(max-width:1200px){:root{--rail:74px}.rail{padding:25px 10px 18px}.brand{margin:0 6px 42px}.brand>span:last-child,.nav-label,.nav-dot,.local-label,.rail-version,.nav-badge{display:none}.nav-item{font-size:0;gap:0;justify-content:center;padding:14px 10px}.nav-item svg{width:20px;height:20px}.preview-layout{grid-template-columns:minmax(0,1fr) 255px;gap:14px}.scene-viewport{height:465px}.analysis-kpis{gap:11px}.kpi-card{padding:18px 15px}.kpi-card>strong{font-size:25px}.context-actions{gap:8px}.scene-topline>div:first-child>span:last-child{display:none}.insight-card{padding:19px 17px 15px}}
@media(max-width:930px){.insight-grid{gap:13px}.section-line h2>span{display:none}.preview-layout{grid-template-columns:1fr}.pose-inspector{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.pose-angles{margin-top:4px;padding-bottom:15px;grid-row:1/3;grid-column:2}.pose-inspector h3{margin-top:10px}.pose-inspector .projection-readings{grid-column:1;grid-row:3/7}.pose-inspector .vector-angle,.pose-inspector .inspector-note,.pose-inspector .live-editor{grid-column:2}.trajectory-inspector{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.trajectory-inspector>div:nth-child(2){grid-column:2;grid-row:1/5}.scene-viewport{height:480px}.context-actions>.soft-pill{display:none}.trajectory-toolbar{align-items:flex-start}.trajectory-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px}.trajectory-legend{padding-top:10px;gap:10px}.analysis-grid{grid-template-columns:minmax(0,1fr) 220px}.trend-tools{gap:9px}.analysis-legend .band-legend{font-size:9px}}
@media(max-width:760px){:root{--rail:0px}.rail{position:static;width:100%;height:57px;padding:8px 15px;flex-direction:row;gap:11px}.brand{margin:0;gap:8px}.brand>span:last-child{display:block;font-size:13px}.brand-sub{font-size:6px}.brand-mark{width:28px;height:32px;border-radius:6px}.rail nav{display:flex;margin-left:auto}.nav-item{width:32px;padding:8px;margin:0}.rail-bottom{margin:0}.rail-bottom .nav-item{width:26px}.nav-item.active{box-shadow:none;background:#214257}.nav-item svg{width:17px;height:17px}.brand-mark svg{width:23px;height:23px}main{padding:0 14px 20px}.topbar{height:45px}.connection{font-size:9px;padding:4px 7px}.page-heading{margin:22px 0 20px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px;line-height:1.8}.heading-actions{margin-top:15px}.project-strip{padding:12px;margin-bottom:14px}.reference-panel{padding:15px}.reference-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-fields label{font-size:10px}.unit-field input{font-size:14px}.metric-strip{padding:19px 0;gap:10px}.metric-caption{font-size:9px}.metric strong{font-size:23px}.metric>span:last-child{font-size:8px}.metric .state-text{font-size:15px}
.analysis-grid{grid-template-columns:1fr;gap:13px}.chart-panel{padding:17px}.chart-stage{height:213px}.chart-panel .section-line{align-items:flex-start}.trend-tools{gap:12px}.legend{font-size:9px;gap:12px}.station-panel{min-height:180px}.station-values{margin-right:115px}
.page-context{flex-wrap:wrap;gap:17px;margin:19px 0}.page-context strong{font-size:15px}.context-actions{width:100%;justify-content:space-between}.context-actions .button{font-size:10px;padding:8px 10px}.analysis-kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi-card{padding:16px 14px;min-height:124px}.kpi-card>span{font-size:10px}.kpi-card>strong{font-size:23px;margin:12px 0 9px}.kpi-card>small{font-size:8px;line-height:1.7;display:block}.kpi-decoration{opacity:.7}.analysis-legend{gap:13px;flex-wrap:wrap;padding:19px 1px 14px;font-size:10px}.analysis-legend .band-legend{width:100%;margin:0}.insight-grid{grid-template-columns:1fr;gap:13px}.insight-card{padding:18px 16px 14px}.insight-chart{height:213px;margin-top:17px}.insight-card .section-line h2{font-size:13px}.insight-card .section-line p{font-size:10px}.heatmap{max-height:270px}.analysis-footnote{font-size:9px}
.preview-tabs{width:100%}.preview-tabs button{flex:1;font-size:11px}.preview-state-banner{font-size:10px;line-height:1.8;margin-bottom:13px}.scene-topline{height:52px;padding:0 13px}.scene-topline strong{font-size:11px}.scene-controls{gap:8px}.scene-controls label{font-size:8px;gap:5px}.scene-controls select{font-size:10px}.scene-viewport{height:440px;min-height:300px}.scene-bottomline{padding:10px 12px;font-size:8px;flex-wrap:wrap;gap:5px}.field-switches{gap:13px;padding:12px;font-size:9px}.field-switches input{width:10px;height:10px}.scene-label{font-size:8px;padding:2px 4px}
.pose-inspector{padding:20px 17px;gap:0 15px}.inspector-heading>strong{font-size:21px}.inspector-heading>span:last-child{font-size:10px}.pose-angles{gap:12px 5px}.pose-angles strong{font-size:17px}.pose-angles>div:first-child strong{font-size:28px}.pose-angles>div>span{font-size:8px}.projection-readings>div{font-size:9px;gap:3px}.projection-readings small{font-size:7px}.inspector-note{font-size:9px}.pose-inspector h3{font-size:10px;margin-top:13px}.live-editor{grid-column:1/-1!important}.live-axis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.playback-bar{gap:10px;padding:14px 13px;flex-wrap:wrap}.playback-bar input[type=range]{min-width:140px}.playback-label{min-width:60px}.playback-bar #station-picker{flex:1;max-width:none;margin-left:44px}.playback-bar select{padding:6px 8px;font-size:10px}.playback-note{font-size:9px}
.trajectory-toolbar{flex-wrap:wrap;gap:14px}.trajectory-toolbar>div:last-child{justify-content:flex-start;width:100%}.trajectory-legend{gap:20px}.trajectory-toolbar label{font-size:9px;gap:5px}.trajectory-toolbar select{font-size:10px;padding:6px}.trajectory-toolbar .button{padding:7px 9px;font-size:10px;margin-left:auto}.trajectory-notice{font-size:10px;padding:9px 12px}.trajectory-layout .scene-viewport{height:470px}.amplification-badge{font-size:8px}.trajectory-inspector{padding:20px 17px;gap:0 16px}.trajectory-inspector .inspector-heading>strong{font-size:16px}.trajectory-method{padding:10px}.trajectory-method>strong{font-size:19px}.trajectory-method>span{font-size:8px}.coordinate-row{font-size:8px;gap:2px;grid-template-columns:25px repeat(3,1fr)}.trajectory-inspector h3{font-size:10px}.trajectory-inspector .button{font-size:9px;padding:8px 5px}.page-footer{font-size:8px}.depth-editor label{grid-template-columns:55px 1fr 1fr;gap:8px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Preserve all three paths even when their angles are almost identical. */
#trend-chart .plot-line{animation:none;stroke-linecap:butt}
#trend-chart .plot-line.raw{stroke:#9aa9bb;stroke-width:4.8;stroke-dasharray:none;opacity:.65}
#trend-chart .plot-line.ssc{stroke:#009c8c;stroke-width:2.6;stroke-dasharray:9 9}
#trend-chart .plot-line.msa{stroke:#4e70ea;stroke-width:1.8;stroke-dasharray:5 13;stroke-dashoffset:-10}
#trend-chart .chart-dot{display:none}
.trend-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px;padding-top:15px;border-top:1px solid #edf1f5}
.trend-readout>div{border-left:3px solid #8fa1b8;padding-left:10px;font-size:10px;color:#8192a6;min-width:0}.trend-readout>.ssc{border-color:#009c8c}.trend-readout>.msa{border-color:#4e70ea}
.trend-readout strong{display:block;color:#354c65;font:14px var(--mono);margin:4px 0}.trend-readout small{font:10px var(--mono)}
.tool-render-mode{display:flex;gap:20px;align-items:center;padding:12px 17px;border-top:1px solid #25394c;background:#101f31;color:#a3b7ca;font-size:10px}.tool-render-mode label{display:flex;align-items:center;gap:10px}
.tool-render-mode select{background:#1a3046;border:1px solid #395267;border-radius:5px;color:#b8cedf;font-size:11px;padding:5px}
.geometry-controls{background:#0f2033;color:#93acc2;border-top:1px solid #253b52;padding:12px 17px;font-size:11px}
.geometry-controls summary{cursor:pointer;color:#c2d3e2}.geometry-controls summary span{font-size:9px;color:#617d98;margin-left:10px}
.geometry-toggles{display:flex;flex-wrap:wrap;gap:12px 20px;padding-top:15px}.geometry-toggles label{display:inline-flex;align-items:center;gap:6px;font-size:10px;cursor:pointer}.geometry-toggles input{accent-color:#28aeaa;margin:0}
.lab-station-bar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:15px 20px;background:#fff;border:1px solid #e0e7f0;border-radius:9px;margin-top:17px;font-size:10px;color:#8b9db1}.lab-station-bar label{display:flex;align-items:center;gap:8px}.lab-station-bar select{max-width:230px;padding:6px;border:1px solid #dce5ee;border-radius:5px;color:#38556f;background:#f8fafc;font-size:11px}.lab-station-bar>span{flex:1;min-width:180px;line-height:1.7}.lab-station-bar .stale{color:#b28245}
@media(max-width:760px){.tool-render-mode>span{display:none}.lab-station-bar{padding:12px;gap:12px}.lab-station-bar label{width:100%;justify-content:space-between}.lab-station-bar select{max-width:235px}.trend-readout strong{font-size:11px}.trend-readout small{font-size:8px}.trend-readout>div{padding-left:5px}.geometry-toggles{gap:12px}.geometry-toggles label{font-size:9px}}

/* Keep angle readings legible among overlapping field and tool labels. */
.scene-label.angle{font-size:11px;font-weight:600;color:#ffd49b;background:#15283ff2;border-color:#d1a26285;z-index:3;padding:4px 7px}

/* Compact scene controls: keep the model and readouts in a single surface. */
.scene-label-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.scene-label-leaders path{fill:none;stroke:#8badc5;stroke-width:.7;opacity:.55}
.scene-workbar{padding:14px 18px 12px;background:#102236;border-top:1px solid #253b50;color:#a8bed0}
.scene-workbar-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.scene-presets,.scene-views{display:flex;gap:4px}
.scene-presets button,.scene-views button{border:1px solid #294158;background:#162b40;color:#8eabc0;padding:6px 9px;border-radius:5px;font-size:10px;cursor:pointer}
.scene-presets button.active{background:#154446;color:#8fe2d3;border-color:#287c76}
.scene-views button{background:transparent;border-color:transparent;padding:5px 7px;color:#7e9db5}
.scene-views button:hover,.scene-presets button:hover{color:#d0eee7;border-color:#41938e}
.scene-transport{display:flex;align-items:center;gap:13px;margin-top:13px}
.demo-play{border:1px solid #34605f;background:#1a4147;color:#97e0d3;border-radius:5px;font-size:10px;min-width:94px;padding:7px 9px;cursor:pointer}
.demo-play[aria-pressed=true]{background:#236365;color:#defef6}
.demo-timeline{display:flex;gap:9px;align-items:center;flex:1;min-width:80px;font:10px var(--mono);color:#7dafbe}
.demo-timeline input{width:100%;min-width:35px;height:4px;accent-color:#67c9b7}
.scene-transport select{width:56px;border:1px solid #2a4259;border-radius:4px;padding:5px;background:#152c40;color:#a0bdcf;font-size:10px}
.scene-metrics{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px 17px;margin-top:13px;padding-top:11px;border-top:1px solid #25394d;font:10px var(--mono);color:#91b3c8}
.scene-metrics>span:first-child{margin-right:auto;color:#638da8;font:10px "Segoe UI","Microsoft YaHei",sans-serif}
.scene-metrics b{font-weight:400;color:#829aae}.scene-metrics strong{font-weight:500;color:#e0c28e}
.scene-transport button:focus-visible,.scene-views button:focus-visible,.scene-presets button:focus-visible{outline:2px solid #65c7b5;outline-offset:3px}
@media(max-width:760px){.scene-workbar{padding:12px}.scene-workbar-row{gap:8px}.scene-presets button{font-size:9px;padding:6px 8px}.scene-views button{font-size:9px;padding:4px}.scene-transport{gap:9px}.demo-play{min-width:88px;padding:7px}.scene-metrics{gap:8px 14px}.scene-label.angle{font-size:10px}}

/* Shared top navigation for every workspace page. */
:root{--rail:0px;--site-header-height:74px}
html{scroll-padding-top:calc(var(--site-header-height) + 16px)}
body{min-width:320px}
main{width:100%;max-width:1840px;margin:0 auto;padding:0 36px 28px}
.site-header{position:sticky;top:0;z-index:30;width:100%;background:#fffffff5;border-bottom:1px solid #dde6ee;box-shadow:0 4px 18px #17364a05;backdrop-filter:blur(14px)}
.site-header-inner{max-width:1840px;min-height:74px;margin:0 auto;padding:0 36px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px}
.site-brand{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0;color:#1c3b51;font-size:23px;font-weight:750;letter-spacing:.045em;line-height:1.05;white-space:nowrap}
.site-brand-mark{width:35px;height:39px;border-radius:10px;display:grid;place-items:center;background:#d8efed;color:#197983;border:1px solid #cae7e3}
.site-brand-mark svg{width:27px;height:27px;stroke-width:2}
.site-brand small{display:block;color:#8a9fad;font-size:7px;font-weight:600;letter-spacing:.22em;margin-top:6px}
.primary-nav{min-width:0;display:flex;align-items:stretch;justify-content:center;gap:3px;align-self:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
.primary-nav::-webkit-scrollbar{display:none}
.primary-nav .nav-item{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;margin:0;padding:0 13px;gap:7px;border-radius:0;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;color:#657b90;box-shadow:none}
.primary-nav .nav-item svg{width:16px;height:16px;color:#8ba1b3}
.primary-nav .nav-item:after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:transparent;transition:background .18s}
.primary-nav .nav-item:hover{color:#216f7c;background:#f2f8f9}
.primary-nav .nav-item.active{color:#087f86;background:linear-gradient(0deg,#eef8f7,transparent);box-shadow:none}
.primary-nav .nav-item.active:after{background:#1b9d99}
.primary-nav .nav-item.active svg{color:#168c92}
.primary-nav .nav-item:focus-visible{outline:2px solid #238e96;outline-offset:-6px;border-radius:7px}
.header-tools{display:flex;align-items:center;gap:14px}
.header-tools .connection{white-space:nowrap;background:#f1f8f5;border-color:#e2eee8;color:#6e9284;padding:6px 10px;font-size:10px}
.header-tools .connection.offline{background:#fff5ed;border-color:#f2decf;color:#aa7451}
.header-help{width:32px;height:32px;border:1px solid #e3eaf0;border-radius:8px;background:#fff;color:#8a9eae;padding:0}
.header-help:hover{background:#edf7f6;color:#178d91;border-color:#b9d9d7}
.header-help svg{width:17px;height:17px}
.topbar{height:46px;border-bottom:0}
.workspace-location{font-size:10px;color:#a2b0bd}
.page-heading{margin-top:21px}
#table-panel,.workspace-page,#main{scroll-margin-top:calc(var(--site-header-height) + 16px)}
@media(min-width:1650px){main,.site-header-inner{padding-left:44px;padding-right:44px}.primary-nav{gap:7px}.primary-nav .nav-item{padding:0 17px;font-size:13px}}
@media(max-width:1300px){
 :root{--site-header-height:111px}
 .site-header-inner{min-height:62px;grid-template-columns:1fr auto;gap:0 18px;padding:0 28px}
 .site-brand{min-height:62px;font-size:21px}.site-brand-mark{width:32px;height:35px}
 .header-tools{grid-column:2;grid-row:1}
 .primary-nav{grid-column:1/-1;grid-row:2;min-height:48px;justify-content:flex-start;border-top:1px solid #eff3f6}
 .primary-nav .nav-item{padding:0 16px;font-size:12px;gap:8px}
 main{padding-left:28px;padding-right:28px}
}
@media(max-width:760px){
 :root{--site-header-height:105px}
 .site-header-inner{padding:0 16px;gap:0 12px}
 .site-brand{min-height:58px;font-size:20px;gap:8px}.site-brand-mark{width:29px;height:33px;border-radius:8px}.site-brand-mark svg{width:24px;height:24px}
 .site-brand small{font-size:6px;margin-top:5px}
 .header-tools{gap:9px}.header-tools .connection{font-size:9px;padding:5px 8px}.header-help{width:29px;height:29px}
 .primary-nav{min-height:46px;margin:0 -16px;padding:0 10px;gap:2px}
 .primary-nav .nav-item{font-size:11px;padding:0 12px;gap:6px;min-height:46px}
 .primary-nav .nav-item svg{width:15px;height:15px}
 .primary-nav .nav-item:after{left:12px;right:12px}
 main{padding:0 16px 22px}
 .topbar{height:40px}.workspace-location{display:none}
 .page-heading{margin:18px 0 20px}
}
