:root{--panel:var(--rs-panel);--panel-strong:var(--rs-panel-strong);--panel-muted:#e9eef5;--line:var(--rs-line);--line-strong:#aeb6c3;--text:var(--rs-text);--text-muted:var(--rs-muted);--text-soft:#7b8491;--blue:var(--rs-blue);--blue-deep:var(--rs-blue-deep);--blue-soft:#dceaff;--amber:#f59e0b;--blackbar:var(--rs-dark);--blackbar-soft:var(--rs-dark-soft);--shadow:0 18px 42px #141c281c;--status-ok:var(--rs-green);--status-warn:var(--rs-amber);--status-risk:var(--rs-red);--status-unknown:#64748b;--stage-glass:#ffffffe0;--stage-shadow:var(--rs-shadow);--value-font:var(--rs-value-font);--shell-card-toggle-color:var(--text);--shell-card-meta-color:var(--text-muted);--shell-card-inner-gap:7px;--shell-card-inner-padding:9px;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;background:#eef1f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}a.toolbar-button{text-decoration:none}#app{grid-template:"topbar topbar topbar""parts stage inspector"minmax(0,1fr)/300px minmax(520px,1fr) 340px;min-height:100vh;display:grid;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{background:linear-gradient(180deg, #ffffff0a, transparent 52%), var(--blackbar);color:#f8fafc;z-index:5;border-bottom:1px solid #252c36;grid-area:topbar;align-content:center;align-items:center;gap:10px;min-width:0;min-height:58px;padding:8px 10px;display:flex}.brand{align-items:center;gap:10px;min-width:190px;display:flex}.brand__name{color:#fff;letter-spacing:0;white-space:nowrap;font-size:1rem;font-weight:850}.topbar-icon{background:0 0;border:0;border-radius:6px;place-items:center;gap:3px;width:26px;height:30px;padding:6px 4px;display:inline-grid}.topbar-icon span:not(.app-icon){background:#edf2f7;border-radius:3px;width:18px;height:2px;display:block}.mode-grid{gap:5px}.toolbar-group{flex:none;align-items:center;gap:6px;min-width:0;display:flex}.toolbar-group+.toolbar-group{border-left:1px solid #2b3440;margin-left:2px;padding-left:12px}.mode-button,.toolbar-button,.secondary-button{letter-spacing:0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:9px;min-height:38px;font-size:.82rem;font-weight:800;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.mode-button{color:#f8fafc;background:0 0;gap:5px;min-width:0;padding:0 7px;font-size:.78rem}.mode-button:hover{background:#ffffff14}.mode-button.is-active{color:#fff;background:linear-gradient(#1d75ff,#075bd8);border-color:#4f8df7;box-shadow:inset 0 1px #ffffff40,0 0 0 1px #1d75ff59,0 6px 16px #1268e84d}.toolbar-divider{background:#2b3440;width:1px;height:26px;margin:0 6px}.toolbar-button{color:#f5f7fb;white-space:nowrap;background:#0e141c;border-color:#3a4350;padding:0 8px;box-shadow:inset 0 1px #ffffff0f}.toolbar-button:hover{background:#17202b;border-color:#687280}.toolbar-button:disabled{cursor:wait;opacity:.7}.toolbar-button--primary{background:linear-gradient(#1778ff,#075bd8);border-color:#4f8df7;min-width:112px;box-shadow:inset 0 1px #ffffff3d,0 0 0 1px #1268e84d}.toolbar-button--danger{color:#ffd9d9;border-color:#5c3032}.toolbar-button--danger:hover{color:#fff;background:#291519;border-color:#a85252}.toolbar-button--component{padding-right:10px}.app-icon{flex:none;font-size:1.18rem;line-height:1}.shell-header__button--icon-only,.shell-header__toggle--icon-only{flex:0 0 38px;gap:0;width:38px;min-width:38px;padding-inline:0}.shell-header__label--hint{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-separator{background:linear-gradient(#0000,#8497ae3d 15%,#8497aec7 50%,#8497ae3d 85%,#0000);border-radius:999px;flex:0 0 1px;align-self:center;width:1px;height:28px;margin:0 2px;box-shadow:1px 0 #0000003d}.topbar-spacer{flex:auto;min-width:8px}.topbar-toggle{color:#d6dce5;white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 6px;font-size:.74rem;font-weight:750;display:inline-flex}.topbar-toggle input{width:15px;height:15px;accent-color:var(--blue)}.parts-panel,.inspector-panel{background:var(--panel);min-width:0;min-height:0;color:var(--text);z-index:2}.parts-panel{border-right:1px solid var(--line);grid-area:parts;grid-template-rows:auto auto minmax(0,1fr);display:grid}.inspector-panel{border-left:1px solid var(--line);grid-area:inspector;grid-template-rows:minmax(0,1fr);display:grid;overflow:hidden}.panel-header{gap:4px;padding:19px 16px 12px;display:grid}h1,h2,p,dl{margin:0}h1{letter-spacing:0;font-size:1.06rem;font-weight:850}.panel-header p,.section-note{color:var(--text-muted);font-size:.74rem;font-weight:650;line-height:1.35}h2{color:#111827;letter-spacing:0;font-size:.82rem;font-weight:850}.parts-search{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 42px;gap:10px;padding:8px 16px 14px;display:grid}.search-field{color:#707988;background:#fbfcfe;border:1px solid #c9d0da;border-radius:5px;grid-template-columns:24px minmax(0,1fr);align-items:center;min-height:40px;padding:0 10px;display:grid}.search-icon{width:15px;height:15px;position:relative}.search-icon:before{content:"";border:2px solid;border-radius:999px;width:9px;height:9px;position:absolute;top:1px;left:1px}.search-icon:after{content:"";background:currentColor;border-radius:2px;width:6px;height:2px;position:absolute;bottom:1px;right:1px;transform:rotate(45deg)}.search-field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:.82rem}.filter-button{background:#eef1f5;border:0;border-radius:5px;min-height:40px;position:relative}.filter-button span,.filter-button:before,.filter-button:after{content:"";background:#2f3947;border-radius:2px;height:2px;position:absolute;left:12px;right:12px}.filter-button span{top:13px}.filter-button:before{top:19px;left:15px}.filter-button:after{top:25px;right:16px}.parts-list{min-height:0;padding-bottom:14px;overflow:auto}.parts-empty{color:var(--text-muted);border:1px dashed #cbd5e1;border-radius:6px;margin:16px;padding:14px;font-size:.82rem;line-height:1.4}.parts-group{border-bottom:1px solid var(--line);padding:14px 0 6px}.parts-group:last-child{border-bottom:0}.parts-group__heading{color:var(--text-muted);letter-spacing:.01em;text-transform:uppercase;align-items:center;gap:8px;padding:0 16px 8px;font-size:.72rem;font-weight:800;display:flex}.parts-group__heading>span:last-child:not(.collapsible-card__chevron):not(.collapsible-card__dots){color:#4c5562;background:#d9dde4;border-radius:5px;justify-content:center;align-items:center;min-width:22px;height:18px;margin-left:auto;padding:0 6px;font-size:.7rem;display:inline-flex}.part-row{color:#222a35;cursor:pointer;border-left:3px solid #0000;grid-template-columns:28px 18px minmax(0,1fr) 22px;align-items:center;gap:6px;min-height:32px;padding:4px 14px 4px 16px;font-size:.81rem;font-weight:650;display:grid}.part-row.is-selected{border-left-color:var(--amber);background:#fff7e8}.part-row__visibility{color:#0f1720;place-items:center;width:24px;height:24px;display:grid;position:relative}.part-row__visibility input{opacity:0;cursor:pointer;position:absolute;inset:0}.visibility-glyph{border:2px solid;border-radius:50%/60%;width:17px;height:11px;position:relative}.visibility-glyph:before{content:"";background:currentColor;border-radius:999px;width:5px;height:5px;position:absolute;top:2px;left:4px}.part-row:has(.part-row__visibility input:not(:checked)){opacity:.45}.part-dot{background:var(--blue);border-radius:999px;width:10px;height:10px}.part-dot--inferred{background:var(--amber)}.part-row__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.part-row__menu{color:#1d2430;text-align:center;font-size:1.1rem;line-height:1}.stage{background:linear-gradient(90deg,#ffffffeb,#ffffffad),radial-gradient(circle at 55% 26%,#2868dc1f,#0000 38%),#f4f6fa;grid-area:stage;min-width:0;min-height:0;position:relative;overflow:hidden}.viewport{width:100%;height:100%}.viewport canvas{width:100%;height:100%;display:block}.drop-target{color:#1d4f9c;text-align:center;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4;background:#f7faffc2;border:2px dashed #1268e861;border-radius:8px;place-content:center;gap:6px;transition:opacity .16s,transform .16s;display:grid;position:absolute;inset:18px;transform:scale(.985)}.stage.is-dragging .drop-target{opacity:1;transform:scale(1)}.drop-target strong{font-size:1.05rem;font-weight:900}.drop-target span{color:#4f6077;font-size:.82rem;font-weight:700}.mode-hint{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f9fce0;border:1px solid #c9d0db;border-radius:5px;grid-template-rows:auto auto;grid-template-columns:36px minmax(0,1fr);gap:7px 10px;width:210px;padding:10px 12px;display:grid;position:absolute;top:24px;left:20px;box-shadow:0 12px 32px #1e293b14}.mode-hint__icon{background:#e6eaf0;border-radius:4px;grid-row:1;width:34px;height:34px;position:relative}.mode-hint__icon:before{content:"";background:#222b36;width:15px;height:2px;position:absolute;top:16px;left:10px;transform:rotate(-45deg)}.mode-hint__icon:after{content:"";border:2px solid #222b36;border-radius:999px;width:8px;height:8px;position:absolute;top:9px;left:10px}.mode-hint span{color:#455060;margin-top:0;font-size:.8rem;font-weight:650;line-height:1.15;display:block}.mode-hint strong{color:#0f1720;margin-top:1px;font-size:.92rem;font-weight:850;line-height:1.12;display:block}.mode-hint__label{white-space:nowrap;align-items:baseline;gap:5px;min-width:0;padding-top:3px;display:flex}.mode-hint__label span,.mode-hint__label strong{margin-top:0;display:inline}.mode-hint__label strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.mode-hint ul{color:#303a48;border-top:1px solid #d7dce4;grid-column:1/-1;margin:0;padding:8px 0 0 15px;font-size:.74rem;line-height:1.38}.mode-hint li+li{margin-top:3px}.stage-status{color:#f8fafc;width:224px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1d222adb;border-radius:5px;padding:14px 16px;position:absolute;bottom:34px;left:20px}.stage-status p{grid-template-columns:68px minmax(0,1fr);gap:8px;margin:0 0 8px;font-size:.78rem;line-height:1.2;display:grid}.stage-status p:last-child{margin-bottom:0}.stage-status span{color:#d6dce4;font-weight:750}.stage-status strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}#stage-joint-name{color:#ffc247}.view-cube{color:#1268e8;pointer-events:none;width:82px;height:82px;font-size:.72rem;font-weight:900;position:absolute;top:28px;right:34px}.view-cube__ball{background:radial-gradient(circle at 32% 28%,#ffffffd6,#0000 28%),radial-gradient(circle at 52% 58%,#e2e8f0eb,#cbd5e1b3 58%,#94a3b847 100%);border:1px solid #94a3b86b;border-radius:50%;position:absolute;inset:2px;overflow:hidden;box-shadow:0 8px 18px #0f172a1a,inset -10px -12px 22px #4755692e,inset 8px 8px 18px #ffffffc2}.view-cube__origin{z-index:12;background:#fff;border:1px solid #4755693d;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0f172a2e}.view-cube__axis-line{z-index:4;width:var(--orientation-axis-length,0);height:2px;opacity:var(--orientation-axis-opacity,.75);transform:translateY(-50%) rotate(var(--orientation-axis-angle,0deg));transform-origin:0;will-change:transform, width, opacity;background:currentColor;border-radius:999px;position:absolute;top:50%;left:50%}.view-cube__axis-line--x{color:#e3342f}.view-cube__axis-line--y{color:#28a65a}.view-cube__axis-line--z{color:#1268e8}.cube-face{z-index:8;color:#8b95a4;text-transform:uppercase;width:28px;height:22px;transform:translate(-50%, -50%) rotate(var(--orientation-face-angle,-18deg));transform-origin:50%;will-change:transform;background:linear-gradient(135deg,#f8fafceb,#d8dee8d1);border:1px solid #c8d0dc;border-radius:6px;place-items:center;font-size:.46rem;font-weight:800;display:grid;position:absolute;top:50%;left:50%}.axis{z-index:10;transform-origin:50%;will-change:transform, opacity;background:#ffffffe0;border:1px solid #ffffffd1;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 7px #0f172a21}.axis--z{color:#1268e8}.axis--y{color:#28a65a}.axis--x{color:#e3342f}.viewport-dock{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141a22d1;border:1px solid #0c11192e;border-radius:6px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:30px;left:50%;overflow:visible;transform:translate(-50%)}.viewport-dock button{color:#f8fafc;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:38px;height:34px;padding:0;line-height:1;transition:background .14s,box-shadow .14s,color .14s;display:inline-flex;position:relative}.viewport-dock button:focus-visible{outline-offset:2px;outline:2px solid #60a5fad1}.viewport-dock button:hover:not(:disabled){background:#ffffff1a}.viewport-dock button:disabled{cursor:not-allowed;opacity:.42}.viewport-dock button.is-active,.viewport-dock button[aria-pressed=true]{color:#fff;background:#1268e8;box-shadow:inset 0 1px #ffffff2e,0 0 0 1px #1268e82e}.viewport-dock button[data-tooltip]:before,.viewport-dock button[data-tooltip]:after{z-index:30;pointer-events:none;opacity:0;transition:opacity .14s,transform .14s;position:absolute;left:50%;transform:translate(-50%,-4px)}.viewport-dock button[data-tooltip]:before{content:"";border-top:5px solid #0a0f16f5;border-left:5px solid #0000;border-right:5px solid #0000;bottom:calc(100% + 2px)}.viewport-dock button[data-tooltip]:after{content:attr(data-tooltip);color:#f8fafc;letter-spacing:0;text-align:center;background:#0a0f16f5;border:1px solid #ffffff1f;border-radius:6px;min-width:max-content;max-width:180px;padding:7px 9px;font-size:.68rem;font-weight:750;line-height:1;bottom:calc(100% + 7px);box-shadow:0 12px 28px #0000003d}.viewport-dock button[data-tooltip]:hover:before,.viewport-dock button[data-tooltip]:hover:after,.viewport-dock button[data-tooltip]:focus-visible:before,.viewport-dock button[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.viewport-dock .app-icon{pointer-events:none}.viewport-dock__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.loading{color:#26303d;max-width:min(460px,70vw);box-shadow:var(--shadow);background:#fffffff0;border:1px solid #cdd4df;border-radius:5px;padding:12px 16px;font-size:.88rem;font-weight:850;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading[hidden]{display:none}.inspector-content{overscroll-behavior:contain;min-width:0;min-height:0;padding-bottom:10px;overflow-y:auto}.inspector-section{border-bottom:1px solid var(--line);gap:7px;padding:9px 12px;display:grid}.inspector-section--last{border-bottom:0;align-content:start}.field--stack select,.field-label-row input,.inspector-row output,.transform-grid input{color:#1c2430;background:#fbfcfe;border:1px solid #c8cfd9;border-radius:4px;width:100%;min-width:0;min-height:28px;font-size:.75rem;font-weight:650}.field--stack select{padding:0 10px}.field-label-row{color:#202936;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:8px;font-size:.76rem;font-weight:800;display:grid}.field-label-row input,.transform-grid input{padding:0 7px}input[type=range]{width:100%;accent-color:var(--blue)}.range-scale{color:#444f5f;grid-template-columns:repeat(5,1fr);margin-top:-8px;font-size:.69rem;display:grid}.range-scale span{text-align:center}.range-scale span:first-child{text-align:left}.range-scale span:last-child{text-align:right}.inspector-button-row{grid-template-columns:1fr 1fr;gap:7px;display:grid}.secondary-button{color:#25303d;background:#fbfcfe;border-color:#c6ced9;min-height:28px;padding:0 10px}.secondary-button:hover:not(:disabled){background:#eef5ff;border-color:#9fb0c7}.secondary-button.is-active:not(:disabled){color:#123a78;background:#eaf2ff;border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb47}.secondary-button:disabled{cursor:not-allowed;opacity:.62}.secondary-button--wide{width:100%;margin-top:-2px}.secondary-button--danger:not(:disabled):hover{color:#9b1c1c;background:#fff1f1;border-color:#d6a4a4}button:focus-visible,input:focus-visible,select:focus-visible,.part-row:focus-visible{outline-offset:2px;outline:2px solid #1268e8b8}.inspector-row{color:#2e3744;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:7px;font-size:.75rem;font-weight:750;display:grid}.inspector-row span{color:#252d38}.inspector-row output{text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 8px;display:inline-flex;overflow:hidden}.inspector-row:has(#selected-opacity){grid-template-columns:82px 52px minmax(0,1fr)}.switch-input{width:40px;height:22px;accent-color:var(--blue);justify-self:end}.transform-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.transform-grid>span{color:#4b5565;grid-column:1/-1;margin-top:1px;font-size:.7rem;font-weight:750}.transform-grid label{color:#7a8492;grid-template-columns:14px minmax(0,1fr);align-items:center;min-width:0;font-size:.68rem;font-weight:800;display:grid}.transform-grid input:disabled{color:#222a35;opacity:1;background:#f2f4f7}.measurement-readout-grid{grid-template-columns:94px minmax(0,1fr);align-items:center;gap:5px 8px;display:grid}.measurement-readout-grid span,.feature-field span,.feature-edit-grid>span{color:#4b5565;font-size:.7rem;font-weight:750}.measurement-readout-grid output{color:#172033;min-width:0;min-height:28px;font-family:var(--value-font);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #d4dae3;border-radius:4px;align-items:center;padding:0 8px;font-size:.72rem;display:inline-flex;overflow:hidden}.measurement-anchor-actions,.measurement-pick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-field{grid-template-columns:94px minmax(0,1fr);align-items:center;gap:8px;display:grid}.feature-field select,.feature-field input,.feature-edit-grid input{color:#172033;width:100%;min-width:0;min-height:28px;font-family:var(--value-font);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #d4dae3;border-radius:4px;padding:0 7px;font-size:.74rem}.feature-field select[multiple]{min-height:112px;padding-block:4px}.feature-field select:disabled,.feature-field input:disabled,.feature-edit-grid input:disabled{color:#222a35;opacity:1;background:#f2f4f7}.feature-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.feature-edit-grid>span{grid-column:1/-1;margin-top:1px}.feature-edit-grid label{color:#7a8492;grid-template-columns:minmax(38px,max-content) minmax(0,1fr);align-items:center;gap:4px;min-width:0;font-size:.68rem;font-weight:800;display:grid}.transform-output{color:#222a35;background:#f7f9fc;border:1px solid #d4dae3;border-radius:5px;grid-column:1/-1;min-height:30px;padding:7px 8px;font-size:.74rem;font-weight:760}.resize-toggle-row{color:#4b5565;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;margin:8px 0;font-size:.74rem;font-weight:780;display:grid}.resize-toggle-row input{width:16px;height:16px;accent-color:var(--blue)}.info-list{color:#2b3542;gap:5px;font-size:.74rem;display:grid}.info-list div{grid-template-columns:minmax(0,1fr) minmax(78px,auto);gap:8px;display:grid}.info-list dt{color:#4d5868;font-weight:650}.info-list dd{text-align:right;margin:0;font-weight:750}@media (height<=840px) and (width>=1061px){.inspector-section{gap:5px;padding:7px 10px}.inspector-section .section-note{display:none}.field--stack select,.field-label-row input,.inspector-row output,.transform-grid input{min-height:26px}.field-label-row{grid-template-columns:minmax(0,1fr) 104px;gap:6px}.range-scale{margin-top:-9px;font-size:.66rem}.secondary-button{min-height:26px}.inspector-row{grid-template-columns:76px minmax(0,1fr);gap:6px}.inspector-row:has(#selected-opacity){grid-template-columns:76px 48px minmax(0,1fr)}.transform-grid{gap:3px}.transform-grid>span{font-size:.68rem}.info-list{gap:3px;font-size:.72rem}}@media (width<=1280px){#app{grid-template-columns:280px minmax(480px,1fr) 316px}.brand{min-width:170px}.toolbar-group{gap:5px}.toolbar-group+.toolbar-group{margin-left:0;padding-left:9px}.mode-button{min-width:66px;padding:0 6px}.toolbar-button{gap:6px;padding:0 7px}.toolbar-label-wide{display:none}}@media (width<=1500px){.topbar{flex-wrap:wrap}.brand{min-width:170px}}@media (width<=1060px){body{overflow:auto}#app{grid-template:"topbar""stage"minmax(520px,65vh)"parts""inspector"/1fr;height:auto;overflow:visible}.topbar{flex-wrap:wrap;position:sticky;top:0}.brand{min-width:100%}.parts-panel,.inspector-panel{border:0}.parts-panel{min-height:420px}.inspector-panel{overflow:visible}}@media (width<=640px){:is(.mode-grid,.inspector-button-row,.parts-search,.field-label-row,.inspector-row,.inspector-row:has(#selected-opacity),.transform-grid,.measurement-readout-grid,.feature-field,.feature-edit-grid){grid-template-columns:1fr}.mode-grid{width:100%;display:grid}.toolbar-group{flex-wrap:wrap;width:100%}.toolbar-group+.toolbar-group{border-left:0;margin-left:0;padding-left:0}.mode-button,.toolbar-button{width:100%}.topbar-toggle{background:#0e141c;border:1px solid #3a4350;border-radius:5px;flex:calc(50% - 5px);min-width:0}.stage-status,.mode-hint{width:auto;left:12px;right:12px}.viewport-dock{display:none}}body,input,select,button{font-variant-numeric:tabular-nums}.topbar{gap:8px;min-height:54px;padding:6px 10px;box-shadow:inset 0 1px #ffffff0d}.brand{min-width:176px}.brand__name{font-size:.95rem}.toolbar-group{gap:5px}.toolbar-group+.toolbar-group{border-left-color:#313a46;padding-left:10px}.mode-button,.toolbar-button,.secondary-button{min-height:34px;box-shadow:none;border-radius:4px;font-size:.78rem}.mode-button.is-active,.toolbar-button--primary{border-color:#6aa2ff;box-shadow:inset 0 1px #ffffff2e}.topbar-toggle{color:#dbe4f0;min-height:34px;padding-inline:8px}.parts-panel,.inspector-panel{background:var(--panel)}.panel-header{padding-block:14px 12px}.panel-header h1,.inspector-section h2{letter-spacing:0}.parts-search{padding-block:10px}.parts-group__heading{color:#445162;letter-spacing:.035em;font-size:.7rem}.part-row{border-left:3px solid #0000;min-height:31px}.part-row:hover{background:#eef4fd}.part-row.is-selected{background:#fff5dd;border-left-color:#f59e0b}.part-row__name{font-size:.78rem;font-weight:820}.part-dot{width:9px;height:9px}.stage{background:radial-gradient(circle at 50% 38%,#ffffffc7,#0000 32%),linear-gradient(#f8fafc,#eef3f8)}.mode-hint,.stage-status,.viewport-dock{background:var(--stage-glass);box-shadow:var(--stage-shadow);border-color:#cbd4e0;border-radius:4px}.mode-hint{gap:7px 10px;max-width:232px;padding:9px 12px;top:24px;left:22px}.mode-hint strong{font-size:.86rem}.mode-hint ul{padding-top:8px;font-size:.74rem;line-height:1.38}.stage-status{max-width:244px;padding:10px 14px;bottom:28px;left:22px}.stage-status span,.mode-hint span,.range-scale,.info-list dt{color:var(--text-muted)}.stage-status strong,.info-list dd,.selected-name,.transform-output{font-family:var(--value-font);font-size:.74rem}.stage-status strong{color:var(--text)}.viewport-dock{background:#fffffff0;border-color:#cbd5e1;bottom:30px;box-shadow:0 18px 40px #0f172a21,inset 0 1px #ffffffd1}.viewport-dock button{color:#536173;width:38px;height:34px}.viewport-dock button:hover:not(:disabled){color:#172033;background:#eef5ff}.viewport-dock button.is-active,.viewport-dock button[aria-pressed=true]{color:#fff;background:#1268e8}.view-cube{opacity:.9;transform-origin:100% 0;transform:scale(.9)}.inspector-section{gap:8px;padding:10px 12px}.inspector-section .section-note{color:var(--text-muted);font-size:.72rem;line-height:1.35}.field--stack select,.field-label-row input,.inspector-row output,.transform-grid input,.resize-size-input,.scale-input,.offset-input{border-color:#c4cedc;border-radius:4px;min-height:30px}.transform-grid{gap:5px}.transform-grid>span{color:#303b4a;font-size:.7rem}.info-list{gap:4px}@media (width<=1060px){#app{grid-template-rows:auto minmax(560px,72vh) auto auto}.stage{min-height:560px}.topbar{gap:7px}}@media (width<=640px){.mode-grid,.toolbar-group{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.toolbar-group--view{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-button,.toolbar-button{min-height:34px}.mode-hint{padding:8px 10px;top:12px}.stage-status{max-width:none;bottom:12px}.parts-panel{min-height:360px}.inspector-section{padding-inline:12px}}.topbar{flex-wrap:wrap;row-gap:6px;overflow:visible}.toolbar-group--file,.toolbar-group--modes,.toolbar-group--project,.toolbar-group--view{flex:0 0 max-content;min-width:max-content}.toolbar-group--view{flex-wrap:nowrap}.toolbar-group--file .toolbar-button:not(.shell-header__button--icon-only){min-width:116px}@media (width>=1061px) and (width<=1500px){.brand,.toolbar-group--project,.toolbar-separator,.toolbar-group--modes,.toolbar-group--file{order:1}.toolbar-group--view{order:2}.toolbar-group--project{border-left:0;margin-left:0;padding-left:0}.toolbar-group--view{margin-left:0}}@media (width<=640px){.toolbar-separator{display:none}.toolbar-group,.toolbar-group--file,.toolbar-group--project,.toolbar-group--view{flex:100%;min-width:0;max-width:100%}.toolbar-group--file{grid-template-columns:1fr 1fr}.toolbar-group--view{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-group--view .toolbar-button{grid-column:1/-1}}.parts-panel,.inspector-panel,.mode-hint,.stage-status,.panel-header p,.parts-search input,.part-row,.part-row__menu,.section-note,.inspector-row,.info-list,.range-scale,.resize-toggle-row,.transform-grid label{font-weight:400}.part-row__name{font-weight:500}.part-row.is-selected .part-row__name,.stage-status strong,.info-list dd,.selected-name,.transform-output,.inspector-row output{font-weight:600}.parts-group__heading,.panel-header h1,.inspector-section h2,.mode-hint strong{font-weight:800}.parts-panel>.panel-header{flex-wrap:nowrap;align-items:baseline;gap:8px;padding-block:12px 6px;display:flex}.parts-panel>.panel-header h1{flex:none}.parts-panel>.panel-header p{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.parts-panel>.parts-search{padding-top:6px}.brand{flex-wrap:wrap;flex:500px;min-width:min(100%,500px)}.page-links{flex-wrap:wrap;flex:0 auto;align-items:center;gap:6px;min-width:0;display:inline-flex}.page-link{color:#f5f7fb;white-space:nowrap;background:#0e141c;border:1px solid #3a4350;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 10px;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffffff0f}.page-link:hover{background:#17202b;border-color:#687280}button.page-link{font:inherit;cursor:pointer}.page-icon{color:currentColor;flex:0 0 18px;width:18px;height:18px;display:inline-block;position:relative}.page-icon:before,.page-icon:after{content:"";position:absolute}.page-icon--assembly:before{border-bottom:2px solid;border-left:2px solid;width:13px;height:12px;bottom:3px;left:2px}.page-icon--assembly:after{border-top:2px solid;border-right:2px solid;width:8px;height:8px;top:3px;right:2px}.page-icon--component:before{border:2px solid;border-radius:2px;width:12px;height:9px;top:6px;left:2px}.page-icon--component:after{border-top:2px solid;border-right:2px solid;width:8px;height:8px;top:2px;left:5px;transform:skewY(-22deg)}.page-icon--workbench:before{border-bottom:2px solid;border-left:2px solid;width:14px;height:11px;bottom:3px;left:2px;transform:skew(-12deg)}.page-icon--workbench:after{border-top:2px solid;width:10px;height:7px;top:5px;left:5px;transform:rotate(-8deg)}.visibility-glyph{border:0;border-radius:0;width:18px;height:18px}.visibility-glyph:before,.visibility-glyph:after{content:none}.part-row__visibility input:not(:checked)+.visibility-glyph{color:var(--text-soft)}.part-row__visibility:focus-within .visibility-glyph{color:var(--blue)}.shell-card{border:1px solid var(--line);background:var(--panel-strong);border-radius:4px;gap:0;padding:0;overflow:hidden}.inspector-section.shell-card{border-bottom:1px solid var(--line);margin:10px 10px 0}.parts-group.collapsible-card{margin:8px 10px}.parts-group__heading.collapsible-card__toggle{color:#445162;text-transform:uppercase}.parts-group__heading .collapsible-card__title{letter-spacing:.035em;font-size:.7rem}.parts-group__body{gap:0;padding:4px 0 6px}@media (width<=640px){.brand{flex-basis:100%}.page-links{flex-basis:100%;grid-template-columns:1fr;width:100%;display:grid}.page-link{width:100%}}
