:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--header-height:54px;--workspace-gap:10px;--asset-panel-width:252px;--control-panel-width:336px;--window:#f5f5f5;--panel:#fff;--surface:#fff;--surface-subtle:#f5f5f5;--border:#e1e1e1;--border-strong:#d5d5d5;--text:#27282b;--text-secondary:#7f7f7f;--text-tertiary:#7f7f7f;--accent:#27282b;--accent-hover:#21232e;--brand-orange:#f98e27;--control-hover:#f2f2f2;--control-selected-bg:#27282b;--control-selected-fg:#fff;--slider-fill:#4a4a4a;--slider-rest:#d9d9d9;--toggle-border:#ccc;--toggle-fill:#e1e1e1;--warning:#d39d28;--danger:#d14e4e;--success:#35a76f;--panel-radius:6px;--panel-shadow:0 2px 10px #27282b0f;background:var(--window);color:var(--text);font-family:MiSans,Montserrat,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box;letter-spacing:0}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--window)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:2px;outline:2px solid #f98e27b8}.app-shell{background:var(--window);width:100vw;height:100vh;position:relative;overflow:hidden}.app-header{z-index:20;height:var(--header-height);border-bottom:1px solid var(--border);background:var(--panel);color:var(--text);align-items:center;gap:16px;padding:0 12px 0 18px;display:flex;position:absolute;inset:0 0 auto}.hiwonder-brand{width:calc(var(--asset-panel-width) - 8px);align-items:center;min-width:0;display:flex}.hiwonder-brand picture{align-items:center;display:flex}.hiwonder-logo{object-fit:contain;width:auto;height:18px;display:block}.header-product{align-items:center;gap:14px;min-width:0;margin-left:auto;display:flex}h1,h2,h3{margin:0;font-weight:700}.header-product h1{color:var(--text);font-size:17px;line-height:1}.header-command-group{border:1px solid var(--border);background:var(--surface);border-radius:4px;align-items:center;gap:0;padding:0;display:flex;position:absolute;left:50%;transform:translate(-50%)}.header-command-divider{background:var(--border-strong);width:1px;height:18px;margin:0}.header-status{align-items:center;gap:9px;min-width:24px;margin-left:0;display:flex}.icon-button{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:0 0 30px;place-items:center;padding:0;transition:background .13s,color .13s;display:inline-grid}.icon-button:hover,.icon-button.is-active{background:var(--control-hover);color:var(--text);box-shadow:none}.icon-button.is-active{color:var(--brand-orange)}.icon-button:active{background:var(--surface-subtle)}.backend-status{border:2px solid var(--panel);background:var(--danger);text-indent:-999px;border-radius:50%;flex:0 0 10px;width:10px;height:10px;display:block;overflow:hidden;box-shadow:0 0 0 3px #cf4a4a1f}.backend-status.is-ready,.backend-status.is-connected{background:var(--success);box-shadow:0 0 0 3px #35a76f1f}.backend-status.is-moving{background:var(--warning);box-shadow:0 0 0 3px #d5a22d24}.backend-status.is-error{background:var(--danger);box-shadow:0 0 0 3px #cf4a4a1f}.backend-status-text{color:#9c711a;text-overflow:ellipsis;white-space:nowrap;max-width:min(360px,34vw);font-size:12px;font-weight:650;line-height:1.2;overflow:hidden}.backend-status-text:empty{display:none}.viewer-shell{inset:var(--header-height) 0 0;background:var(--window);min-width:0;min-height:0;position:absolute;overflow:hidden}.scene-mode-switcher{top:16px;left:calc(var(--asset-panel-width) + (100% - var(--asset-panel-width) - var(--control-panel-width)) / 2);z-index:11;border:1px solid var(--border);background:var(--surface);width:220px;height:32px;box-shadow:var(--panel-shadow);border-radius:4px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:absolute;overflow:hidden;transform:translate(-50%)}.scene-mode-switcher button{min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:680;display:inline-flex}.scene-mode-switcher button+button{border-left:1px solid var(--border)}.scene-mode-switcher button:hover{background:var(--control-hover);color:var(--text)}.scene-mode-switcher button.is-active{border-bottom-color:var(--brand-orange);background:var(--control-hover);color:var(--brand-orange)}.viewer-shell.is-collision-blocked:after{inset:0 var(--control-panel-width) 0 var(--asset-panel-width);z-index:3;content:"";pointer-events:none;border:2px solid #d14e4eb8;position:absolute}#viewer{inset:0 var(--control-panel-width) 0 var(--asset-panel-width);background:var(--window);min-width:0;min-height:0;position:absolute;overflow:hidden}#viewer canvas{width:100%;height:100%;display:block}#viewer canvas.has-desktop-drag-target{cursor:grab}#viewer canvas.has-ik-gizmo-target{cursor:pointer}.viewer-shell.is-desktop-dragging #viewer canvas,.viewer-shell.is-ik-gizmo-dragging #viewer canvas{cursor:grabbing}.camera-preview{aspect-ratio:16/10;background:0 0;width:100%;position:relative;overflow:hidden}.panel-camera-preview{border:1px solid var(--border);background:#1c1d1f;border-radius:6px;margin-top:10px}.virtual-camera-canvas{z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.camera-preview.is-real-camera .virtual-camera-canvas{visibility:hidden}.real-camera-video{z-index:1;object-fit:cover;background:#27282b;width:100%;height:100%;display:none;position:absolute;inset:0}.camera-preview.is-real-camera .real-camera-video{display:block}.camera-crosshair{z-index:2;pointer-events:none;background:#ffffff7a;display:block;position:absolute}.camera-crosshair-horizontal{width:20px;height:1px;top:50%;left:calc(50% - 10px)}.camera-crosshair-vertical{width:1px;height:20px;top:calc(50% - 10px);left:50%}.object-toolbar{z-index:8;width:var(--asset-panel-width);border-right:1px solid var(--border);background:var(--panel);min-height:0;color:var(--text);flex-direction:column;padding:0;display:flex;position:absolute;inset:0 auto 0 0;overflow:hidden;transform:translateZ(0)}.dock-header,.panel-header{flex:0 0 62px;justify-content:space-between;align-items:center;gap:12px;height:62px;padding:0 18px;display:flex}.dock-header{border-bottom:1px solid var(--border);color:var(--text-secondary)}.dock-header h2,.panel-header h2{margin:0;font-size:16px;line-height:1.1}.dock-header h2{color:var(--text)}.object-tool-list{scrollbar-width:none;flex-direction:column;flex:auto;gap:10px;min-height:0;padding:12px;display:flex;overflow:auto}.object-tool-list::-webkit-scrollbar{display:none}.control-scroll::-webkit-scrollbar{display:none}.object-tool-section{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface);flex:none;margin:0;display:block;overflow:hidden}#objectToolbar .object-tool-section[hidden]{display:none}.object-toolbar-top{justify-content:space-between;align-items:center;display:flex}.object-tool-summary{height:52px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0 16px;list-style:none;transition:background .12s}.object-tool-summary:hover{background:var(--surface-subtle)}.object-tool-summary::-webkit-details-marker{display:none}.object-tool-summary-main{align-items:center;gap:9px;min-width:0;font-size:12px;font-weight:680;display:flex}.object-tool-summary-icon{width:22px;height:22px;color:var(--text-secondary);background:0 0;border:0;border-radius:0;flex:0 0 22px;place-items:center;display:inline-grid}.object-tool-chevron{color:var(--text-tertiary);flex:none;transition:transform .22s}.object-tool-section.is-open .object-tool-chevron{transform:rotate(180deg)}.object-tool-collapse{visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.33,1,.68,1),visibility 0s linear .28s;display:grid}.object-tool-section.is-open>.object-tool-collapse{visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .28s cubic-bezier(.33,1,.68,1),visibility}.object-tool-content{opacity:0;pointer-events:none;border-top:1px solid #0000;gap:14px;min-height:0;padding:0 16px;transition:opacity .18s;display:grid;overflow:hidden}.object-tool-content>:first-child{margin-top:14px}.object-tool-content>:last-child{margin-bottom:16px}.object-tool-section.is-open .object-tool-content{border-top-color:var(--border);background:var(--surface-subtle);opacity:1;pointer-events:auto;transition:opacity .22s 60ms}.object-tool-field{gap:8px;display:grid}.field-label-row{min-height:16px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:650;display:flex}.field-hint{color:var(--text-tertiary);font-size:9px;font-weight:650}.field-hint output{color:var(--text-secondary);font-variant-numeric:tabular-nums}.object-tool-row{gap:6px;display:flex}.scene-prop-grid{border:1px solid var(--border-strong);background:var(--surface);border-radius:3px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.scene-prop-button{border:0;border-bottom:1px solid var(--border);min-width:0;height:48px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:0 8px;font-size:10px;font-weight:680;transition:background .12s,color .12s;display:grid}.scene-prop-button:nth-child(odd){border-right:1px solid var(--border)}.scene-prop-button:nth-last-child(-n+2){border-bottom:0}.scene-prop-button:hover{background:var(--control-hover);color:var(--text)}.scene-prop-button:hover .scene-prop-icon{color:var(--brand-orange)}.scene-prop-button.is-selected,.scene-prop-button.is-selected:hover{background:var(--control-selected-bg);color:var(--control-selected-fg)}.scene-prop-button.is-selected .scene-prop-icon{color:var(--control-selected-fg)}.scene-size-input{grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:7px;display:grid}.scene-size-input button{border:1px solid var(--border-strong);background:var(--surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:3px;place-items:center;padding:0;display:grid}.scene-size-input button:hover:not(:disabled){background:var(--control-hover);color:var(--text)}.scene-size-input button:disabled{cursor:default;opacity:.38}.scene-object-inspector{z-index:18;box-sizing:border-box;color:#fff;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#26282bf0;border:1px solid #ffffff47;border-radius:5px;gap:7px;width:196px;padding:8px 9px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 8px 24px #181a1c47}.scene-object-inspector[hidden]{display:none}.scene-object-inspector:after{content:"";background:#26282bf0;width:12px;height:12px;position:absolute;bottom:-6px;left:calc(50% - 6px);transform:rotate(45deg)}.scene-object-parameter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.scene-object-parameter-row label{color:#ffffffb8;gap:5px;min-width:0;font-size:9px;font-weight:650;display:grid}.scene-object-number-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;display:grid}.scene-object-number-input input{box-sizing:border-box;color:#fff;width:100%;min-width:0;height:26px;font:inherit;font-variant-numeric:tabular-nums;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:3px;padding:0 6px;font-size:9px}.scene-object-number-input small{color:#ffffff94;align-self:center;font-size:8px;font-weight:620}.scene-object-inspector input[type=number]{appearance:textfield}.scene-object-inspector input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.scene-object-inspector input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.object-tool-button,.tag-id-button,.color-swatch,.waste-card-button,.object-add-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:0;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.object-tool-button{place-items:center;width:40px;height:36px;display:inline-grid}.object-tool-button:hover,.tag-id-button:hover{border-color:var(--border-strong);background:var(--control-hover);color:var(--text)}.object-tool-button.is-selected,.tag-id-button.is-selected{border-color:var(--control-selected-bg);background:var(--control-selected-bg);color:var(--control-selected-fg);box-shadow:0 1px 2px #27282b1f}.color-swatch-row{flex-wrap:wrap}.color-swatch{background:var(--swatch-color);border-color:#27282b24;width:28px;height:28px}.color-swatch:hover{border-color:#27282b73}.color-swatch.is-selected{border-color:var(--panel);box-shadow:0 0 0 2px var(--surface-subtle), 0 0 0 4px #7f7f7f}.tag-id-row{grid-template-columns:repeat(3,1fr);display:grid}.tag-id-button{height:32px;font-size:11px;font-weight:750}.waste-card-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.waste-card-button{aspect-ratio:1;background-color:var(--surface);background-image:var(--waste-card-thumb);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:4px;width:100%;min-width:0;position:relative;overflow:hidden}.waste-card-button:hover{border-color:#a0a0a0}.waste-card-button.is-selected{border-color:#7f7f7f;box-shadow:0 0 0 2px #7f7f7f33}.object-add-button{border-color:var(--control-selected-bg);background:var(--control-selected-bg);width:100%;height:34px;color:var(--control-selected-fg);border-radius:3px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:720;display:inline-flex}.object-add-button:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.object-add-button:active{background:var(--accent-hover)}.object-add-button:disabled,.object-tool-button:disabled,.tag-id-button:disabled,.waste-card-button:disabled,.color-swatch:disabled,.object-size-control input:disabled{cursor:default;opacity:.46}.object-size-control{gap:7px;display:grid}.control-panel{top:var(--header-height);z-index:12;width:var(--control-panel-width);border-left:1px solid var(--border);background:var(--panel);min-height:0;color:var(--text);flex-direction:column;display:flex;position:absolute;bottom:0;right:0;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);background:var(--surface)}.panel-header h2{color:var(--text)}.panel-tabs{border:0;border-bottom:1px solid var(--border);background:var(--surface);border-radius:0;flex:0 0 44px;grid-template-columns:repeat(3,minmax(0,1fr));height:44px;margin:0;padding:0;display:grid}.panel-tabs.panel-tabs--two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-tab{min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:680;display:inline-flex}.panel-tab+.panel-tab{border-left:1px solid var(--border)}.panel-tab:hover{color:var(--text)}.panel-tab.is-active{border-bottom-color:var(--brand-orange);background:var(--control-hover);color:var(--brand-orange);box-shadow:none}.control-scroll{scrollbar-width:none;flex:auto;min-height:0;overflow:auto}.drive-section{padding:18px 16px}.drive-section .section-heading span{color:var(--text-tertiary);font-size:9px;font-weight:650}.drive-speed-control{gap:7px;margin-top:12px;display:grid}.drive-speed-control input{width:100%}.drive-pad{aspect-ratio:1;border:1px solid var(--border-strong);background:var(--surface-subtle);width:min(248px,100%);box-shadow:inset 0 0 0 10px var(--surface);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;margin:16px auto 12px;position:relative;overflow:hidden}.drive-pad:before,.drive-pad:after{border:1px solid var(--border);content:"";pointer-events:none;border-radius:50%;position:absolute;inset:18%}.drive-pad:after{border-width:1px 0;border-radius:0;inset:49% 12%}.drive-pad-grid{border:1px dashed var(--border-strong);background:linear-gradient(to right, transparent calc(50% - .5px), var(--border) 50%, transparent calc(50% + .5px)), linear-gradient(to bottom, transparent calc(50% - .5px), var(--border) 50%, transparent calc(50% + .5px));pointer-events:none;border-radius:50%;position:absolute;inset:12%}.drive-thumb{z-index:1;background:var(--control-selected-bg);pointer-events:none;border:1px solid #fff;border-radius:50%;width:52px;height:52px;transition:transform 80ms ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 10px #27282b3d}.drive-mode-toggle{min-height:34px}.drive-readout{border-top:1px solid var(--border);color:var(--text-tertiary);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:10px;font-size:9px;display:grid}.drive-readout span{gap:3px;display:grid}.drive-readout strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.control-view[hidden]{display:none}.slider-section,.kinematics-section,.panel-utility{padding:18px 16px}.section-heading,.utility-heading{justify-content:space-between;align-items:center;gap:12px;min-height:24px;display:flex}.section-heading h3,.utility-heading h3{color:var(--text);margin:0;font-size:14px;line-height:1.1}.slider-stack{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);border-radius:0;margin-top:12px;display:grid;overflow:hidden}.slider-row{border-bottom:1px solid var(--border);grid-template-columns:42px minmax(0,1fr) 62px;align-items:center;gap:10px;min-height:56px;padding:0 4px;display:grid}.slider-row:last-child{border-bottom:0}.slider-name{color:var(--text);font-size:11px;font-weight:750}.slider-value{color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right;font-size:11px}input[type=range]{--slider-progress:50%;--slider-thumb-color:#fff;--slider-track-fill:var(--slider-fill);--slider-track-rest:var(--slider-rest);appearance:none;cursor:pointer;background:0 0;border-radius:0;width:100%;height:24px;margin:0}.object-toolbar input[type=range]{--slider-track-rest:var(--slider-rest)}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--slider-track-fill) 0%, var(--slider-track-fill) var(--slider-progress), var(--slider-track-rest) var(--slider-progress), var(--slider-track-rest) 100%);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--slider-thumb-color);border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 0 0 1px #27282b3d}input[type=range]::-moz-range-track{background:var(--slider-track-rest);border-radius:2px;height:4px}input[type=range]::-moz-range-progress{background:var(--slider-track-fill);border-radius:2px;height:4px}input[type=range]::-moz-range-thumb{background:var(--slider-thumb-color);border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 1px #27282b3d}.kinematics-section{padding-bottom:12px}.ik-status{min-height:15px;color:var(--text-tertiary);text-align:right;font-size:10px;font-weight:700;line-height:1.2}.ik-status.is-error{color:var(--danger)}.ik-status.is-ready{color:#278557}.ik-form{gap:14px;margin-top:12px;display:grid}.ik-group{gap:8px;display:grid}.ik-group-title{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:10px;font-weight:680;display:flex}.ik-group-title span{color:var(--text-tertiary);font-size:9px}.ik-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.ik-grid label{gap:5px;min-width:0;display:grid}.ik-grid label>span{color:var(--text-secondary);font-size:10px;font-weight:680}.ik-grid input{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;height:34px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:3px;outline:none;padding:0 8px;font-size:12px}.ik-grid input:hover{border-color:var(--text-secondary)}.ik-grid input:focus{border-color:var(--text-secondary);box-shadow:0 0 0 3px #5050501a}.toggle-row{min-height:32px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:11px;font-weight:650;display:flex}.toggle-control{flex:0 0 40px;width:40px;height:24px;display:inline-flex;position:relative}.toggle-control input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{border:1px solid var(--toggle-border);background:var(--toggle-fill);border-radius:12px;width:40px;height:24px;transition:background .13s,border-color .13s;display:block;position:relative}.toggle-track span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .13s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #27282b2e}.toggle-control input:checked+.toggle-track{border-color:var(--brand-orange);background:var(--brand-orange)}.toggle-control input:checked+.toggle-track span{transform:translate(16px)}.toggle-control input:focus-visible+.toggle-track{outline-offset:2px;outline:2px solid #f98e2757}.ik-actions{display:grid}.action-button{border:1px solid var(--border-strong);background:var(--surface);height:36px;color:var(--text);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:11px;font-weight:720;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.action-button:hover{border-color:var(--border-strong);background:var(--control-hover)}.action-button.is-primary{border-color:var(--control-selected-bg);background:var(--control-selected-bg);color:var(--control-selected-fg)}.action-button.is-primary:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.ik-result{min-height:18px;color:var(--text-secondary);overflow-wrap:anywhere;font-size:10px;line-height:1.4}.panel-utility{border:0;border-top:1px solid var(--border);background:var(--surface);border-radius:0;margin:0}.utility-heading{color:#7f7f7f;min-height:28px}.camera-source-status{min-height:14px;color:var(--text-tertiary);margin-top:2px;font-size:10px;font-weight:650;display:block}.camera-source-status[data-state=ready]{color:#278557}.camera-source-status[data-state=pending]{color:#a07820}.camera-source-status[data-state=error]{color:var(--danger)}.operation-key-hints{left:var(--operation-hints-left,50%);right:var(--operation-hints-right,auto);bottom:var(--operation-hints-bottom,16px);z-index:10;width:var(--operation-hints-width,max-content);max-width:var(--operation-hints-max-width,min(720px, calc(100vw - 660px)));align-items:center;justify-content:var(--operation-hints-justify,center);pointer-events:none;opacity:0;transform:translate(var(--operation-hints-translate-x,-50%), 6px);flex-wrap:wrap;gap:6px;transition:opacity .14s,transform .14s;display:flex;position:absolute}.operation-key-hints.has-visible-hints{opacity:1;transform:translate(var(--operation-hints-translate-x,-50%), 0)}.operation-key-hint{border:1px solid var(--border-strong);min-width:66px;height:30px;color:var(--text);-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fffffff5;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:10px;font-weight:680;display:none;box-shadow:0 6px 16px #27282b1a}.operation-key-hint.is-visible{display:inline-flex}.operation-key-label{color:var(--text);font-size:10px;font-weight:780}.operation-key-action{color:var(--text-secondary);font-size:10px;font-weight:620}.ik-reachability-hint{z-index:11;color:#b63838;opacity:0;pointer-events:none;white-space:nowrap;background:#fff7f7;border:1px solid #d7a7a7;border-radius:4px;max-width:170px;padding:7px 10px;font-size:11px;font-weight:700;line-height:1.25;transition:opacity .12s,transform .12s;position:absolute;transform:translateY(4px);box-shadow:0 8px 22px #42202024}.ik-reachability-hint:before{content:"";background:#fff7f7;border-bottom:1px solid #d7a7a7;border-left:1px solid #d7a7a7;width:8px;height:8px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)rotate(45deg)}.ik-reachability-hint.is-visible{opacity:1;transform:translateY(0)}.scene-servo-load-dot{z-index:13;background:var(--danger);pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #cf4a4a38}.scene-servo-load-dot[hidden],.scene-servo-load-leader[hidden],.scene-servo-load-warning[hidden]{display:none}.scene-servo-load-leader{z-index:12;pointer-events:none;transform-origin:0;background:#cf4a4ad1;height:1px;position:absolute}.scene-servo-load-warning{z-index:13;color:#fff;pointer-events:none;background:#c84545;border:1px solid #b73e3e;border-radius:4px;max-width:220px;padding:7px 9px;font-size:10px;font-weight:680;line-height:1.35;position:absolute;transform:translateY(-50%);box-shadow:0 10px 24px #46171738}.scene-servo-load-warning-label{background:#ffffff2e;border-radius:3px;margin-right:5px;padding:1px 4px;font-weight:780;display:inline-block}.scene-servo-load-warning:before{content:"";background:#c84545;border-bottom:1px solid #b73e3e;border-left:1px solid #b73e3e;width:8px;height:8px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)rotate(45deg)}.loading-panel{z-index:100;background:var(--window);color:var(--text);opacity:1;place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0}.loading-panel.is-hidden{opacity:0;pointer-events:none}.loading-loader-inner{flex-direction:column;align-items:center;gap:28px;width:min(240px,100% - 48px);display:flex}.loading-loader-logo{object-fit:contain;width:176px;height:auto;display:block}.loading-progress-track{background:var(--border);width:160px;height:1px;position:relative;overflow:hidden}.loading-progress-track span{background:var(--brand-orange);transition:width .14s linear;display:block;position:absolute;inset:0 auto 0 0}#loadingProgress{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}@media (width<=1120px){:root{--asset-panel-width:236px;--control-panel-width:316px}.slider-section,.kinematics-section,.panel-utility{padding-left:13px;padding-right:13px}}@media (width<=860px){:root{--asset-panel-width:238px;--control-panel-width:320px}.hiwonder-brand{min-width:92px}.hiwonder-logo{height:16px}#viewer{inset:0}.scene-mode-switcher{top:10px;left:50%;transform:translate(-50%)}.viewer-shell.is-collision-blocked:after{inset:0}.object-toolbar{width:var(--asset-panel-width);border:1px solid var(--border);border-radius:var(--panel-radius);max-height:42vh;box-shadow:var(--panel-shadow);top:52px;bottom:auto;left:10px}.dock-header{flex-basis:56px;height:56px}.control-panel{border:1px solid var(--border);border-radius:var(--panel-radius);width:auto;max-height:46vh;box-shadow:var(--panel-shadow);inset:auto 10px 10px}.panel-header{flex-basis:52px;height:52px}}@media (width<=560px){:root{--header-height:48px;--asset-panel-width:216px}.app-header{gap:8px;padding-left:12px;padding-right:9px}.hiwonder-brand{width:120px;min-width:120px}.hiwonder-logo{height:14px}.header-product h1{font-size:16px}.header-product{gap:7px}.header-command-group{gap:0;left:52%}.header-command-divider{margin:0}.icon-button{flex-basis:30px;width:30px;height:30px}.backend-status-text{display:none}.object-toolbar{max-height:34vh;top:50px;left:8px}.control-panel{max-height:48vh;bottom:8px;left:8px;right:8px}.panel-tabs{flex-basis:40px;height:40px}.panel-tab{font-size:10px}.slider-section,.kinematics-section,.panel-utility{padding:14px 12px}.slider-row{min-height:48px}.operation-key-hint{min-width:58px;height:28px;padding:0 7px}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--window:#21232e;--panel:#27282b;--surface:#27282b;--surface-subtle:#303137;--border:#ffffff1f;--border-strong:#ffffff38;--text:#fff;--text-secondary:#b8b8b8;--text-tertiary:#7f7f7f;--accent:#f79a2a;--accent-hover:#f79a2a;--brand-orange:#f79a2a;--control-hover:#303137;--control-selected-bg:#f79a2a;--control-selected-fg:#27282b;--slider-fill:#b8b8b8;--slider-rest:#484950;--toggle-border:#5a5b62;--toggle-fill:#3b3c42;--panel-shadow:0 2px 12px #00000047}.object-tool-content{background:#21232e}.color-swatch.is-selected{box-shadow:0 0 0 2px var(--surface-subtle), 0 0 0 4px var(--brand-orange)}.panel-tab.is-active,.ik-grid input{background:#21232e}.operation-key-hint{background:color-mix(in srgb, var(--panel) 96%, transparent);box-shadow:0 6px 16px #0000003d}.ik-reachability-hint,.ik-reachability-hint:before{color:#fff;background:#46282b;border-color:#8f4548}.loading-panel{box-shadow:0 12px 28px #00000047}}.app-shell[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--window:#f5f5f5;--panel:#fff;--surface:#fff;--surface-subtle:#f5f5f5;--border:#e1e1e1;--border-strong:#d5d5d5;--text:#27282b;--text-secondary:#7f7f7f;--text-tertiary:#7f7f7f;--accent:#27282b;--accent-hover:#21232e;--brand-orange:#f98e27;--control-hover:#f2f2f2;--control-selected-bg:#27282b;--control-selected-fg:#fff;--slider-fill:#4a4a4a;--slider-rest:#d9d9d9;--toggle-border:#ccc;--toggle-fill:#e1e1e1;--panel-shadow:0 2px 10px #27282b0f}.app-shell[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--window:#21232e;--panel:#27282b;--surface:#27282b;--surface-subtle:#303137;--border:#ffffff1f;--border-strong:#ffffff38;--text:#fff;--text-secondary:#b8b8b8;--text-tertiary:#7f7f7f;--accent:#f79a2a;--accent-hover:#f79a2a;--brand-orange:#f79a2a;--control-hover:#303137;--control-selected-bg:#f79a2a;--control-selected-fg:#27282b;--slider-fill:#b8b8b8;--slider-rest:#484950;--toggle-border:#5a5b62;--toggle-fill:#3b3c42;--panel-shadow:0 2px 12px #00000047}.app-shell[data-theme=light] .object-tool-content{background:var(--surface-subtle)}.app-shell[data-theme=light] .panel-tab.is-active{background:var(--control-hover)}.app-shell[data-theme=light] .ik-grid input{background:var(--surface)}.app-shell[data-theme=light] .operation-key-hint{background:color-mix(in srgb, var(--panel) 96%, transparent);box-shadow:0 6px 16px #27282b1a}.app-shell[data-theme=light] .ik-reachability-hint,.app-shell[data-theme=light] .ik-reachability-hint:before{color:#b63838;background:#fff7f7;border-color:#d7a7a7}.app-shell[data-theme=light] .loading-panel{box-shadow:0 12px 28px #27282b1f}.app-shell[data-theme=dark] .object-tool-content{background:#21232e}.app-shell[data-theme=dark] .color-swatch.is-selected{box-shadow:0 0 0 2px var(--surface-subtle), 0 0 0 4px var(--brand-orange)}.app-shell[data-theme=dark] .panel-tab.is-active,.app-shell[data-theme=dark] .ik-grid input{background:#21232e}.app-shell[data-theme=dark] .operation-key-hint{background:color-mix(in srgb, var(--panel) 96%, transparent);box-shadow:0 6px 16px #0000003d}.app-shell[data-theme=dark] .ik-reachability-hint,.app-shell[data-theme=dark] .ik-reachability-hint:before{color:#fff;background:#46282b;border-color:#8f4548}.app-shell[data-theme=dark] .loading-panel{box-shadow:0 12px 28px #00000047}
