@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Barlow:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{font-family:Barlow,system-ui,sans-serif;color:#e8ebf0;background:#0b0d11;font-synthesis:none}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input,select{font:inherit}button,a,input,select{outline-color:#e85d04}button{color:inherit}.editor-shell{min-height:100vh;--background: #0b0d11;--foreground: #e8ebf0;--card: #11151b;--muted: #181e27;--muted-fg: #8e9aab;--border: rgba(220, 225, 234, .14);--accent: #e85d04;--accent-fg: #fff;--selection: #4da3ff;--parent-snap: #65d68a;--child-snap: #ff5ca8;--danger: #f07167;--success: #65c58a;background:var(--background);color:var(--foreground)}.editor-shell[data-theme=light]{--background: #eff2f6;--foreground: #101318;--card: #fff;--muted: #e5e9ef;--muted-fg: #637086;--border: rgba(11, 13, 17, .15);--danger: #a6342b;--success: #217643}.topbar{position:sticky;top:0;z-index:30;display:flex;min-height:54px;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:0 18px;background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:8px;color:var(--foreground);text-decoration:none;font:700 15px/1 Barlow Condensed,sans-serif;letter-spacing:.14em}.brand-mark{display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--accent);color:var(--accent);font-size:11px}.brand-x{display:inline-block;transform:rotate(28deg)}.tools-link{border-left:1px solid var(--border);padding-left:16px;color:var(--muted-fg);text-decoration:none;font-size:13px}.preferences{display:flex;margin-left:auto;border:1px solid var(--border);padding:2px}.preferences button{min-width:32px;min-height:29px;border:0;background:transparent;padding:0 7px;color:var(--muted-fg);cursor:pointer}.preferences button.active{background:var(--accent);color:var(--accent-fg)}.workflow-shell{padding:18px}.workflow-title{display:flex;max-width:1760px;align-items:end;justify-content:space-between;gap:20px;margin:0 auto 16px}.workflow-title>div>span{color:var(--accent);font:500 10px/1 JetBrains Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.workflow-title h1{margin:6px 0 4px;font:700 clamp(28px,3vw,40px)/1 "Barlow Condensed",sans-serif}.workflow-title p{margin:0;color:var(--muted-fg);font-size:14px}.workflow-title strong{border:1px solid var(--border);padding:8px 10px;color:var(--muted-fg);font:500 10px/1 JetBrains Mono,monospace}.error-banner{display:flex;max-width:1760px;align-items:center;justify-content:space-between;margin:0 auto 10px;border:1px solid color-mix(in srgb,var(--danger) 60%,var(--border));background:color-mix(in srgb,var(--danger) 9%,var(--card));padding:9px 12px;color:var(--danger);font-size:13px}.error-banner button{border:0;background:transparent;color:inherit;cursor:pointer}.project-bar{display:flex;max-width:1760px;flex-wrap:wrap;align-items:end;gap:12px;margin:0 auto 10px;border:1px solid var(--border);background:var(--card);padding:10px}.history-actions,.draft-save-actions,.draft-open-actions{display:flex;min-width:0;align-items:end;gap:5px}.history-actions{flex:0 0 auto;border-right:1px solid var(--border);padding-right:12px}.project-bar label{display:grid;min-width:0;gap:4px}.project-bar label>span{color:var(--muted-fg);font-size:9px}.project-bar input,.project-bar select{min-width:0;width:100%;height:34px;border:1px solid var(--border);background:var(--muted);padding:0 9px;color:var(--foreground);font-size:11px}.draft-save-actions{flex:1 1 290px}.draft-save-actions label{flex:1 1 auto}.draft-open-actions{flex:1.15 1 410px}.draft-open-actions label{flex:1 1 auto}.project-bar button{min-height:34px;border:1px solid var(--border);background:var(--muted);padding:0 11px;cursor:pointer;color:var(--foreground);font-size:10px;font-weight:600;white-space:nowrap}.history-actions button{display:flex;min-width:70px;align-items:center;justify-content:center;gap:6px}.history-actions button span{color:var(--accent);font-size:17px;line-height:1}.history-actions button.new-project-action{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.draft-save-actions>button{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.project-bar button.delete-draft{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));background:transparent;color:var(--danger)}.draft-status{flex:0 1 170px;align-self:center;color:var(--muted-fg);font-size:9px;line-height:1.3}.draft-status.error{color:var(--danger)}.preset-dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#040609b8;padding:18px}.preset-dialog{width:min(640px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--border);background:var(--card);color:var(--foreground)}.preset-dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:14px 16px}.preset-dialog-heading>div{display:grid;gap:4px}.preset-dialog-heading span{color:var(--accent);font:8px/1 JetBrains Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.preset-dialog-heading h2{margin:0;font:600 21px/1 Barlow Condensed,sans-serif}.preset-dialog-heading>button{width:30px;height:30px;border:0;background:transparent;color:var(--muted-fg);cursor:pointer;font-size:20px}.preset-dialog form{display:grid;gap:12px;padding:16px}.preset-dialog label{display:grid;gap:5px;color:var(--muted-fg);font-size:9px}.preset-dialog input{min-width:0;width:100%;min-height:36px;border:1px solid var(--border);background:var(--muted);padding:0 8px;color:var(--foreground)}.catalog-import{display:grid;gap:8px;border-bottom:1px solid var(--border);padding-bottom:12px}.catalog-import-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.catalog-import-heading>div{display:grid;gap:3px}.catalog-import-heading b{color:var(--foreground);font-size:10px}.catalog-import-heading small{color:var(--muted-fg);font-size:8px;line-height:1.35}.catalog-import-heading>span{color:var(--accent);font:8px/1 JetBrains Mono,monospace;letter-spacing:.08em}.catalog-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.catalog-search-row input{border-right:0}.catalog-search-row button{min-width:92px;border:1px solid var(--accent);background:var(--accent);padding:0 12px;color:var(--accent-fg);cursor:pointer;font-size:9px;font-weight:600}.catalog-search-status{color:var(--muted-fg);font-size:8px}.catalog-search-status.error{color:var(--danger)}.catalog-results{max-height:176px;overflow:auto;border:1px solid var(--border);scrollbar-gutter:stable}.catalog-results>button{display:grid;width:100%;min-height:58px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--border);background:var(--muted);padding:8px 10px;color:var(--foreground);cursor:pointer;text-align:left}.catalog-results>button:last-child{border-bottom:0}.catalog-results>button:hover{background:color-mix(in srgb,var(--accent) 7%,var(--muted))}.catalog-results>button>span{display:grid;min-width:0;gap:4px}.catalog-results>button>span:last-child{justify-items:end}.catalog-results b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.catalog-results small{color:var(--muted-fg);font:8px/1.3 JetBrains Mono,monospace}.catalog-results i{color:var(--accent);font: 8px/1 JetBrains Mono,monospace}.catalog-reference{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid color-mix(in srgb,var(--success) 48%,var(--border));background:color-mix(in srgb,var(--success) 6%,var(--muted));padding:8px 10px;color:var(--success);text-decoration:none;font-size:9px}.catalog-reference i{font-style:normal}.catalog-imported-help{color:var(--muted-fg);font-size:8px}.preset-name-field input{font-size:13px}.preset-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preset-form-error{color:var(--danger);font-size:9px}.preset-dialog-actions{display:grid;grid-template-columns:1fr auto auto;gap:7px;border-top:1px solid var(--border);padding-top:12px}.preset-dialog-actions button{min-height:34px;border:1px solid var(--border);background:var(--muted);padding:0 12px;cursor:pointer;font-size:10px}.preset-dialog-actions .save-preset{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.preset-dialog-actions .delete-preset{justify-self:start;border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:transparent;color:var(--danger)}.workflow-grid{display:grid;max-width:1760px;min-height:calc(100vh - 150px);grid-template-columns:300px minmax(480px,1fr) 370px;gap:10px;margin:auto}.parts-column{display:grid;min-width:0;align-content:start;gap:10px}.actuator-library{min-width:0;border:1px solid var(--border);background:var(--card);padding:11px}.actuator-library-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.actuator-library-heading>div{display:flex;min-width:0;align-items:center;gap:7px}.actuator-library-heading span{overflow:hidden;font:600 14px/1 Barlow Condensed,sans-serif;text-overflow:ellipsis;white-space:nowrap}.actuator-library-heading b{display:grid;min-width:20px;height:20px;place-items:center;border:1px solid var(--border);color:var(--muted-fg);font:8px/1 JetBrains Mono,monospace}.actuator-library-heading button{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--muted));color:var(--accent);cursor:pointer;font-size:17px}.actuator-library>p{margin:7px 0 0;color:var(--muted-fg);font-size:8px;line-height:1.4}.actuator-library-empty{display:block;margin-top:9px;border:1px dashed var(--border);padding:9px;color:var(--muted-fg);font-size:8px}.actuator-profile-list{display:grid;max-height:148px;gap:5px;margin-top:9px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.actuator-profile-list>button{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--border);background:var(--muted);padding:7px 8px;color:var(--foreground);cursor:pointer;text-align:left}.actuator-profile-list>button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.actuator-profile-list>button>span{display:grid;min-width:0;gap:3px}.actuator-profile-list>button>span:last-child{max-width:105px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px}.actuator-profile-list b,.actuator-profile-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actuator-profile-list b{font-size:9px}.actuator-profile-list small{color:var(--muted-fg);font:7px/1.25 JetBrains Mono,monospace}.actuator-profile-list i{color:var(--accent);font-style:normal;font-size:9px}.step-card{min-width:0;border:1px solid var(--border);background:var(--card);padding:16px}.step-heading{display:grid;grid-template-columns:34px 1fr;gap:10px;margin-bottom:16px}.step-heading>span{display:grid;width:32px;height:32px;place-items:center;background:var(--accent);color:var(--accent-fg);font:600 12px/1 JetBrains Mono,monospace}.step-heading h2{margin:0 0 4px;font:600 20px/1 Barlow Condensed,sans-serif}.step-heading p{margin:0;color:var(--muted-fg);font-size:11px;line-height:1.4}.file-picker{display:grid;min-height:82px;place-items:center;align-content:center;gap:6px;border:1px dashed var(--muted-fg);background:var(--muted);cursor:pointer}.file-picker:hover{border-color:var(--accent)}.file-picker input{position:absolute;width:1px;height:1px;opacity:0}.file-picker span{font-size:13px;font-weight:600}.file-picker small{color:var(--muted-fg);font:9px/1 JetBrains Mono,monospace}.unit-field,.simple-field{display:grid;grid-template-columns:1fr 100px;align-items:center;gap:8px;margin:10px 0;color:var(--muted-fg);font-size:11px}.unit-field select,.simple-field select,.joint-pair select{min-width:0;width:100%;min-height:36px;border:1px solid var(--border);background:var(--muted);padding:0 8px;color:var(--foreground)}.parts-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px}.parts-summary strong{font:600 14px/1 Barlow Condensed,sans-serif}.parts-summary span{color:var(--muted-fg);font-size:9px}.part-search{width:100%;min-height:38px;margin:10px 0 7px;border:1px solid var(--border);background:var(--muted);padding:0 10px;color:var(--foreground);font-size:12px}.part-list{max-height:min(52vh,560px);min-height:180px;overflow:auto;border:1px solid var(--border);scrollbar-gutter:stable;overscroll-behavior:contain}.part-row-shell{display:grid;grid-template-columns:minmax(0,1fr) 36px 40px;border-bottom:1px solid var(--border)}.part-row-shell:last-child{border-bottom:0}.part-row{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;padding:7px 9px;cursor:pointer;text-align:left}.part-row>span{display:flex;min-width:0;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.part-row i{width:6px;height:6px;flex:0 0 auto;border:1px solid var(--muted-fg);border-radius:50%}.part-row small{flex:0 0 auto;color:var(--muted-fg);font:9px/1 JetBrains Mono,monospace}.part-row.selected{background:color-mix(in srgb,var(--selection) 12%,var(--muted));box-shadow:inset 2px 0 var(--selection)}.part-row.selected i{border-color:var(--selection);background:var(--selection)}.part-actuator,.part-visibility{display:grid;min-height:44px;place-items:center;border:0;border-left:1px solid var(--border);background:transparent;color:var(--muted-fg);cursor:pointer}.part-actuator{width:36px}.part-visibility{width:40px}.part-actuator:hover,.part-visibility:hover,.part-visibility[aria-pressed=true]{color:var(--foreground)}.part-actuator[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.part-actuator svg,.part-visibility svg{width:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.part-row-shell.hidden .part-row>span,.part-row-shell.hidden .part-row small{color:color-mix(in srgb,var(--muted-fg) 62%,transparent)}.quiet-action{width:100%;min-height:34px;margin-top:8px;border:1px solid var(--border);background:transparent;color:var(--muted-fg);cursor:pointer;font-size:11px}.part-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin-top:8px}.part-actions .quiet-action{margin-top:0}.part-actions .delete-part-action{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));color:var(--danger)}.empty-state{margin:0;padding:18px 12px;color:var(--muted-fg);font-size:11px;line-height:1.45}.empty-state.compact{padding:10px 0}.link-physics{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.selected-part-heading{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:8px}.selected-part-heading>button{width:28px;height:28px;border:1px solid var(--border);background:transparent;color:var(--muted-fg);cursor:pointer;font-size:15px}.selected-part-heading>button:hover{border-color:var(--selection);color:var(--foreground)}.physics-field{display:grid;grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:8px;margin-top:10px;color:var(--muted-fg);font-size:10px}.physics-field select,.physics-field input{min-width:0;width:100%;min-height:34px;border:1px solid var(--border);background:var(--muted);padding:0 8px;color:var(--foreground)}.actuator-profile-fieldset{margin-top:10px;border:1px solid var(--border);background:var(--muted);padding:8px}.actuator-profile-field{margin-top:0}.actuator-profile-field select{background:var(--card)}.actuator-profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}.actuator-profile-actions button{min-height:30px;border:1px solid var(--border);background:var(--card);padding:0 7px;color:var(--foreground);cursor:pointer;font-size:8px}.actuator-profile-actions button:first-child{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.number-with-unit{display:grid;grid-template-columns:1fr 30px;align-items:center}.number-with-unit input{border-right:0}.number-with-unit b{display:grid;min-height:34px;place-items:center;border:1px solid var(--border);background:var(--card);color:var(--muted-fg);font:9px/1 JetBrains Mono,monospace}.physics-help{display:block;margin-top:6px;color:var(--muted-fg);font-size:8px;line-height:1.4}.assigned-actuator-summary{display:grid;gap:4px;margin-top:7px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--card));padding:8px}.assigned-actuator-summary span{color:var(--muted-fg);font-size:8px;text-transform:uppercase}.assigned-actuator-summary b{font-size:10px}.assigned-actuator-summary small{overflow:hidden;color:var(--success);font:7px/1.4 JetBrains Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.assigned-actuator-summary a{overflow:hidden;color:var(--selection);font-size:8px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.physics-refit{width:100%;min-height:30px;margin-top:7px;border:1px solid var(--border);background:transparent;color:var(--foreground);cursor:pointer;font-size:9px}.advanced-inertial{margin-top:10px;border:1px solid var(--border);background:var(--muted)}.advanced-inertial summary{padding:9px;cursor:pointer;color:var(--foreground);font-size:10px}.advanced-inertial[open] summary{border-bottom:1px solid var(--border)}.advanced-group{display:grid;gap:7px;padding:9px}.advanced-group+.advanced-group{border-top:1px solid var(--border)}.advanced-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.advanced-heading b{font-size:9px}.advanced-heading button{min-height:24px;border:0;background:transparent;color:var(--selection);cursor:pointer;font-size:8px}.vector-fields,.tensor-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.vector-fields label,.tensor-fields label{display:grid;gap:3px;color:var(--muted-fg);font:8px/1 JetBrains Mono,monospace}.vector-fields input,.tensor-fields input{min-width:0;width:100%;min-height:29px;border:1px solid var(--border);background:var(--card);padding:0 5px;color:var(--foreground);font:8px/1 JetBrains Mono,monospace}.viewer-stage{position:relative;min-width:0;min-height:620px;overflow:hidden;border:1px solid var(--border);background:#0b0d11}.robot-viewport{position:absolute;inset:0}.robot-viewport>.robot-canvas{display:block;width:100%;height:100%;cursor:grab}.robot-viewport>.robot-canvas:active{cursor:grabbing}.robot-viewport.snap-enabled>.robot-canvas,.robot-viewport.snap-enabled>.robot-canvas:active{cursor:crosshair}.robot-viewport.pan-enabled>.robot-canvas{cursor:move}.robot-viewport.pan-enabled>.robot-canvas:active{cursor:grabbing}.view-cube-canvas{position:absolute;top:10px;right:10px;z-index:4;width:112px;height:112px;border:1px solid rgba(220,225,234,.18);background:radial-gradient(circle,rgba(30,38,50,.72),rgba(9,12,16,.38) 68%,transparent 70%);cursor:grab;touch-action:none}.view-cube-canvas:active{cursor:grabbing}.viewer-empty{position:absolute;inset:0;display:grid;place-content:center;place-items:center;gap:7px;pointer-events:none;color:#697587}.viewer-empty b{font:600 22px/1 Barlow Condensed,sans-serif;letter-spacing:.12em}.viewer-empty span{font-size:11px}.viewer-hint{position:absolute;top:12px;left:12px;display:flex;max-width:310px;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.14);background:#090c10db;padding:9px 11px;pointer-events:none}.viewer-hint.active.parent{border-color:var(--parent-snap);box-shadow:0 0 0 1px color-mix(in srgb,var(--parent-snap) 18%,transparent),0 8px 30px #00000047}.viewer-hint.active.child{border-color:var(--child-snap);box-shadow:0 0 0 1px color-mix(in srgb,var(--child-snap) 18%,transparent),0 8px 30px #00000047}.viewer-hint>span{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border:1px solid var(--selection);color:var(--selection);font:600 10px/1 JetBrains Mono,monospace}.viewer-hint.parent>span{border-color:var(--parent-snap);color:var(--parent-snap)}.viewer-hint.child>span{border-color:var(--child-snap);color:var(--child-snap)}.viewer-hint>span.done{background:#65c58a;border-color:#65c58a;color:#07130c}.viewer-hint p{display:grid;gap:2px;margin:0}.viewer-hint b{color:#e8ebf0;font-size:11px}.viewer-hint small{color:#98a4b4;font-size:9px}.viewer-tools{position:absolute;top:12px;right:132px;z-index:2;display:flex;align-items:center;gap:3px;border:1px solid rgba(255,255,255,.14);background:#090c10e6;padding:4px}.viewer-tools button{display:flex;min-height:32px;align-items:center;gap:5px;border:0;background:transparent;padding:0 9px;color:#98a4b4;cursor:pointer;font-size:13px}.viewer-tools button span{font-size:10px}.viewer-tools button.active{background:color-mix(in srgb,var(--selection) 18%,#111720);color:#d8ecff}.viewer-tools strong{max-width:190px;padding:0 7px;color:#98a4b4;font-size:9px;font-weight:500}.rotation-snap-control{display:flex;min-height:32px;align-items:center;gap:6px;border-left:1px solid rgba(255,255,255,.12);padding-left:8px;color:#98a4b4;font-size:9px}.rotation-snap-control select{min-height:26px;border:1px solid rgba(255,255,255,.15);background:#151b24;padding:0 5px;color:#d8ecff;font-size:10px}.geometry-view-control{display:flex;min-height:32px;align-items:center;gap:6px;border-left:1px solid rgba(255,255,255,.12);padding-left:8px;color:#98a4b4;font-size:9px}.geometry-view-control select{min-height:26px;border:1px solid rgba(255,255,255,.15);background:#151b24;padding:0 5px;color:#d8ecff;font-size:10px}.viewport-overlay{position:absolute;right:10px;bottom:10px;display:flex;gap:5px;pointer-events:none}.viewport-overlay span{background:#05070ac7;padding:5px 7px;color:#bac3d0;font:9px/1 JetBrains Mono,monospace}.workflow-side{display:grid;min-width:0;align-content:start;gap:10px}.joint-pair{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:end;gap:5px}.joint-pair>span{padding-bottom:11px;color:var(--accent);text-align:center}.joint-pair label{display:grid;min-width:0;gap:5px;color:var(--muted-fg);font-size:10px}.simple-field{grid-template-columns:1fr 170px;margin:10px 0}.snap-pair-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 7px}.snap-point-action{display:grid;min-width:0;min-height:70px;grid-template-columns:22px 1fr 16px;align-items:center;gap:7px;border:1px solid var(--border);background:var(--muted);padding:8px;cursor:pointer;text-align:left}.snap-point-action>span:nth-child(2){display:grid;min-width:0;gap:4px}.snap-point-action b{font-size:10px;line-height:1.2}.snap-point-action small{color:var(--muted-fg);font-size:8px;line-height:1.2}.snap-point-action i{font-style:normal}.snap-step{display:grid;width:22px;height:22px;place-items:center;border:1px solid currentColor;font:600 9px/1 JetBrains Mono,monospace}.snap-point-action.parent{color:var(--parent-snap)}.snap-point-action.child{color:var(--child-snap)}.snap-point-action b{color:var(--foreground)}.snap-point-action.active.parent,.snap-point-action.selected.parent{border-color:var(--parent-snap);background:color-mix(in srgb,var(--parent-snap) 9%,var(--muted))}.snap-point-action.active.child,.snap-point-action.selected.child{border-color:var(--child-snap);background:color-mix(in srgb,var(--child-snap) 9%,var(--muted))}.snap-point-action.active{box-shadow:inset 0 0 0 1px currentColor}.snap-pair-status{display:grid;min-height:58px;grid-template-columns:30px 1fr;align-items:start;gap:9px;border:1px dashed var(--border);background:var(--muted);padding:10px}.snap-pair-status>span{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--selection) 15%,var(--muted));color:var(--selection);font-size:11px}.snap-pair-status.picking.parent{border-color:var(--parent-snap)}.snap-pair-status.picking.parent>span{color:var(--parent-snap)}.snap-pair-status.picking.child{border-color:var(--child-snap)}.snap-pair-status.picking.child>span{color:var(--child-snap)}.snap-pair-status.ready{border-style:solid;border-color:var(--success);background:color-mix(in srgb,var(--success) 7%,var(--muted))}.snap-pair-status.ready>span{background:var(--success);color:#07130c}.snap-pair-status>div{display:grid;gap:4px}.snap-pair-status b{font-size:10px}.snap-pair-status small{color:var(--muted-fg);font-size:8px;line-height:1.4}.joint-complete{display:flex;min-height:50px;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--success) 55%,var(--border));background:color-mix(in srgb,var(--success) 7%,var(--muted));padding:10px}.joint-complete span{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:var(--success);color:#07130c}.joint-complete>div{display:grid;gap:3px}.joint-complete b{font-size:11px}.joint-complete small{color:var(--muted-fg);font-size:9px;line-height:1.35}.primary-action,.export-action{width:100%;min-height:40px;margin-top:10px;border:0;background:var(--accent);color:var(--accent-fg);cursor:pointer;font-size:12px;font-weight:600}button:disabled{cursor:not-allowed;opacity:.42}.created-joints{margin-top:18px;border-top:1px solid var(--border);padding-top:12px}.start-pose-panel{display:grid;gap:7px;margin-top:8px;border:1px solid color-mix(in srgb,#b16cff 38%,var(--border));background:color-mix(in srgb,#b16cff 4%,var(--muted));padding:8px}.start-pose-heading{display:flex;align-items:start;justify-content:space-between;gap:8px}.start-pose-heading>span{display:grid;min-width:0;gap:3px}.start-pose-heading b{font-size:9px}.start-pose-heading small{color:var(--muted-fg);font-size:7px;line-height:1.35}.start-pose-heading i{flex:0 0 auto;color:var(--muted-fg);font: 7px/1 JetBrains Mono,monospace}.start-pose-heading i.saved{color:var(--success)}.mirror-pose-actions{display:grid;grid-template-columns:52px 52px minmax(0,1fr);align-items:center;gap:4px}.mirror-pose-actions button,.start-pose-actions button{min-height:28px;border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;font-size:8px}.mirror-pose-actions button:not(:disabled):hover,.start-pose-actions button:not(:disabled):hover{border-color:#b16cff;color:#c993ff}.mirror-pose-actions small{overflow:hidden;color:var(--muted-fg);font:7px/1.2 JetBrains Mono,monospace;text-align:right;text-overflow:ellipsis;white-space:nowrap}.start-pose-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.joint-search{width:100%;min-height:34px;margin-top:8px;border:1px solid var(--border);background:var(--muted);padding:0 9px;color:var(--foreground);font-size:10px}.joint-list{max-height:min(46vh,480px);overflow:auto;border:1px solid var(--border);scrollbar-gutter:stable;overscroll-behavior:contain}.joint-panel-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:8px;border:1px solid var(--border);background:var(--muted);padding:3px}.joint-panel-tabs button{min-height:30px;border:1px solid transparent;background:transparent;color:var(--muted-fg);cursor:pointer;font-size:9px;font-weight:600}.joint-panel-tabs button.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--card);color:var(--accent)}.joint-list-row{display:grid;width:100%;min-height:52px;grid-template-columns:26px minmax(0,1fr) auto 8px;align-items:center;gap:7px;border:0;border-bottom:1px solid var(--border);background:var(--muted);padding:6px 8px;color:var(--foreground);cursor:pointer;text-align:left}.joint-list-row:last-child{border-bottom:0}.joint-list-row:hover{background:color-mix(in srgb,var(--selection) 6%,var(--muted))}.joint-list-row.connected{box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 70%,transparent)}.joint-list-row.selected{background:color-mix(in srgb,var(--selection) 13%,var(--muted));box-shadow:inset 3px 0 var(--selection)}.joint-type-mark{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--border);color:var(--muted-fg);font:600 11px/1 JetBrains Mono,monospace}.joint-type-mark.revolute,.joint-type-mark.continuous{color:#b16cff}.joint-type-mark.prismatic{color:var(--selection)}.joint-row-name,.joint-row-meta{display:grid;min-width:0;gap:3px}.joint-row-name b,.joint-row-name small,.joint-row-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.joint-row-name b{font-size:10px}.joint-row-name small{color:var(--muted-fg);font-size:8px}.joint-row-meta{max-width:112px;justify-items:end}.joint-row-meta i{color:var(--muted-fg);font: 7px/1 JetBrains Mono,monospace;text-transform:uppercase}.joint-row-meta small{color:var(--foreground);font:7px/1 JetBrains Mono,monospace}.drive-dot{width:7px;height:7px;border:1px solid var(--muted-fg);border-radius:50%}.drive-dot.actuated{border-color:var(--success);background:var(--success)}.drive-dot.passive{border-color:var(--selection);background:var(--selection)}.kinematic-tree{max-height:min(46vh,480px);margin-top:8px;overflow:auto;border:1px solid var(--border);background:var(--muted);padding:6px 0;scrollbar-gutter:stable;overscroll-behavior:contain}.kinematic-link-row{display:grid;min-height:34px;grid-template-columns:24px minmax(0,1fr);align-items:stretch;padding-left:calc(var(--tree-depth) * 13px + 5px)}.tree-collapse{border:0;background:transparent;color:var(--muted-fg);cursor:pointer;font-size:10px}.tree-leaf{display:grid;place-items:center;color:var(--border)}.tree-link{display:flex;min-width:0;align-items:center;gap:6px;border:0;background:transparent;padding:0 6px;color:var(--foreground);cursor:pointer;text-align:left}.tree-link:hover,.tree-link.selected{background:color-mix(in srgb,var(--selection) 10%,transparent)}.tree-link b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.tree-link small{margin-left:auto;color:var(--accent);font:7px/1 JetBrains Mono,monospace;text-transform:uppercase}.tree-link small.tree-warning{color:var(--danger)}.tree-joint{display:grid;width:calc(100% - (var(--tree-depth) * 13px) - 8px);min-height:29px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:5px;margin-left:calc(var(--tree-depth) * 13px + 8px);border:0;border-left:1px solid color-mix(in srgb,#b16cff 55%,var(--border));background:color-mix(in srgb,#b16cff 4%,transparent);padding:0 7px;color:var(--muted-fg);cursor:pointer;text-align:left}.tree-joint:hover,.tree-joint.selected{background:color-mix(in srgb,#b16cff 13%,var(--muted));color:var(--foreground)}.tree-joint span{color:#b16cff}.tree-joint b{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.tree-joint small{font:7px/1 JetBrains Mono,monospace}.disconnected-tree{margin-top:8px;border-top:1px solid var(--border);padding-top:7px}.disconnected-tree>b{display:block;padding:0 9px 5px;color:var(--danger);font:7px/1 JetBrains Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.joint-setup{margin-top:10px;border:1px solid var(--border);background:var(--muted);padding:9px}.joint-setup-heading{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:8px}.joint-setup-heading>span{display:grid;min-width:0;gap:3px}.joint-setup-heading small{color:var(--accent);font:7px/1 JetBrains Mono,monospace;text-transform:uppercase}.joint-setup-heading b,.joint-setup-heading i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.joint-setup-heading b{font-size:12px}.joint-setup-heading i{color:var(--muted-fg);font: 8px/1 JetBrains Mono,monospace}.joint-setup-heading select{min-width:0;min-height:30px;border:1px solid var(--border);background:var(--card);padding:0 6px;color:var(--foreground);font-size:9px}.joint-limit-editor{display:grid;gap:8px;margin-top:9px;border-top:1px solid var(--border);padding-top:9px}.limit-status{display:grid;min-height:34px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid var(--border);background:var(--card);padding:5px 7px}.limit-status>span{color:var(--muted-fg);font-size:7px;text-transform:uppercase}.limit-status b{font-size:8px}.limit-status.confirmed b{color:var(--success)}.limit-status.unconfirmed b{color:#ffd166}.limit-status button{min-height:24px;border:1px solid color-mix(in srgb,#ffd166 55%,var(--border));background:transparent;padding:0 6px;color:#ffd166;cursor:pointer;font-size:7px}.joint-limit-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.joint-limit-heading b{font-size:9px}.joint-limit-heading small{color:var(--muted-fg);font:7px/1 JetBrains Mono,monospace}.joint-limit-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.joint-limit-grid label,.joint-safety-limits label,.cad-limit-scan>label{display:grid;gap:4px;color:var(--muted-fg);font-size:8px}.joint-limit-grid input,.joint-safety-limits input,.cad-limit-scan input{min-width:0;width:100%;min-height:30px;border:1px solid var(--border);background:var(--card);padding:0 6px;color:var(--foreground)}.joint-safety-limits{border:1px solid var(--border);background:var(--card)}.joint-safety-limits summary{padding:7px;color:var(--muted-fg);cursor:pointer;font-size:8px}.joint-safety-limits>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid var(--border);padding:7px}.joint-limit-error{color:var(--danger);font-size:8px;line-height:1.4}.apply-limit-action{min-height:30px;border:1px solid var(--selection);background:color-mix(in srgb,var(--selection) 8%,var(--card));color:var(--foreground);cursor:pointer;font-size:9px}.cad-limit-scan{display:grid;gap:7px;border:1px solid color-mix(in srgb,#b16cff 42%,var(--border));background:color-mix(in srgb,#b16cff 5%,var(--card));padding:8px}.cad-limit-scan>div:first-child{display:flex;align-items:start;justify-content:space-between;gap:8px}.cad-limit-scan>div:first-child>span{display:grid;gap:3px}.cad-limit-scan b{font-size:9px}.cad-limit-scan small{color:var(--muted-fg);font-size:7px;line-height:1.4}.cad-limit-scan>div:first-child>i{flex:0 0 auto;color:#b16cff;font: 6px/1.2 JetBrains Mono,monospace;text-transform:uppercase}.cad-limit-scan>label{grid-template-columns:minmax(0,1fr) 100px;align-items:center}.cad-limit-scan>button,.cad-estimate-result button{min-height:30px;border:1px solid #b16cff;background:color-mix(in srgb,#b16cff 10%,var(--muted));color:var(--foreground);cursor:pointer;font-size:8px}.cad-estimate-result{display:grid;gap:6px;border-top:1px solid var(--border);padding-top:7px}.cad-estimate-result>span{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:2px 8px;border:1px solid var(--border);padding:6px}.cad-estimate-result>span small{grid-column:1}.cad-estimate-result>span strong{grid-column:2;grid-row:1;color:#ffd166;font:8px/1 JetBrains Mono,monospace}.cad-estimate-result>span i{grid-column:1 / 3;overflow:hidden;color:var(--muted-fg);font: 7px/1 JetBrains Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.cad-estimate-result>span.open-boundary strong{color:var(--muted-fg)}.cad-boundary-actions{display:grid;grid-column:3;grid-row:1 / 3;grid-auto-flow:column;gap:3px}.cad-boundary-actions button{width:24px;min-height:24px;border:1px solid var(--border);background:var(--muted);color:var(--selection);cursor:pointer;font-size:8px}.subheading{display:flex;align-items:center;justify-content:space-between;color:var(--muted-fg);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.subheading b{color:var(--foreground)}.created-joint{margin-top:8px;border:1px solid var(--border);background:var(--muted);padding:10px}.created-joint.selected-part-joint{border-color:color-mix(in srgb,var(--accent) 70%,var(--border));box-shadow:inset 2px 0 var(--accent)}.joint-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.joint-card-heading b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.joint-card-heading select{min-width:92px;min-height:28px;border:1px solid var(--border);background:var(--card);padding:0 6px;color:var(--foreground);font:9px/1 JetBrains Mono,monospace}.created-joint label,.joint-setup .motion-preview label{display:grid;grid-template-columns:76px 1fr 52px;align-items:center;gap:7px;margin-top:8px;color:var(--muted-fg);font-size:9px}.created-joint label input,.joint-setup .motion-preview label input{min-width:0;accent-color:var(--accent)}.created-joint label b,.joint-setup .motion-preview label b{text-align:right;font:8px/1 JetBrains Mono,monospace}.motion-preview{margin-top:8px}.motion-preview label{margin-top:0}.motion-reset-action{display:block;min-height:26px;margin:6px 0 0 auto;border:1px solid var(--border);background:var(--card);padding:0 8px;color:var(--muted-fg);cursor:pointer;font-size:9px}.motion-reset-action:not(:disabled):hover{border-color:var(--selection);color:var(--foreground)}.joint-drive-config{margin-top:8px;border:1px solid var(--border);background:var(--card)}.joint-drive-config summary{padding:8px;cursor:pointer;color:var(--foreground);font-size:9px;font-weight:600}.joint-drive-config[open] summary{border-bottom:1px solid var(--border);color:var(--accent)}.joint-drive-fields{display:grid;gap:8px;padding:8px}.created-joint .joint-drive-fields>label,.joint-setup .joint-drive-fields>label,.controller-starter label{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:7px;margin:0}.joint-drive-fields select,.joint-drive-fields input{min-width:0;width:100%;min-height:30px;border:1px solid var(--border);background:var(--muted);padding:0 6px;color:var(--foreground);font-size:9px}.drive-limits{color:var(--muted-fg);font:8px/1.4 JetBrains Mono,monospace}.drive-assignment-help{border-left:2px solid var(--selection);padding-left:7px;color:var(--muted-fg);font-size:8px;line-height:1.45}.joint-actuator-summary{display:grid;gap:3px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--muted));padding:8px}.joint-actuator-summary>span{color:var(--muted-fg);font-size:8px;text-transform:uppercase;letter-spacing:.05em}.joint-actuator-summary>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.joint-actuator-summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.joint-actuator-summary button{min-height:24px;border:1px solid var(--border);background:var(--card);padding:0 7px;color:var(--foreground);cursor:pointer;font-size:8px}.joint-actuator-summary button:hover{border-color:var(--accent);color:var(--accent)}.joint-actuator-summary small{color:var(--muted-fg);font:8px/1.4 JetBrains Mono,monospace}.drive-limits{color:var(--success)}.controller-starter{display:grid;gap:7px;border-top:1px solid var(--border);padding-top:8px}.controller-starter>b{font-size:9px}.controller-starter>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.created-joint .controller-starter label,.joint-setup .controller-starter label{grid-template-columns:1fr;align-items:stretch;gap:4px}.controller-starter button{min-height:30px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--muted));color:var(--foreground);cursor:pointer;font-size:9px}.controller-starter>small{color:var(--muted-fg);font-size:8px;line-height:1.4}.disconnect-action{width:100%;min-height:34px;margin-top:9px;border:1px solid color-mix(in srgb,var(--danger) 55%,var(--border));background:color-mix(in srgb,var(--danger) 6%,transparent);color:var(--danger);cursor:pointer;font-size:10px;font-weight:600}.disconnect-action:hover{background:color-mix(in srgb,var(--danger) 13%,var(--muted))}.export-target-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:9px;border:1px solid var(--border);background:var(--muted);padding:3px}.export-target-tabs button{min-height:34px;border:1px solid transparent;background:transparent;color:var(--muted-fg);cursor:pointer;font-size:9px;font-weight:600}.export-target-tabs button:hover{color:var(--foreground)}.export-target-tabs button.active{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent)}.export-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px}.export-summary span{display:grid;gap:3px;border:1px solid var(--border);background:var(--muted);padding:9px;color:var(--muted-fg);font-size:9px;text-transform:uppercase}.export-summary b{color:var(--foreground);font:600 20px/1 Barlow Condensed,sans-serif}.mjcf-options{display:grid;margin-top:9px;border:1px solid var(--border);background:var(--muted)}.export-option{display:grid;min-height:54px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px}.export-option+.export-option{border-top:1px solid var(--border)}.export-option>span:first-child{display:grid;gap:3px}.export-option b{font-size:10px}.export-option small{color:var(--muted-fg);font-size:8px;line-height:1.35}.export-option>input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.export-option select,.export-number input{min-height:30px;border:1px solid var(--border);background:var(--card);color:var(--foreground);font:9px/1 JetBrains Mono,monospace}.export-option select{min-width:112px;padding:0 7px}.export-number{display:grid;grid-template-columns:66px 20px;align-items:center}.export-number input{width:66px;padding:0 6px}.export-number i{color:var(--muted-fg);text-align:right;font: 9px/1 JetBrains Mono,monospace}.readiness{display:grid;grid-template-columns:27px 1fr;gap:9px;margin-top:9px;border:1px solid var(--border);padding:10px}.readiness>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;font-weight:600}.readiness.ready>span{background:var(--success);color:#07130c}.readiness.blocked>span{background:color-mix(in srgb,var(--danger) 18%,var(--muted));color:var(--danger)}.readiness>div{display:grid;gap:4px}.readiness b{font-size:11px}.readiness small{color:var(--muted-fg);font-size:9px;line-height:1.4}.readiness ul{display:grid;gap:3px;margin:0;padding-left:14px;color:var(--muted-fg);font-size:9px;line-height:1.35}.export-action{margin-top:9px}@media(max-width:1250px){.workflow-grid{grid-template-columns:280px minmax(440px,1fr)}.workflow-side{grid-column:1 / -1;grid-template-columns:1.25fr .75fr}.part-list{max-height:min(48vh,520px)}}@media(max-width:780px){.workflow-shell{padding:10px}.workflow-title{align-items:start;flex-direction:column}.workflow-grid,.workflow-side{display:grid;grid-template-columns:1fr}.viewer-stage{min-height:430px;grid-row:2}.workflow-side{grid-column:1}.parts-column{grid-row:1}.part-list{max-height:260px}.workflow-title strong{display:none}.project-bar{align-items:stretch}.history-actions,.draft-save-actions,.draft-open-actions{flex:1 1 100%}.history-actions{border-right:0;border-bottom:1px solid var(--border);padding:0 0 10px}.history-actions button{flex:1}.draft-status{flex:1 1 100%}.viewer-tools{top:128px;right:10px}}@media(max-width:500px){.draft-open-actions{display:grid;grid-template-columns:1fr 1fr}.draft-open-actions label{grid-column:1 / -1}.viewer-tools button{padding:0 7px}.viewer-tools button span{display:none}.preset-spec-grid{grid-template-columns:1fr}}
