@font-face{font-family:Inter;src:url('/factory/demo/vendor/inter.woff2') format('woff2');font-display:swap}
:root{color-scheme:light;--tour-ink:#203047;--tour-muted:#718096;--tour-line:#e4e9ef;--tour-blue:#306ddd;--tour-bg:#f5f7fa;--tour-soft:#eef4ff}
*{box-sizing:border-box}body{margin:0;background:var(--tour-bg);color:var(--tour-ink);font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button{border:1px solid var(--tour-line);background:#fff;color:var(--tour-ink);padding:8px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;font-size:12px;font-weight:550;transition:background .15s,border-color .15s}button:hover{background:#f2f6fc;border-color:#c5d4e6}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--tour-blue);border-color:var(--tour-blue);color:#fff}button.primary:hover{background:#245ec8}a{color:#3a68b0;text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--tour-ink)}.tour-app{height:100dvh;min-height:720px;display:flex;flex-direction:column}.topbar{height:65px;flex:none;background:#fff;border-bottom:1px solid var(--tour-line);display:flex;align-items:center;padding:0 25px;gap:35px}.brand{font-weight:700;font-size:24px;letter-spacing:-1.4px;color:#253851;display:flex;gap:18px;align-items:center}.brand span{font-size:11px;font-weight:500;letter-spacing:.04em;color:#8290a2;border-left:1px solid var(--tour-line);padding-left:18px}.project{display:flex;align-items:center;gap:10px;font-size:12px}.project-icon{font-size:26px;color:#5c7a9c}.project strong,.project span:not(.project-icon){display:block}.project>div>span{font-size:10px;color:var(--tour-muted)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.top-actions>a{font-size:11px;margin-right:6px}.overview{padding:19px 26px 18px;display:flex;align-items:center;gap:30px;flex:none}.overview-title{margin-right:auto}.eyebrow{font-size:9px;letter-spacing:.12em;font-weight:650;color:#8290a1}.overview h1{font-size:25px;letter-spacing:-.8px;font-weight:550;margin-top:4px}.overview-stat{display:flex;flex-direction:column;min-width:83px}.overview-stat strong{font-size:23px;font-weight:550;letter-spacing:-.6px}.overview-stat span{font-size:10px;color:var(--tour-muted)}.recording-status{display:flex;align-items:flex-start;gap:9px;border-left:1px solid #dbe2eb;padding-left:24px}.recording-status strong,.recording-status span{display:block;font-size:10px}.recording-status strong{font-weight:550;margin-bottom:3px}.recording-status>div>span{color:var(--tour-muted)}.status-dot{width:7px;height:7px;border:2px solid #7191b4;border-radius:50%;margin-top:4px}.workspace{display:grid;grid-template-columns:235px minmax(380px,1fr) 310px;gap:12px;padding:0 16px;min-height:0;flex:1}.panel{background:#fff;border:1px solid var(--tour-line);border-radius:11px;overflow:hidden;box-shadow:0 2px 7px #18344e03}.inventory{display:flex;flex-direction:column;min-height:0}.inventory-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 15px 11px}.inventory h2{font-size:13px;font-weight:600}.count{font-size:10px;color:#66809d;background:#f0f4f8;border-radius:4px;padding:2px 6px}.search-wrap{display:flex;align-items:center;gap:6px;margin:0 12px;background:#f7f9fc;border:1px solid #e7ecf3;border-radius:6px;padding:7px}.search-wrap>span{font-size:20px;line-height:16px;color:#7990a9}.search-wrap input{min-width:0;width:100%;border:0;padding:0;background:transparent;font-size:10px;color:var(--tour-ink)}.search-wrap input::placeholder{color:#8a98aa}.search-wrap kbd{font-size:10px;color:#9ba7b6;background:#fff;border:1px solid #e4e9ef;border-radius:3px;padding:0 3px}.select-label{font-size:9px;color:var(--tour-muted);margin:12px 14px 4px}.inventory>select{margin:0 12px;padding:7px 8px;border:1px solid var(--tour-line);border-radius:6px;background:#fff;color:#51647a;font-size:10px}.inventory-tabs{display:flex;border-bottom:1px solid var(--tour-line);margin-top:12px;padding:0 13px;gap:14px}.inventory-tabs button{border:0;border-radius:0;background:transparent;font-size:10px;color:#7b8a9d;padding:9px 1px;border-bottom:2px solid transparent}.inventory-tabs .active{border-bottom-color:var(--tour-blue);color:var(--tour-blue)}.asset-list{flex:1;overflow:auto;padding:8px 7px}.loading,.empty-list{padding:18px 10px;font-size:11px;color:var(--tour-muted)}.asset-group-heading{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:600;color:#8b98a9;letter-spacing:.045em;text-transform:uppercase;padding:12px 7px 6px}.asset-group-heading span:last-child{margin-left:auto;font-size:9px;font-weight:400}.asset-row{width:100%;display:flex;align-items:center;text-align:left;gap:9px;border:1px solid transparent;padding:8px 7px;margin:1px 0;border-radius:6px;background:transparent;white-space:normal}.asset-row:hover{background:#f6f8fc;border-color:transparent}.asset-row.selected{background:#edf3ff;border-color:#dce7fd}.asset-symbol{height:28px;width:28px;flex:none;display:grid;place-items:center;border-radius:6px;background:#f0f3f7;color:#7a8da3;font-size:14px}.asset-row.selected .asset-symbol{background:#dae7ff;color:#467bd2}.asset-row-copy{min-width:0;flex:1}.asset-row-copy strong{font-size:10px;font-weight:550;display:block;color:#43566e;line-height:1.4}.asset-row-copy small{font-size:8px;display:block;color:#99a5b4;margin-top:2px}.asset-row .view-dot{width:4px;height:4px;border-radius:50%;background:#8ba9c5;flex:none}.inventory-footer{border-top:1px solid var(--tour-line);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--tour-muted)}.inventory-footer button{padding:3px 6px;font-size:9px;border:0;background:transparent;color:#6483aa}.canvas-panel{display:flex;flex-direction:column;min-width:0;position:relative}.canvas-toolbar{height:47px;flex:none;display:flex;align-items:center;padding:0 12px;justify-content:space-between;border-bottom:1px solid var(--tour-line);gap:7px}.view-tabs{background:#f1f4f8;border-radius:6px;padding:3px;display:flex;gap:2px}.view-tabs button{background:transparent;border:0;color:#8a97a8;padding:4px 9px;font-size:10px;border-radius:4px}.view-tabs button.active{background:#fff;color:#3f5e86;box-shadow:0 1px 3px #18345110}.toolbar-actions{display:flex;gap:4px}.toolbar-actions button{border-color:transparent;background:transparent;padding:5px 7px;font-size:9px;color:#7b8ba0}.toolbar-actions button[aria-pressed=true]{background:#eef4ff;color:#4d77ae}#scene{flex:1;min-height:330px;position:relative;overflow:hidden;background:#edf1f5}#scene>canvas{display:block;width:100%;height:100%;touch-action:none}.scene-top{position:absolute;left:15px;right:15px;top:13px;z-index:2;display:flex;justify-content:space-between;pointer-events:none;gap:10px}.quality{font-size:8px;letter-spacing:.055em;color:#788b9f;padding:4px 7px;background:#ffffffd9;border:1px solid #e0e7ef;border-radius:4px}.quality.simulated{color:#976c32;background:#fff7e6;border-color:#ead7b6}#scene-area{font-size:9px;color:#7e8fa3;padding:5px 0;text-shadow:0 1px #fff}.scene-bottom{position:absolute;bottom:9px;left:13px;right:13px;z-index:2;font-size:8px;color:#8a9aab;display:flex;justify-content:space-between;pointer-events:none}.scene-tools{position:absolute;right:14px;bottom:38px;display:flex;flex-direction:column;gap:1px;box-shadow:0 2px 8px #243d5310;border-radius:7px;overflow:hidden}.scene-tools button{border:0;border-radius:0;height:29px;width:31px;padding:0;font-size:17px;color:#6c7f95;background:#ffffffee}#hover-label{position:absolute;z-index:4;pointer-events:none;padding:6px 9px;background:#243c54ec;color:#fff;border-radius:5px;font-size:10px;max-width:210px;box-shadow:0 3px 10px #10253f20}.scene-error{position:absolute;z-index:4;left:20px;right:20px;top:60px;background:white;border:1px solid #ecd9c6;border-radius:8px;padding:18px;font-size:12px}#mini-map{position:absolute;left:13px;bottom:37px;width:112px;height:85px;border:1px solid #dbe3ec;border-radius:6px;background:#ffffffc9;padding:6px}#mini-map svg{display:block;width:100%;height:100%}#mini-map rect{cursor:pointer;transition:fill .2s}#mini-map text{font-size:6px;pointer-events:none;fill:#69809a}.walkthrough-bar{display:flex;align-items:center;padding:11px 13px;gap:9px;border-top:1px solid var(--tour-line);flex:none}.tour-button{font-size:10px;padding:7px 9px;background:#f0f5fd;border-color:#e3ebf8;color:#557da9}.tour-button>span{font-size:12px;margin-right:4px}.tour-progress{flex:1;min-width:0}.tour-progress strong,.tour-progress>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-progress strong{font-size:10px;font-weight:550;color:#5c6d81}.tour-progress>span{font-size:8px;color:#94a0ae;margin-top:2px}.walkthrough-bar>button:not(.tour-button){padding:4px 7px;border:0;color:#8192a5}.chapter-strip{display:flex;gap:4px;padding:0 13px 12px;flex:none}.chapter-strip button{height:4px;flex:1;border:0;background:#e8edf4;padding:0;border-radius:2px}.chapter-strip button.active{background:#719bdf}.inspector{overflow:auto;min-height:0}.inspector-tabs{position:sticky;top:0;background:#fff;z-index:5;display:flex;gap:18px;padding:0 16px;border-bottom:1px solid var(--tour-line);height:47px}.inspector-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:13px 0 11px;font-size:10px;color:#8a97a7}.inspector-tabs button.active{color:#477dc8;border-bottom-color:#477dc8}.asset-title{padding:19px 17px 12px}.asset-title h2{font-size:19px;line-height:1.3;font-weight:550;letter-spacing:-.5px;margin-top:6px}.asset-title p{font-size:10px;color:#8b98a8;margin-top:7px;line-height:1.6}.asset-preview{height:160px;margin:0 15px 10px;border-radius:7px;overflow:hidden;background:radial-gradient(ellipse at center,#f9fafc,#eef2f7);position:relative}.asset-preview canvas{width:100%;height:100%;display:block}.asset-preview::after{content:'ILLUSTRATIVE MODEL';position:absolute;bottom:8px;right:9px;font-size:7px;letter-spacing:.08em;color:#a2adba;pointer-events:none}.tags{display:flex;flex-wrap:wrap;gap:4px;padding:0 17px}.tag{border-radius:4px;background:#f0f4f8;color:#7c8da1;font-size:8px;padding:3px 6px}.tag.reviewed{background:#edf4fc;color:#6286ad}.detail-actions{display:flex;gap:6px;padding:13px 17px}.detail-actions button{font-size:9px;flex:1;padding:7px 5px}.asset-description{font-size:10px;color:#738398;padding:0 17px 13px;line-height:1.7}.detail-section{padding:14px 17px;border-top:1px solid #edf0f5}.detail-section h3{font-size:10px;font-weight:600;color:#687c94;margin-bottom:8px}.detail-section ul{list-style:none;margin:0;padding:0}.detail-section li{font-size:9px;color:#8a98a9;padding:3px 0 3px 12px;position:relative;line-height:1.65}.detail-section li::before{content:'·';position:absolute;left:1px;color:#7e9bbd;font-size:15px;line-height:15px}.condition-card{margin:0 17px 13px;padding:12px;border:1px solid #e6ebf2;background:#f9fafc;border-radius:6px}.condition-card>span{display:block;font-size:8px;color:#99a4b1}.condition-card strong{display:block;font-size:14px;font-weight:500;color:#8796a9;margin:3px 0}.condition-card p{font-size:8px;color:#a0aab8;line-height:1.6}.unknowns{padding:0 17px 18px;font-size:8px;color:#a0abb9;line-height:1.8}.source-player{margin:3px 15px 8px;aspect-ratio:16/9;background:#f0f4f9;border:1px solid #e3eaf2;border-radius:7px;overflow:hidden}.source-player iframe{width:100%;height:100%;border:0}.player-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:14px;text-align:center}.player-placeholder>span{font-size:24px;color:#8ba8ce}.player-placeholder p{font-size:9px;color:#8e9eb2;max-width:210px}.player-placeholder button{font-size:9px;padding:5px 10px}.source-controls{display:flex;justify-content:space-between;padding:0 17px;font-size:8px;color:#8ea0b4}.small-note{font-size:9px;color:#8b9aad;line-height:1.65;padding:10px 17px}.evidence-view{width:100%;text-align:left;white-space:normal;padding:9px;margin:5px 0;border-color:#e9eef5;border-radius:6px}.evidence-view strong{font-size:10px;color:#5b81b2;display:block}.evidence-view span{display:block;font-size:9px;color:#8c9bae;font-weight:400;margin-top:4px;line-height:1.6}.source-credit{margin:0 17px 18px;font-size:9px;color:#92a0b0;border-top:1px solid var(--tour-line);padding-top:14px;line-height:1.7}.source-credit strong{font-size:10px;font-weight:550;color:#7387a0}.source-credit p{margin-top:7px}.process-graph{padding:0 17px 8px;display:flex;gap:4px}.process-stage{flex:1;min-width:0;border-radius:5px;background:#f3f6fa;border:1px solid #e5ebf3;padding:7px 2px;text-align:center;font-size:7px;color:#8a9bb1;position:relative}.process-stage.active{background:#fff4dd;border-color:#ead4a5;color:#a08048}.process-stage>span{display:block;font-size:11px;margin-bottom:3px}.sim-form{padding:8px 17px}.sim-form label{font-size:10px;display:block;color:#7b8ca2;margin-bottom:12px}.sim-form output{float:right;color:#567ca9;font-size:10px}.sim-form select,.sim-form input[type=number]{display:block;width:100%;padding:7px;border:1px solid var(--tour-line);border-radius:5px;color:#607996;background:#fff;margin-top:5px;font-size:10px}.sim-form input[type=range]{width:100%;display:block;accent-color:#5c88ca;height:17px;margin-top:7px}.form-pair{display:flex;gap:10px}.form-pair>label{flex:1}.sim-form>.primary{width:100%;margin:6px 0}.cycle-settings{font-size:9px;color:#8899ae;margin-bottom:8px}.cycle-settings summary{cursor:pointer;padding:5px 0}.cycle-row{display:grid;grid-template-columns:1fr 54px 44px;align-items:center;gap:6px}.cycle-row label{margin:4px 0;font-size:8px}.cycle-row input{margin:0!important;padding:5px!important}.cycle-head{font-size:7px;color:#9aa8b9;text-align:right;padding:3px 0}.sim-result-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px 17px 10px}.sim-result-cards>div{border:1px solid #e7edf5;padding:11px;border-radius:6px}.sim-result-cards span{font-size:8px;color:#9aa7b6;display:block}.sim-result-cards strong{font-size:24px;font-weight:500;display:block;letter-spacing:-.7px;color:#57789e}#sim-output-chart{padding:0 17px}#sim-output-chart svg{display:block;width:100%;height:100px}.stage-utilization{padding:5px 17px}.stage-utilization>div{display:flex;justify-content:space-between;font-size:8px;color:#8c9db2;margin-bottom:4px}.utilization-bar{display:flex;height:5px!important;background:#eef2f6;border-radius:2px;overflow:hidden}.utilization-bar span{display:block;height:5px}.sim-disclaimer{font-size:8px;color:#b19c7c;line-height:1.7;border-top:1px solid #f0e8dc;padding:12px 17px;margin-top:12px;background:#fffcf6}#sim-show-floor{margin:0 17px 10px;font-size:9px}.simulation-playback{display:flex;align-items:center;gap:8px;padding:10px 13px;background:#fff9ed;border-top:1px solid #f1e4cc}.simulation-playback button{font-size:9px;padding:5px 7px}.simulation-playback label{font-size:8px;color:#ae946d;white-space:nowrap}.simulation-playback output{display:block;color:#997540;font-variant-numeric:tabular-nums}.simulation-playback input{min-width:30px;flex:1;accent-color:#c19c60}.footer{display:flex;justify-content:space-between;align-items:center;padding:9px 24px;flex:none;color:#98a5b4;font-size:8px}.footer button{font-size:8px;padding:0;border:0;background:transparent;color:#8c9db3}.page-error{margin:0 16px 10px;padding:10px 15px;border:1px solid #efc9b4;background:#fff8f2;border-radius:7px;color:#a16c50;font-size:11px}dialog{width:min(760px,calc(100vw - 32px));max-height:85dvh;border:1px solid #dce5f0;border-radius:13px;padding:25px;background:white;color:var(--tour-ink);box-shadow:0 20px 80px #1a355b30}dialog::backdrop{background:#253b5260;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-heading h2{font-size:24px;font-weight:500;letter-spacing:-.7px;margin:5px 0 17px}.dialog-heading button{border:0;background:#f1f5fa;padding:1px 9px;font-size:23px;color:#8a9cb1}#method-content h3{font-size:12px;font-weight:600;margin:18px 0 7px}#method-content p,#method-content li{font-size:11px;color:#8190a2;line-height:1.8}#method-content ul{padding-left:18px}.method-stats{display:flex;gap:20px;background:#f5f8fc;border-radius:7px;padding:15px;margin-top:13px}.method-stats strong{display:block;font-size:21px;font-weight:500;color:#557ca5}.method-stats span{font-size:9px;color:#8ea0b5}.coverage-row{display:grid;grid-template-columns:150px 1fr;gap:15px;border-bottom:1px solid #edf1f6;padding:9px 0;font-size:10px}.coverage-row strong{font-weight:500;color:#70849d}.coverage-row span{color:#93a1b3}.dialog-actions{display:flex;gap:18px;align-items:center;margin-top:23px;font-size:10px}.dialog-actions button{font-size:10px}
@media(min-width:1700px){.workspace{grid-template-columns:265px minmax(550px,1fr) 350px;gap:15px;padding:0 22px}.asset-row-copy strong{font-size:11px}.asset-preview{height:200px}.asset-description,.detail-section li{font-size:11px}.detail-section h3,.asset-title p{font-size:11px}.asset-title h2{font-size:22px}.overview{padding:23px 30px}.topbar{height:72px}.overview h1{font-size:29px}}
@media(max-width:1200px){.workspace{grid-template-columns:200px minmax(330px,1fr) 275px;gap:8px;padding:0 10px}.topbar{padding:0 17px;gap:18px}.brand span{display:none}.overview{gap:17px;padding:17px}.overview h1{font-size:21px}.recording-status{display:none}.top-actions>a{display:none}.asset-preview{height:140px}.asset-title h2{font-size:17px}.tour-button{font-size:9px}.tour-progress>span{display:none}.toolbar-actions button{padding:4px;font-size:8px}.scene-top{left:10px;right:10px}.quality{font-size:7px}#scene-area{display:none}}
@media(max-width:950px){.tour-app{height:auto;min-height:100dvh}.workspace{grid-template-columns:210px minmax(0,1fr);min-height:600px}.canvas-panel{height:620px}.inventory{max-height:620px}.inspector{grid-column:1/-1;max-height:none}.inspector-tabs{position:static}#details-panel{display:grid;grid-template-columns:1fr 1fr}.asset-title,.asset-preview,.tags,.detail-actions,.asset-description,.detail-section,.condition-card,.unknowns{grid-column:auto}.asset-title{grid-column:1}.asset-preview{grid-column:2;grid-row:1/4;height:210px;margin-top:18px}.tags,.detail-actions{grid-column:1}.asset-description{grid-column:1/-1}.source-player{max-width:500px}.sim-form{max-width:550px}.overview-stat{min-width:75px}.footer{font-size:7px}.simulation-playback{flex-wrap:wrap}}
@media(max-width:650px){.topbar{height:58px;padding:0 12px;gap:12px}.brand{font-size:21px}.project{gap:7px}.project-icon{display:none}.project strong{font-size:10px}.project>div>span{font-size:8px}.top-actions{gap:5px}.top-actions>button{font-size:9px;padding:6px 8px}.top-actions>#open-method{display:none}.overview{padding:17px 13px 14px;gap:15px;flex-wrap:wrap}.overview-title{width:100%;margin:0}.overview h1{font-size:25px}.overview-stat{flex:1;min-width:0}.overview-stat strong{font-size:20px}.overview-stat span{font-size:9px}.workspace{display:flex;flex-direction:column;padding:0 8px;gap:10px;min-height:0}.canvas-panel{order:0;height:500px;flex:none}.inventory{order:1;max-height:330px}.inspector{order:2}.canvas-toolbar{padding:0 8px;height:43px}.view-tabs button{padding:4px 7px;font-size:9px}#scene{min-height:330px}.scene-top{left:9px;top:10px}.quality{font-size:6px}.tour-progress strong{font-size:8px}.walkthrough-bar{padding:9px;gap:5px}.tour-button{font-size:8px;padding:6px}.tour-button>span{margin:0}.walkthrough-bar>button:not(.tour-button){padding:3px}.scene-bottom{font-size:7px;left:9px}.scene-tools{right:9px}.scene-tools button{width:28px;height:27px}#mini-map{width:93px;height:70px;left:9px}.inventory-heading{padding:13px 14px 8px}.inventory .select-label,.inventory>select{display:none}.inventory-tabs{margin-top:8px}.asset-list{max-height:195px}.asset-row-copy strong{font-size:11px}.asset-row-copy small{font-size:8px}#details-panel{display:block}.asset-preview{height:220px}.asset-title h2{font-size:23px}.asset-title p,.asset-description,.detail-section li{font-size:11px}.detail-section h3{font-size:11px}.detail-actions button{font-size:11px;padding:9px}.tag{font-size:9px}.condition-card p,.unknowns{font-size:10px}.footer{padding:13px;gap:15px;align-items:flex-start}.footer>span{max-width:210px}.footer button{font-size:8px;white-space:normal;text-align:right}.inspector-tabs{height:45px}.inspector-tabs button{font-size:11px}.source-player{margin-top:8px}.small-note,.source-credit{font-size:10px}.dialog-heading h2{font-size:21px}.dialog-actions{align-items:flex-start;flex-direction:column;gap:12px}.coverage-row{grid-template-columns:110px 1fr;gap:10px}.method-stats{gap:14px}.method-stats strong{font-size:18px}.simulation-playback{gap:6px}.simulation-playback #sim-exit{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* The shared dashboard kit supplies type defaults; this workspace occupies the viewport. */
body{padding:0;max-width:none}
main.workspace{width:100%;max-width:none;margin:0}
.tour-app h1,.tour-app h2,.tour-app h3,dialog h2,dialog h3{font-family:Inter,system-ui,sans-serif;text-transform:none;letter-spacing:normal}
.tour-app h1{letter-spacing:-.8px}.asset-title h2{letter-spacing:-.5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Orbit/Pan navigation injected by scene.js: same surface, hover and pressed states as the .scene-tools buttons. */
.orbit-navigation{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;gap:1px;z-index:2;box-shadow:0 2px 8px #243d5310;border-radius:7px;overflow:hidden}.orbit-navigation button{border:0;border-radius:0;height:29px;padding:0 10px;font-size:11px;font-weight:550;color:#6c7f95;background:#ffffffee;transition:background .15s,color .15s}.orbit-navigation button:hover{background:#f2f6fc}.orbit-navigation button[aria-pressed=true]{background:#eef4ff;color:#4d77ae}.orbit-navigation button:focus-visible{outline:2px solid var(--tour-blue);outline-offset:-2px}
/* The help line never wraps under the overlays that sit 38px above the bottom edge; keyboard hints only where a keyboard is likely. */
.scene-bottom{align-items:flex-end;gap:8px}.scene-bottom>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-bottom>.building-note,#scene-performance{flex:none}
@media(max-width:950px){.scene-keys,#scene-performance{display:none}}
@media(max-width:650px){.orbit-navigation button{height:27px}.canvas-panel{height:auto}#scene{flex:none;height:min(62dvh,520px)}}
/* Walkthrough Follow camera label (scene.js), the expanded scene (body.scene-expanded, plus real fullscreen when granted), the mini-map camera cone and copy-link feedback. */
.tour-follow{font-size:10px;display:inline-flex;gap:5px;align-items:center;white-space:nowrap;color:#5c6d81}.tour-follow input{margin:0;accent-color:#5c88ca}
body.scene-expanded{overflow:hidden}body.scene-expanded .canvas-panel{position:fixed;inset:0;z-index:60;height:auto;border-radius:0;border:0;box-shadow:none}body.scene-expanded #scene{flex:1;height:auto;min-height:0}body.scene-expanded .walkthrough-bar,body.scene-expanded .chapter-strip{display:none}#scene-expand[aria-pressed=true]{background:#eef4ff;color:#4d77ae}
#map-camera{pointer-events:none}#map-cone{fill:#4d86dc33;stroke:#4d86dc;stroke-width:.5;stroke-linejoin:round}#map-target{fill:#306ddd;stroke:#fff;stroke-width:.6}#map-camera.plan #map-cone{fill:#4d86dc18;stroke-dasharray:1 1}
#camera-rotate[aria-pressed=true]{background:#e9f7ee;color:#2f8a5b}#mini-map svg{cursor:crosshair}
#viewpoints{position:absolute;right:52px;bottom:38px;z-index:4;width:220px;max-height:60%;overflow:auto;background:#fffffff2;border:1px solid #d7e0e8;border-radius:8px;padding:10px;font-size:11px;color:#3d5169;box-shadow:0 4px 14px #24405420}#viewpoints strong{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#7b8ba0;margin-bottom:6px}#viewpoint-list{list-style:none;margin:0 0 8px;padding:0}#viewpoint-list li{display:flex;gap:4px;align-items:center;margin:2px 0}#viewpoint-list li.viewpoint-empty{color:#8a9aab;font-size:10px;line-height:1.5}.viewpoint-go{flex:1;text-align:left;white-space:normal;padding:5px 7px;font-size:11px;border-color:#e4ecf5;background:#f6f9fd;color:#2f5f9e}.viewpoint-go small{color:#8a9aab;font-size:9px}.viewpoint-remove{padding:3px 7px;border-color:transparent;background:transparent;color:#8a9aab;font-size:13px}.viewpoint-remove:hover{color:#b0563a;background:#fdf0eb}#viewpoint-form{display:flex;gap:4px}#viewpoint-form input{flex:1;min-width:0;padding:5px 7px;border:1px solid var(--tour-line);border-radius:5px;font-size:11px}#viewpoint-form button{padding:5px 9px;font-size:11px}#toggle-viewpoints[aria-pressed=true]{background:#eef4ff;color:#4d77ae}
#shortcut-dialog{width:min(520px,calc(100vw - 32px))}.shortcut-table{width:100%;border-collapse:collapse;font-size:12px}.shortcut-table th{text-align:left;font-weight:550;color:#2f5f9e;padding:6px 10px 6px 0;white-space:nowrap;border-bottom:1px solid #edf1f6;width:45%}.shortcut-table td{color:#5c6d81;padding:6px 0;border-bottom:1px solid #edf1f6}
@media(max-width:650px){#viewpoints{right:44px;width:min(200px,calc(100% - 60px))}}
.machine-state{margin:0 17px 13px;padding:12px;border:1px solid #ead7b6;background:#fff9ed;border-radius:6px}.machine-state>.eyebrow{color:#a5803f}.machine-state strong{display:block;font-size:14px;font-weight:550;color:#7a5a24;margin:3px 0}.machine-state strong[data-state=alarm]{color:#b4562a}.machine-state strong[data-state=blocked]{color:#7a5f9a}.machine-state strong[data-state=idle],.machine-state strong[data-state=waiting],.machine-state strong[data-state=parked]{color:#8a8f96}.machine-state p{font-size:8px;color:#a08a63;line-height:1.6}.machine-state-strip{display:flex;height:7px;border-radius:2px;overflow:hidden;background:#f0e6d2;margin:7px 0 5px}.machine-state-strip span{display:block;height:100%;background:#8a8f96}.machine-state-strip span[data-state=running],.machine-state-strip span[data-state=cutting],.machine-state-strip span[data-state=bending],.machine-state-strip span[data-state=welding],.machine-state-strip span[data-state=measuring],.machine-state-strip span[data-state=pressing],.machine-state-strip span[data-state=extracting],.machine-state-strip span[data-state=loading]{background:#6c9bc9}.machine-state-strip span[data-state=setup]{background:#8fb3d9}.machine-state-strip span[data-state=tool_change]{background:#d9c26c}.machine-state-strip span[data-state=unloading]{background:#9fc4a8}.machine-state-strip span[data-state=alarm]{background:#d89a50}.machine-state-strip span[data-state=blocked]{background:#aa89b8}.machine-state-note{font-size:8px!important;color:#b19c7c!important}
.local-player{position:relative;width:100%;height:100%;background:#000}.local-player video{width:100%;height:100%;display:block;background:#000}.local-player img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1}
#copy-view[data-state=copied]{color:#2f8a5b;background:#e9f7ee}#copy-view[data-state=failed]{color:#b0563a;background:#fdf0eb}
@media(max-width:650px){.tour-follow{font-size:8px;gap:3px}.scene-tools button{font-size:15px}}
.asset-relations{display:flex;flex-direction:column;gap:5px}.asset-relations>span{font-size:10px;text-transform:capitalize;color:var(--tour-muted)}.asset-relations button{font-size:11px;text-align:left;white-space:normal;color:#3869a8;background:#f6f9fd;border-color:#e4ecf5}.asset-relations button+span{margin-top:6px}

.project select{border:0;background:transparent;color:#26394f;font:600 14px inherit;padding:0 22px 0 0;max-width:230px;cursor:pointer}.project #project-date{display:block;font-size:10px;margin-top:4px;color:#8493a5}

.reconstruction-dialog{width:min(1100px,94vw);max-width:1100px;padding:22px;border:1px solid #dae3ed;border-radius:15px;color:#26394f;background:#fff}.reconstruction-dialog .dialog-heading{margin-bottom:14px}.reconstruction-toolbar{display:flex;align-items:center;gap:20px;margin-bottom:14px}.reconstruction-toolbar label{font-size:12px;display:flex;align-items:center;gap:9px}.reconstruction-toolbar select{max-width:300px;padding:7px 10px;border:1px solid #dae3ed;border-radius:6px;background:#fff}.reconstruction-toolbar input{width:110px}.reconstruction-scene{height:52vh;min-height:280px;background:#f5f7fa;border:1px solid #e5ebf1;border-radius:9px;overflow:hidden}.reconstruction-scene canvas{display:block}.reconstruction-evidence{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:12px;margin:14px 0}.reconstruction-evidence p{flex-basis:100%;margin:0;font-size:13px}.reconstruction-evidence label{display:flex;align-items:center;gap:8px}.reconstruction-evidence a{color:#3067b5}.reconstruction-dialog .small-note{font-size:12px;line-height:1.6}.reconstruction-toolbar button,.reconstruction-evidence button{border:1px solid #dae3ed;background:#fff;border-radius:6px;padding:8px 12px;color:#335372;cursor:pointer}@media(max-width:700px){.reconstruction-toolbar{flex-wrap:wrap;gap:10px}.reconstruction-dialog{padding:14px}.reconstruction-scene{height:40vh}.reconstruction-toolbar select{max-width:190px}}
