*{box-sizing:border-box} :root{font-family:"Segoe UI",Arial,sans-serif;color:#22343b;background:#152126;font-synthesis:none;--accent:#a66d32;--green:#347e70;--line:#dcded9;--muted:#687574}body{margin:0}button,input,summary{font:inherit}button{cursor:pointer;border:1px solid #cdd3cf;background:#fff;border-radius:6px;color:#283e44;font-size:13px;font-weight:600;padding:11px 12px;transition:background .15s,border-color .15s,opacity .15s}button:hover:not(:disabled){background:#e9eeea;border-color:#9eafa5}button:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #ba8649;outline-offset:3px}button:disabled{cursor:not-allowed;color:#9aaba9;background:#f0f1ed;border-color:#e2e4df}button.primary{background:#223f47;border-color:#223f47;color:#fff}button.primary:hover:not(:disabled){background:#315761}button.primary:disabled{background:#92a3a3;border-color:#92a3a3;color:#e3e9e7}button.secondary{background:#e8ede8;color:#315c50;border-color:#cad6ca}button.stop{color:#8f4a3b}button.wide{width:100%}.header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:#e7ece7;background:#152126;border-bottom:1px solid #2e3b3e}.brand{display:flex;align-items:center;gap:14px}.brand svg{width:37px;height:37px;stroke:#c69862;fill:none;stroke-width:2;stroke-linejoin:round}.brand strong{display:block;font-size:21px;letter-spacing:1.6px;font-weight:650}.brand span{font-size:12px;color:#97abae;letter-spacing:.3px}.header-right{display:flex;align-items:center;gap:13px}.local-label{font-size:12px;color:#9eb2b3;margin-right:10px}.local-label i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#92b5a2;margin-right:7px}.icon-button{width:34px;height:34px;border-color:#465453;background:#26363b;color:#d8e3dd;padding:0;font-size:20px;border-radius:6px}.icon-button:hover:not(:disabled){background:#3b4d50;color:#fff}.workspace{height:calc(100svh - 76px);display:grid;grid-template-columns:minmax(0,1fr) 365px}.viewport{position:relative;min-width:0;overflow:hidden;background:#202c30}#scene{width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}.view-toolbar{position:absolute;top:20px;left:24px;display:flex;padding:4px;background:#18262bea;border:1px solid #435151;border-radius:9px;gap:2px;box-shadow:0 4px 20px #0002}.view-toolbar button{background:transparent;border-color:transparent;color:#bdcecd;padding:9px 13px;font-size:12px}.view-toolbar button.active{background:#dde5de;color:#253c3d}.view-toolbar button:hover:not(:disabled){background:#40514f;color:#fff}.viewer-actions{position:absolute;top:24px;right:22px;display:flex;gap:7px}.model-label{position:absolute;left:28px;bottom:67px;color:#cbd8d3;pointer-events:none}.model-label>span{display:block;text-transform:uppercase;letter-spacing:1.8px;font-size:10px;color:#8ea6a5}.model-label strong{display:block;font-size:30px;font-weight:400;letter-spacing:2px;line-height:1.6}.model-label small{font-size:11px;color:#a0b6b5}.canvas-footer{position:absolute;bottom:0;left:0;right:0;height:39px;border-top:1px solid #40545375;display:flex;justify-content:space-between;align-items:center;padding:0 25px;color:#94aaa9;font-size:11px;background:#16242965}.canvas-footer b{margin:0 7px;color:#5f7977}.panel{background:#f5f4ee;display:flex;flex-direction:column;min-height:0;border-left:1px solid #53635f}.panel-heading{padding:24px 23px 15px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#8f693e}.panel-heading h1{font-size:21px;font-weight:650;margin:8px 0}.panel-heading p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.control-scroll{overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#bac7bd transparent}.control-section{padding:20px 23px;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:7px}h2{font-size:16px;font-weight:650;margin:0}.section-note{font-size:11px;line-height:1.5;color:#788581;margin:8px 0 12px}.sync{display:flex;gap:6px;font-size:11px;color:#5d746d;align-items:center;cursor:pointer}.sync input{accent-color:#467e6b;margin:0}.phase{margin:14px 0 15px}.phase-row{display:flex;align-items:center;gap:8px;margin-bottom:2px;font-size:12px}.phase-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#bc8c57}.phase:nth-child(2) .phase-dot{background:#7faaa1}.phase:nth-child(3) .phase-dot{background:#91a0b9}.phase-row strong{font-size:12px;margin-left:auto;font-variant-numeric:tabular-nums}.phase-row small{color:#84928c;font-size:10px;font-weight:400}.phase-buttons{display:flex;gap:4px}.phase-buttons button{padding:2px 8px;font-size:13px;border-radius:4px;height:24px}.phase input{margin:8px 0 0}input[type=range]{display:block;appearance:none;-webkit-appearance:none;width:100%;height:5px;background:linear-gradient(to right,#7b9b8e var(--position,0%),#d8dfd6 var(--position,0%));border-radius:4px;cursor:pointer;margin:13px 0 18px;accent-color:#456e5d}input[type=range]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border-radius:50%;background:#527768;border:3px solid #f8f8f2;box-shadow:0 0 0 1px #809f8d}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#527768;border:3px solid #f8f8f2}input[type=range]:disabled{opacity:.45;cursor:not-allowed}.pill{padding:4px 7px;border:1px solid #d6ddcf;border-radius:4px;color:#667a68;font-size:10px;font-weight:600;background:#ebeee5;white-space:nowrap}.pill.ready{color:#2d7665;border-color:#b8ceba;background:#e0ecdf}.readout{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;margin:15px 0 10px;color:#6a7d78}.readout strong{color:#273f42;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.readout small{font-size:11px;font-weight:400;color:#89988e}.position-track,.task-progress{height:4px;background:#dce2d8;border-radius:2px;overflow:hidden;margin-bottom:12px}.position-track>div,.task-progress>div{height:100%;background:#699484;transition:width .1s;max-width:100%}.button-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.turn-readout{margin-top:20px}.interlocks{display:flex;flex-direction:column;gap:7px;margin:17px 0 11px;padding:12px 13px;background:#eeeee5;border-radius:6px}.interlocks>div{display:flex;align-items:center;gap:8px;font-size:11px;color:#849089}.interlocks i{width:12px;height:12px;border:1px solid #bbc6b8;border-radius:50%;font-style:normal}.interlocks .ready{color:#386857}.interlocks .ready i{background:#749a78;border-color:#749a78}.interlocks .ready i:after{content:'✓';color:#fff;display:block;font-size:9px;line-height:10px;text-align:center}.block-reason{min-height:32px;font-size:11px;line-height:1.5;color:#9b774a;margin:9px 0 12px}.block-reason.ready{color:#4b7d60}.extras summary{list-style:none;cursor:pointer;font-size:13px;font-weight:600;display:flex;justify-content:space-between}.extras summary::-webkit-details-marker{display:none}.extras[open] summary span{transform:rotate(45deg)}.button-triple{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.door-readout{margin-top:23px}.playback{padding:17px 23px 20px;border-top:1px solid #cdd6ca;background:#eeeee6;box-shadow:0 -5px 18px #223b2e05}.task-status{font-size:11px;color:#526c61;display:flex;gap:8px;align-items:center;margin-bottom:9px;min-height:17px}.task-status>i{width:6px;height:6px;border-radius:50%;background:#719a78;flex-shrink:0}.task-status>i.busy{background:#bc9259;animation:pulse 1.4s infinite}.task-progress{height:2px;margin-bottom:12px}.playback>.button-pair{margin-top:8px}.playback .primary{padding:13px 10px}.playback .button-pair button{font-size:11px;padding:9px 5px}.loader{position:absolute;inset:0;background:#202c30;display:flex;align-items:center;justify-content:center;z-index:20;color:#dce6df;transition:opacity .4s}.loader.hidden{opacity:0;pointer-events:none}.loader-card{width:310px;max-width:85%;text-align:left}.loader h1{font-size:26px;font-weight:450;margin:12px 0}.loader p{font-size:12px;color:#91aaa7;line-height:1.5;min-height:30px}.load-track{height:3px;border-radius:2px;background:#374944;margin:25px 0}.load-track>div{height:100%;background:#b38958;width:3%;transition:width .25s}#toast{position:absolute;bottom:52px;left:50%;transform:translate(-50%,20px);max-width:min(560px,90%);padding:12px 18px;border-radius:7px;background:#edeee3f5;color:#4b4d36;font-size:12px;border:1px solid #c1b595;box-shadow:0 6px 24px #0002;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:15}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:12px;padding:32px;max-width:480px;color:#2c4245;background:#f5f4ee;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#101e24a3}dialog h2{margin:12px 0 20px;font-size:23px}dialog p{font-size:13px;line-height:1.7;color:#637a73}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:24px;padding:3px 8px}@keyframes pulse{50%{opacity:.4}}body.light .model-label{color:#29433e}body.light .model-label>span,body.light .model-label small{color:#586c63}body.light .canvas-footer{background:#edf1e7b5;color:#586c63;border-color:#c8d3c7}body.light .viewport{background:#e1e5db}@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 395px}.panel-heading,.control-section,.playback{padding-left:27px;padding-right:27px}}@media(max-width:950px){.workspace{grid-template-columns:minmax(0,1fr) 330px}.panel-heading,.control-section,.playback{padding-left:18px;padding-right:18px}.view-toolbar{left:14px;top:14px}.view-toolbar button{font-size:11px;padding:8px 9px}.viewer-actions{right:12px;top:66px}.canvas-footer{padding:0 14px;font-size:10px}.model-label{left:18px}}@media(max-width:720px){.header{height:65px;padding:0 17px}.brand strong{font-size:18px}.brand span{font-size:10px}.brand svg{width:31px;height:31px}.header-right{gap:8px}.local-label{display:none}.workspace{height:auto;display:flex;flex-direction:column}.viewport{height:64svh;min-height:390px}.panel{border-left:0;min-height:0}.control-scroll{overflow:visible}.panel-heading{padding-top:20px}.control-section{padding:20px 23px}.panel-heading,.playback{padding-left:23px;padding-right:23px}.playback{position:sticky;bottom:0;z-index:10}.view-toolbar button{font-size:11px;padding:8px 10px}.viewer-actions{top:auto;bottom:56px}.model-label{bottom:60px}.model-label>span{font-size:8px}.model-label strong{font-size:23px}.model-label small{font-size:9px}.canvas-footer{font-size:9px;gap:10px}.canvas-footer b{margin:0 3px}.loader h1{font-size:23px}#fps{display:none}button,input,summary{-webkit-tap-highlight-color:transparent}}

.view-toolbar{flex-wrap:wrap;max-width:calc(100% - 130px)}@media(max-width:950px){.view-toolbar{max-width:calc(100% - 28px)}}
