:root{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;color:#c1c7cb;background:#171a1e;font-size:12px;letter-spacing:0;font-synthesis:none;--border: #30343a;--muted: #78828c;--accent: #88cfb2;--mono: "Cascadia Code", Consolas, monospace;--panel: #202328;--canvas: #080d11}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;letter-spacing:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:hover{background:#33383e}button:disabled{opacity:.28;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button svg{pointer-events:none}svg{width:16px;height:16px;flex-shrink:0}a{color:inherit;text-decoration:none}h2,h3,p{margin:0}h2{font-size:12px;font-weight:500}h3{font-size:11px;font-weight:500}input[type=checkbox]{accent-color:var(--accent);width:13px;height:13px;cursor:pointer;margin:0}input[type=range]{accent-color:#8ccab4;cursor:pointer}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none}input,select{color:inherit}select{cursor:pointer}option{background:#25292e}[hidden]{display:none!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#424950;border-radius:3px}::-webkit-scrollbar-track{background:transparent}.app-header{height:58px;display:flex;align-items:center;gap:37px;padding:0 22px;border-bottom:1px solid #363a3f;background:#24282c}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand>svg{width:29px;height:29px;color:var(--accent);stroke-width:1.8}.brand>span{font-size:21px;font-weight:600;color:#f0f3f1}.brand>small{font:9px var(--mono);color:#7b898f;margin-left:1px;padding-top:4px}.header-path{display:flex;align-items:center;gap:12px;color:#8a959f;font-size:10px;min-width:0}.header-path>strong{font:11px var(--mono);color:#d7dcd9;white-space:nowrap}.header-path>svg{width:12px}.tag{display:inline-flex;align-items:center;white-space:nowrap;font:9px var(--mono);border:1px solid #41494b;border-radius:3px;padding:3px 5px;color:#96a39f}.real-tag{color:#97c9ad;background:#283b33;border-color:#40574c;font:9px Microsoft YaHei,sans-serif}.header-actions{display:flex;align-items:center;gap:9px;margin-left:auto;flex-shrink:0}#save-status{display:flex;align-items:center;gap:6px;font-size:10px;color:#7d9187;margin-right:15px}#save-status svg{width:13px;height:13px}.button{height:31px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid #465056;background:#2b3035;border-radius:4px;font-size:11px;white-space:nowrap}.button svg{width:14px;height:14px}.button.primary{background:#9ad5ba;color:#1e3b2d;border-color:#9ad5ba}.button.primary:hover{background:#b2e7cb}.workspace{height:calc(100dvh - 58px);min-height:650px;display:grid;grid-template-columns:204px minmax(0,1fr) 274px}.sequence-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#202328;border-right:1px solid var(--border)}.panel-heading{height:46px;display:flex;align-items:center;gap:9px;padding:0 17px;flex-shrink:0}.panel-heading h2{color:#c9d0d3}.panel-heading .tag{margin-left:auto;font-size:8px}.dataset-select{display:flex;align-items:center;gap:9px;padding:11px 15px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;background:#252a2d;width:100%}.dataset-icon{display:flex;color:#91b4a2}.dataset-select>div{min-width:0}.dataset-select strong{font:11px var(--mono);color:#e0e7e2;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dataset-select div>span{font-size:9px;color:#7f9294;display:block;margin-top:5px}.dataset-select>svg{width:12px;margin-left:auto;color:#7c8d88}.sequence-image{position:relative;height:91px;margin:13px 13px 0;overflow:hidden;background:#11171a;border-radius:3px}.sequence-image>img{height:100%;width:100%;object-fit:cover}.sequence-image>span{position:absolute;bottom:6px;left:7px;font:8px var(--mono);color:#fff;text-shadow:0 1px 3px #000;background:#111a;padding:2px 4px;border-radius:2px}.sequence-image>.tag{left:auto;right:7px;font-size:7px;border:0}.sequence-summary{display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);padding:12px 15px 14px;color:#7c8d92}.sequence-summary>span:first-child{color:#bfc8c9}.frame-list-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding:15px 15px 13px}.frame-list-heading>label{display:flex;align-items:center;gap:5px;font-size:9px;color:#8b969a}.frame-list-heading input{width:11px;height:11px}.frame-list-label{display:flex;align-items:center;justify-content:space-between;padding:0 18px 9px 35px;font:8px var(--mono);color:#667781}.frame-list{min-height:0;overflow:auto;flex:1;padding-bottom:6px}.frame-row{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:0 16px;height:34px;font:10px var(--mono);color:#a0adb6;border-left:2px solid transparent}.frame-row:hover{background:#293136}.frame-row.active{background:#2b403b;border-left-color:#8acdb3;color:#d5e6db}.frame-state{width:5px;height:5px;border:1px solid #617079;border-radius:50%;flex-shrink:0}.frame-state.reviewed,.frame-row.active .frame-state{background:#8acdb3;border-color:#8acdb3}.frame-points{margin-left:auto;color:#6d818b;font-size:9px}.frame-row.active .frame-points{color:#8aaa9e}.sequence-footer{padding:12px 15px;border-top:1px solid var(--border);font:9px var(--mono);color:#6e848c;flex-shrink:0}.sequence-footer>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.sequence-footer>div:first-child{justify-content:flex-start;margin-bottom:8px}.sequence-footer a{color:#91a397;font-size:9px}.status-dot{width:5px;height:5px;display:inline-block;background:#8ad1ae;border-radius:50%;flex-shrink:0}.main-workspace{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--canvas)}.viewport-toolbar{height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:0 14px;background:#1b2025;border-bottom:1px solid #30373c}.viewport-title{display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}.viewport-title strong{font-weight:500;color:#d8dfdf}.viewport-title>span:last-child{font:9px var(--mono);color:#73848e}.view-modes{display:flex;gap:2px;background:#11181d;border:1px solid #303b41;padding:2px;border-radius:4px}.view-modes button{display:flex;align-items:center;gap:5px;font-size:10px;height:25px;padding:0 10px;border-radius:2px;color:#7e949e}.view-modes button.active{background:#35463e;color:#b2d2c0}.view-modes svg{width:12px;height:12px}.viewport-actions{display:flex;gap:3px}.icon-button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0;color:#83959f}.icon-button svg{width:15px;height:15px}.icon-button:hover{background:#344046;color:#c5d5d6}.icon-button.active,.icon-button[aria-pressed=true]{color:#a6d6bd;background:#2d443b}.viewport{position:relative;flex:1;min-height:260px;overflow:hidden;background:var(--canvas)}.viewport>canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab}.viewport>canvas:active{cursor:grabbing}.viewport>canvas.measuring{cursor:crosshair}.scene-caption{position:absolute;top:22px;left:23px;pointer-events:none;-webkit-user-select:none;user-select:none}.scene-caption>div{display:flex;align-items:center;gap:12px;margin-bottom:8px}.scene-caption strong{font:18px var(--mono);color:#cfdcdd}.scene-caption div>span{font-size:9px;color:#6e9e87;border-left:1px solid #33463c;padding-left:11px}.scene-caption>span{font:10px var(--mono);color:#57717e}.render-stats{position:absolute;top:25px;right:20px;display:flex;align-items:center;gap:5px;font:9px var(--mono);color:#5d7480;pointer-events:none}.render-stats>span{color:#91a3aa}.render-stats .status-dot{background:#729784;width:4px;height:4px}.stats-divider{height:8px;width:1px;background:#374851;margin:0 5px}.scene-tools{position:absolute;top:62px;right:17px;display:flex;flex-direction:column;gap:7px}.scene-tools .icon-button{background:#172128d9;border:1px solid #34444d;width:30px;height:30px;color:#708b98}.scene-tools .icon-button.active{background:#293e33;color:#9ad1b4;border-color:#4b6557}.scene-bottom{position:absolute;left:23px;right:23px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none;font:9px var(--mono);color:#657d8a}.height-legend{display:flex;align-items:center;gap:7px;font-size:8px}.height-legend>div{width:67px;height:3px;background:linear-gradient(90deg,#7ea6b8,#7cdfb6,#f4db91,#f69c82)}.height-legend>div[data-mode="0"]{background:linear-gradient(90deg,#3b6175,#e9f4fd)}.height-legend>div[data-mode="2"]{background:linear-gradient(90deg,#6bcec8,#f3b880)}.height-legend>span:first-child{font-family:Microsoft YaHei,sans-serif}.viewport-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;background:#080d1159;color:#aac4bf;font-size:12px;pointer-events:none}.loader{height:16px;width:16px;border:2px solid #485b54;border-top-color:#b4dec6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.viewport-error{z-index:5;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:#151b20;color:#c7b79c;padding:25px;text-align:center}.viewport-error p{line-height:1.8}.measure-result{position:absolute;top:86px;left:23px;display:flex;align-items:center;gap:10px;background:#25372e;border:1px solid #506d57;border-radius:3px;color:#d6deaf;padding:3px 4px 3px 12px;font:12px var(--mono)}.camera-strip{display:grid;grid-template-columns:1fr 1fr;flex-shrink:0;border-top:1px solid #3b4449;background:#10161a}.camera-panel{min-width:0;border-right:1px solid #3b4449}.camera-panel:last-child{border-right:0}.sensor-heading{height:30px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;color:#b4c3c8;font:10px var(--mono);background:#1b2329}.sensor-heading>span{display:flex;align-items:center;gap:7px}.sensor-heading small{font:8px var(--mono);color:#627c8a}.sensor-heading .camera-frame{font-size:9px;color:#648694}.sensor-dot{height:4px;width:4px;border-radius:50%;background:#93b5d6}.camera-image{display:flex;align-items:center;justify-content:center;width:100%;padding:0;background:#0b0e10;aspect-ratio:3.31;overflow:hidden}.camera-image>canvas{width:100%;height:100%;object-fit:contain}.camera-image:hover{background:#0b0e10}.camera-panel .sensor-heading{height:29px}.timeline{height:125px;flex-shrink:0;background:#1e252a;border-top:1px solid #38434a;padding:0 17px}.timeline-header{display:flex;align-items:center;justify-content:space-between;height:34px;font-size:10px}.timeline-header>span,.timeline-header>div{display:flex;align-items:center;gap:7px}.timeline-header svg{width:13px;height:13px;color:#7d9caa}.timeline-header strong{font-weight:400}.timeline-header #timeline-total{font:8px var(--mono);color:#647d88;margin-left:6px}.timeline-header>div{font:8px var(--mono);gap:14px;color:#6f8995}.synced{display:flex;align-items:center;gap:5px;font:9px Microsoft YaHei,sans-serif;color:#86a794}.synced .status-dot{width:4px;height:4px}.timeline-track{height:39px;position:relative}.tick-grid{display:flex;align-items:flex-end;justify-content:space-between;height:16px}.tick-grid>span{height:6px;width:1px;background:#3b505c}.tick-grid>span.major{height:13px;background:#597485}.tick-grid>span.cached{background:#91cfb0}.timeline-track input[type=range]{position:absolute;left:0;top:15px;margin:0;appearance:none;width:100%;height:3px;background:linear-gradient(90deg,#8ec5aa var(--progress, 0%),#3c505e var(--progress, 0%))}.timeline-track input::-webkit-slider-thumb{appearance:none;width:8px;height:22px;border-radius:1px;background:#b0e0c5;border:2px solid #274539;cursor:ew-resize}.timeline-track input::-moz-range-thumb{width:7px;height:20px;background:#b0e0c5;border:1px solid #274539;border-radius:1px}.time-ticks{display:flex;justify-content:space-between;font:8px var(--mono);color:#627d8c;padding-top:8px}.playback-row{height:49px;display:flex;align-items:center;gap:15px}.playback-controls{display:flex;align-items:center;gap:2px}.playback-controls .icon-button{width:25px;height:27px}.play-button{width:34px;height:28px;border-radius:3px;display:flex;align-items:center;justify-content:center;background:#95d0b2;color:#1e3e2d;margin:0 4px}.play-button:hover{background:#b1e1c6}.play-button svg{width:13px;height:13px;fill:currentColor}.frame-counter{display:flex;align-items:center;gap:7px;font:10px var(--mono);color:#6d8793}.frame-counter input{width:48px;height:26px;border:1px solid #3d505b;background:#151f27;border-radius:3px;color:#afc5d0;text-align:center;font:10px var(--mono)}.playback-options{margin-left:auto;display:flex;align-items:center;gap:10px}#elapsed-time{font:9px var(--mono);color:#8199a6}.loop-toggle{display:flex;align-items:center;gap:4px;padding:3px;color:#718e9e;cursor:pointer}.loop-toggle input{width:10px;height:10px}.loop-toggle svg{width:13px;height:13px}.playback-options select{padding:4px;border:1px solid #3d4d57;border-radius:3px;font:10px var(--mono);width:51px;background:#26353f;color:#a4bdc7}.playback-options #playback-mode{width:60px;flex-shrink:0}.review-button{height:27px;display:flex;align-items:center;gap:5px;color:#91a99c;padding:0 8px;border:1px solid #46554b;border-radius:3px;font-size:10px;white-space:nowrap}.review-button svg{width:13px;height:13px}.review-button.active{background:#315240;color:#b4d6bc;border-color:#558361}.settings-panel{display:flex;flex-direction:column;min-height:0;overflow:auto;background:#202328;border-left:1px solid var(--border)}.settings-panel>.panel-heading{height:44px;min-height:44px}.bev-panel{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-shrink:0}.bev-panel .sensor-heading{height:29px;font-size:10px;background:#1b2127}.bev-panel .sensor-heading small{font-size:8px}.bev-panel .icon-button{width:23px;height:23px}.bev-panel canvas{width:100%;height:184px;object-fit:cover;display:block;cursor:crosshair}.settings-tabs{display:flex;align-items:center;gap:23px;padding:0 17px;height:42px;flex-shrink:0;border-bottom:1px solid #333b40;background:#24282d}.settings-tabs>button{height:42px;padding:0 2px;border-bottom:2px solid transparent;color:#85989f;font-size:11px}.settings-tabs>button.active{color:#b8d8c4;border-color:#8fbca2}.settings-tabs button>span{font:9px var(--mono);margin-left:5px;color:#799789}.object-list-heading{display:flex;justify-content:space-between;padding:12px 17px 7px;font:8px var(--mono);color:#5f7b87}.object-list-heading>span:first-child{font:9px Microsoft YaHei,sans-serif}#object-list{max-height:163px;overflow:auto}.object-row{display:flex;align-items:center;gap:9px;width:100%;height:43px;padding:0 16px;text-align:left;border-left:2px solid transparent}.object-row:hover{background:#2c353c}.object-row.active{background:#313e38;border-left-color:#b9c991}.object-icon{display:flex;align-items:center}.object-icon svg{width:17px;height:17px}.object-row>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.object-row strong{font:10px var(--mono);color:#c1cfd1}.object-row small{font:8px var(--mono);color:#637e8b}.object-row .object-distance{margin-left:auto;font:11px var(--mono);color:#9fb3b7;display:flex;align-items:baseline;gap:4px}.inspector{padding:14px 17px 19px;border-top:1px solid var(--border);margin-top:10px}.inspector-heading{display:flex;align-items:center;margin-bottom:12px;gap:3px}.inspector-heading h3{font:10px var(--mono);color:#c9d3c2;margin-right:auto}.inspector-heading .icon-button{width:23px;height:23px}.inspector-heading svg{width:13px;height:13px}.field-label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#7f959e}.field-label select{display:block;width:100%;height:29px;padding:0 7px;border:1px solid #3a484e;border-radius:3px;background:#252f36;color:#adbec4;font-size:10px}.field-heading{font-size:9px;color:#7d959d;margin:14px 0 7px}.number-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.number-grid label{display:flex;align-items:center;position:relative;min-width:0}.number-grid label>input{padding-left:18px}.number-grid label{font:8px var(--mono);color:#6b8a96}.number-grid label>input{margin-left:-6px}.number-grid label{isolation:isolate}.number-grid label:first-letter{color:#91abae}.number-grid input,.yaw-row input,.height-inputs input{width:100%;min-width:0;height:27px;border:1px solid #39484f;border-radius:3px;background:#17242c;color:#b5c9d2;font:10px var(--mono);padding:0 5px;text-align:right;outline-offset:1px}.number-grid label{display:grid;grid-template-columns:14px 1fr}.number-grid label>input{margin:0;padding:0 3px}.yaw-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#819ba4;font-size:10px}.yaw-row input{width:73px}.toggle-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8ca2aa;margin-top:16px;gap:10px}.toggle-row input{appearance:none;width:27px;height:14px;border-radius:9px;background:#42505a;position:relative;transition:background .12s}.toggle-row input:before{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#a4b0b4;transition:transform .12s}.toggle-row input:checked{background:#517966}.toggle-row input:checked:before{transform:translate(13px);background:#b9dcc9}.annotation-state{display:block;font-size:9px;color:#728e7e;margin-top:14px}.surface-preview-note{margin:6px 0 12px;color:var(--muted);font-size:11px;line-height:1.6}.settings-section{padding:18px 17px 20px;border-bottom:1px solid var(--border)}.settings-section>h3{font-size:11px;margin-bottom:16px;color:#b4c3c6}.range-label{display:flex;align-items:center;justify-content:space-between;color:#859ca5;font-size:10px;margin:20px 0 10px}.range-label output{font:10px var(--mono);color:#a6bcbf}.settings-section>input[type=range]{width:100%;height:3px;display:block;margin:0}.height-inputs{display:grid;grid-template-columns:1fr 17px 1fr;gap:7px;align-items:center}.height-inputs>span{font-size:9px;text-align:center;color:#667e8b}.settings-footer{display:flex;align-items:center;gap:7px;margin-top:auto;padding:12px 17px;min-height:37px;border-top:1px solid var(--border);font:9px var(--mono);color:#7e9088}.settings-footer #render-state{font-size:8px;margin-left:auto;color:#597682}#metadata{display:flex;flex-direction:column;gap:16px;margin:0;font-size:10px}#metadata>div{display:flex;justify-content:space-between;gap:7px}#metadata dt{color:#708b98}#metadata dd{margin:0;font:9px var(--mono);color:#b2c1c5;text-align:right;overflow-wrap:anywhere}.source-note{font-size:10px;line-height:1.8;color:#728c98;margin:12px 0}.source-link{font-size:10px;color:#a2c6b0}.empty-state{padding:22px 17px;text-align:center;color:#708b98;font-size:11px}.toast{position:fixed;left:50%;top:70px;transform:translate(-50%);z-index:30;padding:12px 18px;border:1px solid #557561;border-radius:4px;background:#293c30;color:#c4e0c8;font-size:12px;max-width:calc(100vw - 25px);box-shadow:0 8px 30px #0005;text-align:center}#camera-dialog{width:min(1200px,94vw);padding:0;border:1px solid #566365;border-radius:5px;background:#171e22;color:#cbd4d5;overflow:hidden}#camera-dialog::backdrop{background:#000b}#camera-dialog>div{height:42px;display:flex;align-items:center;padding:0 12px}#camera-dialog h3{font:12px var(--mono)}#camera-dialog .icon-button{margin-left:auto}#camera-expanded{display:block;width:100%;height:auto}.main-workspace:fullscreen{height:100dvh;width:100vw}.main-workspace:fullscreen .camera-strip{max-height:27dvh}.main-workspace:fullscreen .camera-image{max-height:calc(27dvh - 29px)}#open-sequences,#close-sequences,#open-settings,#close-settings{display:none}@media(min-width:1650px){.workspace{grid-template-columns:222px minmax(0,1fr) 302px}.bev-panel canvas{height:220px}.sequence-image{height:101px}.frame-row{height:38px}.object-row{height:46px}#object-list{max-height:182px}.inspector{padding:17px 20px}.settings-tabs{padding:0 20px}.camera-image{aspect-ratio:3.65}.camera-image>canvas{object-fit:contain}.timeline{height:133px}.timeline-header{height:38px}.playback-row{height:53px}}@media(max-width:1270px){.workspace{grid-template-columns:182px minmax(0,1fr) 248px}.header-path{gap:8px}.app-header{gap:22px;padding:0 17px}.header-path>strong{font-size:10px}#save-status{display:none}.playback-options{gap:7px}.playback-options #elapsed-time{display:none}.playback-row{gap:9px}.view-modes button{padding:0 7px}.viewport-actions{gap:1px}.viewport-actions .icon-button{width:25px}.viewport-title>span:last-child{display:none}.viewport-toolbar{padding:0 10px}.height-legend{gap:5px}.height-legend>div{width:48px}.scene-bottom{left:18px;right:18px;font-size:8px}.sensor-heading small{font-size:7px}.sensor-heading{font-size:9px;padding:0 9px}.scene-caption{left:18px}.render-stats{right:15px;font-size:8px}.settings-tabs{gap:21px;padding:0 14px}.inspector{padding:13px 14px}.bev-panel canvas{height:169px}.sequence-image{height:81px}.dataset-select{padding:11px}.dataset-select>div>span{font-size:8px}.settings-section{padding:17px 14px}.frame-list-label{padding-right:15px}.sequence-summary{padding-left:13px;padding-right:13px}}@media(max-width:1050px){.workspace{grid-template-columns:180px minmax(0,1fr)}.settings-panel{display:none;position:absolute;top:58px;right:0;bottom:0;width:286px;z-index:12;box-shadow:-12px 0 30px #0007}.settings-panel.open,#open-settings,#close-settings{display:flex}#close-settings{margin-left:1px;width:24px}.header-path>.tag{display:none}.header-path>span:first-child,.header-path>svg{display:none}.header-path strong{font-size:9px}.brand>small{display:none}.app-header{gap:25px}.bev-panel canvas{height:180px}.camera-image{aspect-ratio:3.31}.playback-options #elapsed-time{display:block;font-size:8px}.settings-panel .panel-heading{padding-right:10px}}@media(max-width:790px){.workspace{grid-template-columns:minmax(0,1fr);min-height:620px}.sequence-panel{display:none;position:absolute;top:58px;left:0;bottom:0;width:235px;z-index:12;box-shadow:12px 0 30px #0007}.sequence-panel.open,#open-sequences,#close-sequences{display:flex}#close-sequences{margin-left:auto}.header-path{display:none}.brand>small{display:block}.sequence-image{height:98px}.dataset-select{padding:13px 16px}.dataset-select div>span{font-size:9px}.sequence-summary{padding:13px 16px}.frame-row{height:38px}.viewport-title>span:last-child{display:inline;font-size:8px}.viewport-title{gap:7px}.viewport-toolbar{padding:0 11px}.viewport-actions .icon-button{width:28px}.scene-caption{top:20px}.render-stats{top:22px}.sensor-heading small{font-size:8px}.camera-strip{grid-template-columns:1fr 1fr}.camera-image{aspect-ratio:3.15}.playback-options #elapsed-time{display:block}.scene-bottom{font-size:9px}.height-legend{font-size:8px}}@media(max-width:520px){.app-header{height:52px;padding:0 12px;gap:10px}.brand{gap:7px}.brand>svg{width:25px;height:25px}.brand>span{font-size:19px}.brand>small{display:none}.header-actions{gap:7px}.header-actions .button{width:31px;height:29px;padding:0}.header-actions .button>span{display:none}.workspace{height:calc(100dvh - 52px);min-height:620px}.sequence-panel,.settings-panel{top:52px}.viewport-toolbar{height:41px;padding:0 7px;gap:6px}.viewport-title{gap:4px;font-size:10px}.viewport-title>.status-dot,.viewport-title>span:last-child{display:none}.view-modes{gap:0;padding:2px}.view-modes button{padding:0 6px;height:24px;font-size:9px;gap:4px}.view-modes svg{width:11px;height:11px}.viewport-actions #reset-view,.viewport-actions #snapshot{display:none}.viewport-actions .icon-button{width:25px}.viewport-actions .icon-button svg{width:14px;height:14px}.viewport-title .icon-button{width:27px}.viewport{min-height:265px}.scene-caption{top:16px;left:15px}.scene-caption strong{font-size:16px}.scene-caption div>span{font-size:8px;padding-left:8px}.scene-caption>span{font-size:9px}.scene-caption>div{gap:8px;margin-bottom:5px}.render-stats{inset:auto auto 42px 15px;font-size:8px}.scene-tools{right:12px;top:16px;gap:7px}.scene-tools .icon-button{width:29px;height:29px}.scene-bottom{left:15px;right:15px;bottom:16px;font-size:8px;gap:8px}.scene-bottom #coordinate-label{font-size:7px}.height-legend{gap:5px;font-size:7px}.height-legend>div{width:39px}.height-legend>span:first-child{display:none}.scene-bottom #scene-range{display:none}.camera-strip{grid-template-columns:1fr}.camera-panel:last-child{display:none}.camera-image{aspect-ratio:3.31}.camera-panel .sensor-heading{height:26px;padding:0 12px}.sensor-heading{font-size:9px}.sensor-heading small{font-size:8px}.timeline{height:148px;padding:0 12px}.timeline-header{height:32px}.timeline-header>div{gap:8px}.timeline-header .synced{font-size:8px}.timeline-header>span{gap:6px;font-size:9px}.timeline-header #timeline-total{font-size:7px;margin:0}.timeline-track{height:35px}.time-ticks{font-size:7px}.playback-row{height:78px;gap:4px 8px;flex-wrap:wrap;align-content:center}.playback-controls{gap:0}.playback-controls .icon-button{width:22px;height:28px}.play-button{width:31px;height:29px;margin:0 3px}.frame-counter{gap:4px;font-size:9px}.frame-counter input{width:35px;height:26px;font-size:9px}.playback-options{gap:5px;margin-left:auto;width:100%;justify-content:flex-end}.playback-options #elapsed-time,.playback-options .loop-toggle{display:none}.playback-options select{width:45px;font-size:9px;padding:4px 1px}.review-button{width:27px;padding:0;justify-content:center}.review-button>span{display:none}.playback-row .icon-button svg{width:13px;height:13px}.settings-panel{width:280px}.frame-list-heading label{font-size:10px}.frame-list-heading input{width:13px;height:13px}.sequence-summary{font-size:10px}.frame-row{height:40px;font-size:11px}.frame-points{font-size:10px}.bev-panel canvas{height:175px}.inspector{padding:15px 17px}.field-label select,.number-grid input,.yaw-row input,.height-inputs input{font-size:12px}.number-grid{gap:6px}.measure-result{top:75px;left:15px}.settings-section{padding:19px 17px}.settings-tabs button{font-size:12px}.toggle-row{font-size:11px}.settings-footer{font-size:9px}#camera-dialog{width:96vw}#camera-dialog>div{height:38px}#camera-dialog h3{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.loader{animation:none}}.annotation-toolbar{position:absolute;z-index:3;top:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #3e454b;border-radius:6px;background:#23282df5;box-shadow:0 4px 16px #0004}.annotation-toolbar .icon-button{width:29px;height:29px}.annotation-toolbar select{width:72px;background:transparent;border:0;font-size:11px;padding:4px}.tool-divider{width:1px;height:18px;margin:0 3px;background:var(--border)}.annotation-toolbar .active,.camera-editor-toolbar .active{color:var(--accent);background:#34453e}.annotation-toolbar #delete-annotation:not(:disabled):hover{color:#f29bba}.viewport .scene-caption{top:66px}.viewport .render-stats{top:68px}.viewport .scene-tools{top:100px}.camera-window{position:absolute;z-index:4;display:flex;flex-direction:column;overflow:hidden;border:1px solid #535d65;border-radius:6px;background:#171b1f;box-shadow:0 12px 32px #0006,0 1px 3px #0005}.camera-window-heading{display:flex;align-items:center;gap:8px;flex-shrink:0;height:36px;padding:0 5px 0 10px;border-bottom:1px solid var(--border);background:#2b3035;cursor:grab;touch-action:none}.camera-window-heading>svg{width:13px;color:var(--muted)}.camera-window-heading strong{white-space:nowrap;font-size:11px;font-weight:500}.camera-window .icon-button{width:26px;height:26px;flex-shrink:0}.camera-window .icon-button svg{width:14px;height:14px}.camera-tabs{display:flex;margin-left:auto;gap:2px}.camera-tabs select,.target-camera-modes select{width:112px;height:25px;padding:2px 6px;color:#c1d8d0;background:#263832;border:1px solid #48534e;border-radius:3px}.camera-tabs button{font:10px var(--mono);padding:5px 7px;border-radius:3px}.camera-tabs .active{background:#3c464b;color:#b6e3cd}.camera-editor-toolbar{display:flex;align-items:center;gap:2px;height:34px;padding:2px 5px;border-bottom:1px solid #30343a;flex-shrink:0}.camera-tool-space{flex:1}#camera-zoom{min-width:33px;text-align:center;font:10px var(--mono);color:var(--muted)}.camera-editor{flex:1;min-height:0;touch-action:none;overflow:hidden;background:#101417}.camera-editor canvas{position:static}.camera-window-footer{display:flex;align-items:center;gap:12px;height:24px;padding-left:10px;flex-shrink:0;border-top:1px solid #30343a;color:var(--muted);font:9px var(--mono)}#camera-selection{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#resize-camera{margin-left:auto;cursor:nwse-resize;touch-action:none}.camera-empty{position:absolute;inset:70px 0 24px;display:grid;place-items:center;background:#101417;color:var(--muted);font-size:11px}#image-inspector{border-top:1px solid var(--border)}#image-inspector .field-label{margin-bottom:13px}#image-inspector .number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#image-vertices{color:var(--muted);font-size:11px;padding-bottom:12px}.object-dimension{font:9px var(--mono);color:var(--muted)}.object-list-heading{align-items:center}.object-list-heading>span:nth-child(2){margin-left:auto;margin-right:6px}.object-list-heading #restore-box{width:22px;height:22px}.viewport[aria-busy=true] .annotation-toolbar,.viewport[aria-busy=true] .camera-editor-toolbar{opacity:.5;pointer-events:none}@media(max-width:790px){.annotation-toolbar{top:12px}.viewport .scene-caption{top:58px}.viewport .render-stats{top:auto;bottom:44px}.viewport .scene-tools{top:66px}}@media(max-width:520px){.viewport .scene-tools{flex-direction:row;top:60px}.annotation-toolbar{gap:1px;padding:3px}.annotation-toolbar .icon-button{width:25px;height:27px}.annotation-toolbar select{width:56px;font-size:10px}.tool-divider{margin:0 2px}.camera-window-heading{gap:5px}.camera-tabs button{padding:5px}.camera-window-heading>svg{display:none}}@media(min-width:1051px){.workspace{grid-template-columns:204px minmax(0,1fr) 330px}}@media(min-width:1650px){.workspace{grid-template-columns:222px minmax(0,1fr) 350px}}@media(min-width:1051px)and (max-width:1270px){.workspace{grid-template-columns:182px minmax(0,1fr) 310px}}.settings-panel>.panel-heading{flex-shrink:0;background:#202328}.settings-panel{overflow:hidden}#settings-content{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable}#target-detail{border-bottom:1px solid var(--border)}.target-identity{display:flex;align-items:center;gap:9px;min-height:52px;padding:9px 14px 5px}#target-color{width:3px;height:28px;flex-shrink:0;border-radius:1px}.target-identity>div:nth-child(2){min-width:0}#target-category{color:#d7dedd;font-size:13px;font-weight:500;overflow-wrap:anywhere}#selected-title{color:#8d9da6;font:10px var(--mono);margin-top:4px;overflow-wrap:anywhere}#target-actions{display:flex;margin-left:auto;flex-shrink:0}#target-actions .icon-button{width:24px;height:25px}.target-metrics{display:grid;grid-template-columns:1fr 1fr;padding:7px 16px 11px;gap:16px}.target-metrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:5px}.target-metrics>div>span{font-size:10px;color:#89989f}.target-metrics strong{font:15px var(--mono);color:#c9ded3}.target-metrics small{font-size:10px;color:#89989f}.target-section-heading{display:flex;align-items:center;height:32px;gap:5px;padding:0 10px 0 14px;border-top:1px solid #313940;background:#242a2e}.target-section-heading h3{font-size:10px;color:#a5b4b8;white-space:nowrap}.target-section-heading .icon-button{width:23px;height:24px}.target-view-modes,.target-camera-modes{display:flex;align-items:center;margin-left:auto;gap:1px}.target-view-modes button,.target-camera-modes button{padding:3px 6px;min-width:29px;height:23px;font-size:10px;border-radius:2px}.target-camera-modes button{font-family:var(--mono)}.target-view-modes button.active,.target-camera-modes button.active{background:#39483f;color:#c1e1cc}#target-cloud{position:relative;width:100%;height:176px;background:#10171b;overflow:hidden;touch-action:none}#target-cloud>canvas{display:block;width:100%;height:100%;cursor:grab}#target-cloud>canvas:active{cursor:grabbing}#target-cloud-empty{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:#b6a47b;font-size:11px;pointer-events:none}.target-cloud-footer{display:flex;justify-content:space-between;gap:8px;padding:0 14px;height:22px;align-items:center;color:#718890;font:9px var(--mono);background:#10171b}#target-dimensions{color:#9aa9ab;text-align:right}.target-camera-content{position:relative;height:116px;background:#10171b}#target-camera{display:block;width:100%;height:100%}#target-camera-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;color:#86969c}#inspector{margin:0;padding:12px 14px;border-top:0}#inspector .inspector-heading{margin-bottom:8px}#inspector .field-heading{margin-top:10px}#inspector .field-label{gap:5px}#inspector .toggle-row{padding:9px 0}#inspector .annotation-state{margin-top:3px}#image-inspector{margin-top:0}.object-list-heading,#scene-overview{border-top:1px solid var(--border)}#scene-overview>canvas{height:150px}#builtin{min-height:64px}#builtin[aria-expanded=true]{background:#303c37;box-shadow:inset 3px 0 #88cfb2}#builtin[aria-expanded=true]>svg{transform:rotate(180deg)}#dataset-menu{position:fixed;inset:auto;width:372px;max-width:calc(100% - 16px);margin:0;padding:0 0 5px;overflow-y:auto;color:#c1c7cb;background:#20272a;border:1px solid #4b5657;border-radius:6px;box-shadow:0 12px 30px #0008}.dataset-menu-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid #394246}.dataset-menu-heading strong{font-size:12px;font-weight:500;color:#dbe3df}.dataset-menu-heading>span{font-size:10px;color:#93a19f}.dataset-option{display:grid;grid-template-columns:76px minmax(0,1fr) 16px;align-items:center;gap:11px;width:100%;min-height:98px;padding:13px 13px 13px 11px;text-align:left;border-left:3px solid transparent;border-bottom:1px solid #343d40}.dataset-option:last-child{border-bottom:0}.dataset-option[aria-checked=true]{background:#293b34;border-left-color:#88cfb2}.dataset-option:hover,.dataset-option:focus-visible{background:#35413f}.dataset-option:focus-visible{outline-offset:-3px}.dataset-thumbnail{width:76px;height:54px;object-fit:cover;border-radius:3px;background:#151b20}.dataset-option-info{grid-column:2;min-width:0;display:flex;flex-direction:column;gap:6px}.dataset-option-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dataset-option-heading strong{font-size:12px;font-weight:500;color:#ecf0ed;overflow-wrap:anywhere}.dataset-option-frames{margin-left:auto;color:#c4d8cf;font-size:11px;white-space:nowrap}.dataset-option-sensor{color:#a4b1b5;font-size:10px;overflow-wrap:anywhere}.dataset-option-stats{color:#b5c7c0;font-size:10px;overflow-wrap:anywhere}.dataset-option-check{grid-column:3;visibility:hidden;color:#99ddb9;width:16px;height:16px}.dataset-option[aria-checked=true] .dataset-option-check{visibility:visible}.ply-import{width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:#dae1e4;background:#151d22;border:1px solid #3d484e;border-radius:6px;padding:20px}.ply-import::backdrop{background:#0009}.ply-import h2{font-size:16px;margin:0 0 20px}.ply-import label{display:grid;gap:6px;font-size:12px;margin-bottom:12px;min-width:0}.ply-import input,.ply-import select{width:100%;box-sizing:border-box;min-width:0;color:inherit;background:#0d1418;border:1px solid #3d484e;padding:8px}.ply-import fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0}.ply-import legend{font-size:12px;margin-bottom:10px}.ply-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}#chunk-stats{font-size:11px;color:#b6c9cf;padding:8px 0;line-height:1.7;overflow-wrap:anywhere}
