:root{--bar: 52px;--ink: #e6ecf2;--ink-soft: #94a3b3;--panel: rgba(24, 31, 39, .78);--panel-line: rgba(180, 200, 220, .16);--accent: #e8913f;--hot: #ef6b5a;--cool: #6aa9dd}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#0c1015;color:var(--ink);font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;overflow:hidden}.stage{position:fixed;top:0;right:0;bottom:0;left:0}.masthead{position:fixed;top:18px;left:20px;pointer-events:none;z-index:2}.masthead h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.02em}.masthead p{margin:2px 0 0;max-width:46ch;color:var(--ink-soft);font-size:13.5px;line-height:1.45}.joint-table{position:fixed;left:20px;bottom:20px;width:300px;max-height:34vh;overflow-y:auto;padding:12px 14px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--panel-line);border-radius:6px;z-index:2}.joint-table h2{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--ink-soft)}.joint-table table{width:100%;border-collapse:collapse;font-size:12px}.joint-table th{text-align:right;font-weight:500;font-size:11px;color:var(--ink-soft);padding-bottom:4px;border-bottom:1px solid var(--panel-line)}.joint-table th:first-child{text-align:left}.joint-table td{padding:3px 0;vertical-align:middle}.joint-table td:not(:first-child){text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.swatch{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px}.bar-cell{width:40%}.bar{height:7px;background:var(--cool);border-radius:1px;min-width:1px}.edge-hot{color:var(--hot);font-weight:600}.shape-bar{position:fixed;left:50%;bottom:28px;transform:translate(-50%);display:flex;gap:6px;max-width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:none;padding:6px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--panel-line);border-radius:999px;z-index:2}.shape-bar button{font:inherit;font-size:14px;white-space:nowrap;font-weight:500;text-transform:capitalize;color:var(--ink-soft);background:transparent;border:0;border-radius:999px;padding:9px 20px;cursor:pointer;transition:background .15s,color .15s}.shape-bar button:hover{color:var(--ink);background:#ffffff0f}.shape-bar button.active{color:#111;background:var(--accent)}.shape-bar button:focus-visible{outline:2px solid var(--cool);outline-offset:2px}.drive-table{width:264px;max-height:70vh}.drive-table h2{margin-top:12px}.drive-table h2:first-child{margin-top:0}.drive-table td:first-child{color:var(--ink-soft)}.drive-table .note{margin:10px 0 0;font-size:11px;line-height:1.45;color:var(--ink-soft)}.bom-page{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;padding:24px 20px 40px}.bom-main{min-width:0}.bom-head h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.02em}.bom-head p{margin:4px 0 10px;max-width:72ch;color:var(--ink-soft);font-size:13.5px;line-height:1.45}.bom-summary{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12.5px;color:var(--ink-soft);margin-bottom:12px}.bom-summary b{color:var(--ink);font-weight:600}.bom-summary code,.bom-head code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px}.bom-all{font:inherit;font-size:13px;font-weight:500;color:#111;background:var(--accent);border:0;border-radius:999px;padding:7px 16px;cursor:pointer;margin-right:10px}.bom-all:disabled{opacity:.5;cursor:default}.bom-open{color:var(--accent);font-style:italic}.bom-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:12.5px}.bom-table th{text-align:left;font-weight:500;font-size:11px;color:var(--ink-soft);padding:0 10px 6px 0;border-bottom:1px solid var(--panel-line)}.bom-table td{padding:7px 10px 7px 0;vertical-align:top;border-bottom:1px solid rgba(180,200,220,.07)}.bom-table .num{text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.bom-group td{padding-top:18px;font-size:12px;font-weight:600;color:var(--ink-soft);border-bottom:1px solid var(--panel-line)}.bom-kind{color:var(--ink-soft);white-space:nowrap}.bom-dims{color:var(--ink);max-width:38ch}.bom-note{margin-top:3px;font-size:11px;line-height:1.4;color:var(--ink-soft);max-width:46ch}.bom-source a{color:var(--cool);text-decoration:none}.bom-source a:hover{text-decoration:underline}.bom-search{color:var(--ink-soft);font-size:11.5px}.bom-stl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.bom-stl button{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-line);border-radius:4px;padding:4px 8px;cursor:pointer}.bom-stl button:hover{background:#ffffff1f}.bom-stl button:before{content:"↓ ";color:var(--accent)}.bom-check{font-size:11.5px;font-weight:600;color:var(--ink-soft);cursor:help;white-space:nowrap}.bom-check.pass{color:#7fc98f}.bom-check.fail{color:var(--hot)}.bom-check-err{font-weight:400;color:var(--ink-soft)}.bom-selected td{background:#e8913f12}.bom-total td{font-weight:600;border-bottom:0}.bom-preview{position:sticky;top:0;align-self:start}.bom-canvas{height:300px;border:1px solid var(--panel-line);border-radius:6px;overflow:hidden}.bom-preview-label{display:flex;flex-direction:column;gap:3px;margin-top:8px;font-size:12px;color:var(--ink-soft)}.bom-preview-label b{color:var(--ink);font-weight:600}@media (max-width: 1100px){.bom-page{grid-template-columns:minmax(0,1fr);padding:70px 16px 40px}.bom-preview{position:static;order:-1;display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:end}.bom-canvas{height:200px}}@media (max-width: 700px){.bom-preview{grid-template-columns:1fr}.bom-table{display:block;overflow-x:auto}}.tag{font-size:11px;line-height:1.2;white-space:nowrap;color:var(--ink);background:#181f27d1;border:1px solid var(--panel-line);border-radius:3px;padding:2px 6px;pointer-events:none;-webkit-user-select:none;user-select:none}.tag.soft{color:var(--ink-soft);font-style:italic}.electrics-table .legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0 8px;font-size:11.5px;color:var(--ink-soft)}.electrics-table .legend span{display:inline-flex;align-items:center;gap:5px}.electrics-table .legend i{display:inline-block;width:14px;height:4px;border-radius:1px}.force-panel{position:fixed;left:20px;bottom:136px;width:340px;max-height:calc(100vh - 218px);overflow-y:auto;padding:12px 14px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--panel-line);border-radius:6px;z-index:2;font-size:12px}.force-panel h2{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--ink)}.force-panel h3{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:10px 0 4px;font-size:11px;font-weight:500;color:var(--ink-soft)}.force-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;color:var(--ink-soft)}.force-controls select{font:inherit;font-size:12px;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-line);border-radius:4px;padding:3px 6px}.force-stats{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:10px 0 0}.force-stats dt{color:var(--ink-soft)}.force-stats dd{margin:0;text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.force-stats dd small{color:var(--ink-soft);font-family:IBM Plex Sans,system-ui,sans-serif}.force-stats dd.hot{color:var(--hot);font-weight:600}.force-key{display:flex;gap:8px;font-weight:400}.force-key i{display:inline-block;width:10px;margin-right:4px;vertical-align:middle;border-radius:1px}.force-chart{position:relative}.force-chart canvas{display:block;width:100%}.force-tip{position:absolute;top:-20px;padding:2px 6px;white-space:nowrap;pointer-events:none;background:#0c1015;border:1px solid var(--panel-line);border-radius:3px;color:var(--ink);font-size:11px}.force-note{margin:8px 0 0;color:var(--ink-soft);line-height:1.4}.shape-bar .sep{width:1px;margin:4px 2px;background:var(--panel-line)}@media (max-width: 900px){.force-panel{left:16px;right:16px;width:auto;top:72px;bottom:auto;max-height:45vh}}.gait-pick{display:flex;align-items:center;border-radius:999px;transition:background .15s}.gait-pick select{font:inherit;font-size:14px;font-weight:500;color:var(--ink-soft);background:transparent;border:0;padding:9px 4px 9px 16px;cursor:pointer}.gait-pick select:hover{color:var(--ink)}.gait-pick select option,.gait-pick select optgroup{color:#111;background:#fff}.gait-pick button{padding:9px 14px 9px 8px}.gait-pick.active{background:var(--accent)}.gait-pick.active select,.gait-pick.active button{color:#111}.gait-pick.active button:hover{background:transparent}.gait-pick select:focus-visible{outline:2px solid var(--cool);outline-offset:2px;border-radius:999px}.gait-note{position:fixed;left:50%;bottom:136px;transform:translate(-50%);width:min(560px,calc(100vw - 32px));margin:0;font-size:13px;line-height:1.45;text-align:center;color:var(--ink-soft);z-index:2;pointer-events:none}.gait-note strong{color:var(--ink);font-weight:600}.gait-note kbd{font:11px IBM Plex Mono,ui-monospace,monospace;padding:1px 5px;border:1px solid var(--panel-line);border-radius:4px}.force-panel.folded h2{margin:0}.force-fold{display:flex;align-items:baseline;gap:6px;width:100%;padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:left}.force-fold:hover{color:var(--accent)}.force-fold:focus-visible{outline:2px solid var(--cool);outline-offset:2px;border-radius:3px}.force-fold-mark{color:var(--ink-soft);width:10px}.shape-bar>*{flex-shrink:0}@media (max-width: 900px){.shape-bar{gap:2px}.shape-bar button{font-size:13px;padding:8px 11px}.gait-pick select{font-size:13px;padding:8px 2px 8px 11px}.gait-pick button{padding:8px 10px 8px 6px}}.motion-clock{position:fixed;left:50%;bottom:88px;transform:translate(-50%);display:flex;align-items:center;gap:2px;max-width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:none;padding:4px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--panel-line);border-radius:999px;z-index:2}.motion-clock>*{flex-shrink:0}.motion-clock button{font:inherit;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-soft);background:transparent;border:0;border-radius:999px;padding:5px 9px;cursor:pointer;transition:background .15s,color .15s}.motion-clock button:hover{color:var(--ink);background:#ffffff0f}.motion-clock button.active{color:#111;background:var(--accent)}.motion-clock button:focus-visible{outline:2px solid var(--cool);outline-offset:2px}.motion-time{min-width:13em;padding:0 8px 0 10px;font:12px IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.motion-time small{color:var(--ink-soft);font-size:11px}.motion-ground{display:flex;align-items:center;padding-right:4px;margin-right:4px;border-right:1px solid var(--panel-line)}.motion-ground select{font:inherit;font-size:12px;color:var(--ink);width:auto;background:transparent;border:0;padding:4px 2px;cursor:pointer}.shape-bar .motion-ground button,.motion-clock .motion-ground button{font-size:14px;padding:3px 8px}.motion-ground select option{background:#141b23}@media (max-width: 480px){.motion-time{min-width:0;padding:0 4px 0 8px}.motion-clock button{padding:5px 7px}}.kit-page{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) 400px}.kit-stage{position:relative;min-width:0;min-height:0}.kit-stage-bar{position:absolute;left:50%}.kit-panel{overflow-y:auto;padding:20px 20px 32px;border-left:1px solid var(--panel-line);background:#10151beb}.kit-panel header h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.02em}.kit-panel header p{margin:4px 0 14px;color:var(--ink-soft);font-size:13.5px;line-height:1.45}.kit-panel h2{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--ink)}.kit-panel h3{margin:16px 0 6px;font-size:11px;font-weight:500;color:var(--ink-soft)}.kit-tabs{display:flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--panel-line);border-radius:999px}.kit-tabs button,.kit-seg button{flex:1;font:inherit;font-size:13px;font-weight:500;color:var(--ink-soft);background:transparent;border:0;border-radius:999px;padding:7px 10px;cursor:pointer;transition:background .15s,color .15s}.kit-tabs button:hover,.kit-seg button:hover{color:var(--ink);background:#ffffff0f}.kit-tabs button.active,.kit-seg button.active{color:#111;background:var(--accent)}.kit-tabs button:focus-visible,.kit-seg button:focus-visible,.kit-card:focus-visible,.kit-reset:focus-visible{outline:2px solid var(--cool);outline-offset:2px}.kit-seg{display:flex;gap:3px;padding:3px;border:1px solid var(--panel-line);border-radius:999px}.kit-seg button{font-size:12.5px;padding:5px 8px}.kit-cards{display:flex;flex-direction:column;gap:6px}.kit-card{display:block;width:100%;text-align:left;font:inherit;color:var(--ink);background:#ffffff08;border:1px solid var(--panel-line);border-radius:6px;padding:9px 11px;cursor:pointer;transition:border-color .15s,background .15s}.kit-card:hover{background:#ffffff0f}.kit-card.active{border-color:var(--accent);background:#e8913f14}.kit-card-head{display:flex;align-items:center;gap:8px;font-size:13px}.kit-card-head b{font-weight:600}.kit-card-meta{margin-left:auto;color:var(--ink-soft);font-size:11px;white-space:nowrap;font-family:IBM Plex Mono,ui-monospace,monospace}.kit-card-body{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:var(--ink-soft)}.kit-swatch{width:10px;height:10px;border-radius:2px;flex:none}.kit-muted{opacity:.4;pointer-events:none}.kit-strip{display:flex;align-items:center;gap:2px;margin-top:8px;font-size:10.5px;color:var(--ink-soft)}.kit-strip span{padding:0 4px}.kit-strip i{flex:1;height:12px;border-radius:1px;background:#ffffff14}.kit-strip i.on{background:var(--accent)}.kit-figs{margin:16px 0 0;font-size:12.5px}.kit-figs div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(180,200,220,.07)}.kit-figs dt{color:var(--ink-soft)}.kit-figs dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.kit-figs .hot dd{color:var(--hot);font-weight:600}.kit-note{margin:10px 0 0;font-size:11px;line-height:1.45;color:var(--ink-soft)}.kit-machine{margin-top:22px;padding-top:14px;border-top:1px solid var(--panel-line)}.kit-machine .kit-figs{margin-top:0}.kit-checks{list-style:none;margin:10px 0 14px;padding:0;font-size:12px}.kit-checks li{padding:3px 0}.kit-checks b{display:inline-block;width:26px;font-size:10.5px;font-family:IBM Plex Mono,ui-monospace,monospace}.kit-checks .pass b{color:#7fc98f}.kit-checks .fail b,.kit-checks .fail{color:var(--hot)}.kit-checks span{display:block;margin-left:26px;font-size:11px;color:var(--ink-soft)}.kit-reset{font:inherit;font-size:12.5px;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-line);border-radius:999px;padding:6px 14px;cursor:pointer}.kit-reset:hover{background:#ffffff1f}.kit-warn{margin-left:10px;font-size:12px;color:var(--hot)}@media (max-width: 900px){.kit-page{grid-template-columns:minmax(0,1fr);grid-template-rows:46vh auto;overflow-y:auto}.kit-panel{padding:18px 16px 90px;border-left:0;border-top:1px solid var(--panel-line);overflow:visible}.kit-stage-bar{bottom:12px}}.kit-file{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.kit-file button{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-line);border-radius:4px;padding:5px 9px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-file button:hover{background:#ffffff1f}.kit-file button:before{content:"↓ ";color:var(--accent)}.kit-note b{color:var(--ink);font-weight:600}.kit-files{margin-top:14px}.kit-files .kit-file{margin-top:6px}.kit-file button:disabled{opacity:.5;cursor:default}.top-bar{position:fixed;top:0;left:0;right:0;height:var(--bar);display:flex;align-items:center;gap:14px;padding:0 16px;background:#0c1015f0;border-bottom:1px solid var(--panel-line);z-index:10;overflow-x:auto;scrollbar-width:none}.brand{font-weight:600;font-size:16px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;white-space:nowrap}.section-tabs,.page-tabs{display:flex;gap:2px;flex:none}.section-tabs a,.page-tabs a{font-size:13.5px;font-weight:500;white-space:nowrap;color:var(--ink-soft);text-decoration:none;border-radius:999px;padding:6px 13px;transition:background .15s,color .15s}.section-tabs a:hover,.page-tabs a:hover{color:var(--ink);background:#ffffff0f}.section-tabs a.active{color:#111;background:var(--accent)}.page-tabs{padding-left:12px;border-left:1px solid var(--panel-line)}.page-tabs a{font-size:13px;padding:5px 11px}.page-tabs a.active{color:var(--ink);background:#ffffff1a}.section-tabs a:focus-visible,.page-tabs a:focus-visible,.brand:focus-visible{outline:2px solid var(--cool);outline-offset:2px}.robot-pick{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none;font-size:12px;color:var(--ink-soft)}.robot-pick select{font:inherit;font-size:13px;color:var(--ink);max-width:16em;background:#ffffff0d;border:1px solid var(--panel-line);border-radius:6px;padding:4px 6px}.robot-pick select option{background:#141b23}.robot-pick a{color:var(--accent);text-decoration:none}.robot-pick a:hover{text-decoration:underline}.view-host{position:fixed;top:var(--bar);left:0;right:0;bottom:0;transform:translateZ(0);overflow:hidden}.masthead{top:14px}.btn{display:inline-block;font:inherit;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-line);border-radius:999px;padding:6px 14px;cursor:pointer;transition:background .15s}.btn:hover{background:#ffffff1f}.btn.primary{color:#111;background:var(--accent);border-color:var(--accent)}.btn.primary:hover{background:#f0a25a}.btn.danger{color:#fff;background:#b8473a;border-color:#b8473a}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--cool);outline-offset:2px}.garage{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:36px 24px 60px}.garage>*{max-width:920px;margin-left:auto;margin-right:auto}.garage-hero h1{margin:0;font-size:30px;font-weight:600;letter-spacing:-.02em}.garage-hero p{margin:6px 0 0;max-width:60ch;color:var(--ink-soft);font-size:14px;line-height:1.5}.garage-warn{color:var(--hot)!important}.garage-h{margin-top:28px;margin-bottom:10px;font-size:12px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.garage-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.kind-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:8px;text-decoration:none;color:var(--ink);background:#ffffff08;border:1px solid var(--panel-line);transition:border-color .15s,background .15s}a.kind-card:hover{border-color:var(--accent);background:#e8913f14}.kind-card b{font-size:16px}.kind-card span{font-size:12.5px;line-height:1.45;color:var(--ink-soft)}.kind-card em{margin-top:auto;font-style:normal;font-size:13px;color:var(--accent)}.kind-card.soon{opacity:.45}.garage-list{list-style:none;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:10px}.robot-card{padding:14px 16px;border-radius:8px;background:var(--panel);border:1px solid var(--panel-line)}.robot-card-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.robot-card-head b{font-size:16px}.robot-card-head span{font-size:12px;color:var(--ink-soft)}.robot-card p{margin:6px 0 10px;font-size:13px;color:var(--ink-soft)}.robot-card-actions{display:flex;gap:6px;flex-wrap:wrap}.kit-page{position:absolute;top:0;right:0;bottom:0;left:0}.build-head{margin-bottom:14px}.build-back{font-size:12.5px;color:var(--ink-soft);text-decoration:none}.build-back:hover{color:var(--ink)}.build-kind{display:inline-block;margin-left:10px;padding:1px 8px;border-radius:999px;font-size:11px;color:var(--ink-soft);border:1px solid var(--panel-line)}.build-name{display:block;width:100%;margin:10px 0;font:inherit;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);background:transparent;border:0;border-bottom:1px dashed var(--panel-line);padding:2px 0}.build-name:focus{outline:none;border-bottom-color:var(--accent)}.build-actions{display:flex;gap:6px;flex-wrap:wrap}.build-saved,.build-dirty{margin:8px 0 0;font-size:12px}.build-saved{color:#7fc98f}.build-dirty{color:var(--accent)}.body-row{display:grid;grid-template-columns:8.5em minmax(0,1fr) 5.5em;align-items:center;gap:10px;padding:4px 0;font-size:12.5px}.body-row label{color:var(--ink-soft)}.body-row input[type=range]{width:100%;accent-color:var(--accent)}.body-row output{text-align:right;font-variant-numeric:tabular-nums}.body-reset{margin-top:8px}.live-bom a{color:var(--accent)}.kit-warn{display:block;margin:0 0 6px}.sim-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}.sim-empty h1{margin:0;font-size:24px;font-weight:600}.sim-empty p{margin:0 0 8px;color:var(--ink-soft)}.move-status b{color:var(--ink)}.move-gait{color:var(--ink-soft)}.maker-note{position:fixed;left:50%;bottom:16px;transform:translate(-50%);margin:0;padding:8px 14px;font-size:12.5px;color:var(--ink-soft);background:var(--panel);border:1px solid var(--panel-line);border-radius:999px;z-index:3;max-width:calc(100vw - 32px)}.maker-note a{color:var(--accent)}.bom-page{position:absolute}@media (max-width: 700px){:root{--bar: 92px}.top-bar{flex-wrap:wrap;align-content:center;row-gap:6px;height:var(--bar);padding:6px 12px}.page-tabs{order:5;padding-left:0;border-left:0}.robot-pick span{display:none}}.scenery-panel{position:fixed;top:16px;right:16px;width:244px;max-height:calc(100% - 150px);overflow-y:auto;scrollbar-width:thin;padding:10px 12px 12px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--panel-line);border-radius:8px;z-index:3;font-size:12px}.scenery-panel.beside-leva{right:306px}.scenery-panel.folded{width:auto;padding-bottom:10px}.scenery-fold{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--ink);text-align:left}.scenery-fold:hover{color:var(--accent)}.scenery-fold:focus-visible{outline:2px solid var(--cool);outline-offset:2px;border-radius:3px}.scenery-fold-mark{color:var(--ink-soft)}.scenery-panel h3{margin:14px 0 6px;font-size:11px;font-weight:500;color:var(--ink-soft)}.scenery-row{display:flex;align-items:center;gap:6px;margin-top:8px}.scenery-row>select,.scenery-row>input{flex:1;min-width:0}.scenery-panel select,.scenery-panel input[type=text],.scenery-panel form input{font:inherit;font-size:12.5px;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-line);border-radius:5px;padding:5px 6px}.scenery-panel select option,.scenery-panel select optgroup{background:#141b23}.scenery-ground{display:flex;align-items:center;gap:6px;flex:1;min-width:0;color:var(--ink-soft)}.scenery-ground select{flex:1;min-width:0}.scenery-icon{flex:none;width:28px;height:28px;padding:0;font:inherit;font-size:15px;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-line);border-radius:5px;cursor:pointer}.scenery-icon:hover{background:#ffffff1f}.scenery-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.scenery-actions .btn,.scenery-row .btn{font-size:12px;padding:4px 11px}.scenery-state{margin:6px 0 0;color:var(--ink-soft);line-height:1.4}.scenery-state.dirty{color:var(--accent)}.scenery-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.scenery-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px 5px;font:inherit;font-size:11px;color:var(--ink-soft);background:#ffffff0a;border:1px solid var(--panel-line);border-radius:6px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transition:background .15s,border-color .15s,color .15s}.scenery-tile:hover{color:var(--ink);border-color:var(--accent);background:#e8913f1a}.scenery-tile:active{cursor:grabbing}.scenery-tile:focus-visible{outline:2px solid var(--cool);outline-offset:2px}.scenery-tile-icon{font-size:22px;line-height:1.1}.scenery-picked{margin-top:4px;padding-top:2px;border-top:1px solid var(--panel-line)}.scenery-picked h3{color:var(--ink);font-weight:600}.scenery-picked .scenery-row{margin-top:0}.scenery-size{display:flex;align-items:center;gap:5px;flex:1;min-width:0;color:var(--ink-soft)}.scenery-size input{flex:1;min-width:0;accent-color:var(--accent)}.scenery-hint{margin:12px 0 0;color:var(--ink-soft);line-height:1.45}.scenery-hint kbd{font:10.5px IBM Plex Mono,ui-monospace,monospace;padding:0 4px;border:1px solid var(--panel-line);border-radius:3px}.scenery-clear{display:block;margin:10px 0 0;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:11.5px;color:var(--ink-soft);text-decoration:underline}.scenery-clear:hover{color:var(--hot)}.scenery-ghost{position:fixed;z-index:20;pointer-events:none;transform:translate(-50%,-50%);font-size:30px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}@media (max-width: 900px){.scenery-panel{top:12px;right:12px;width:220px;max-height:calc(100% - 170px)}.scenery-panel.beside-leva{right:12px}}.gantry-panel{position:fixed;top:16px;left:16px;width:300px;max-height:calc(100% - 120px);overflow-y:auto;padding:12px 14px;font-size:12.5px;line-height:1.45;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--panel-line);border-radius:8px;z-index:2;scrollbar-width:thin}.gantry-panel h2{margin:2px 0 6px;font-size:16px;font-weight:600}.gantry-panel h3{margin:14px 0 4px;font-size:11px;font-weight:500;color:var(--ink-soft)}.gantry-panel p{margin:0;color:var(--ink-soft)}.gantry-panel .kit-figs{margin-top:10px}.gantry-step-count{font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.gantry-list{list-style:none;margin:0;padding:0;color:var(--ink-soft)}.gantry-list li{padding:1px 0}.gantry-list b{display:inline-block;min-width:3.4em;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.gantry-steps{position:fixed;left:50%;bottom:84px;transform:translate(-50%);display:flex;gap:4px;z-index:2}.gantry-steps button{width:22px;height:6px;padding:0;border:0;border-radius:3px;cursor:pointer;background:#ffffff24}.gantry-steps button.done{background:#e8913f80}.gantry-steps button.now{background:var(--accent)}.gantry-steps button:focus-visible{outline:2px solid var(--cool);outline-offset:2px}.shape-bar button:disabled{opacity:.35;cursor:default}.job-panel{width:320px}.job-bar{height:6px;margin:4px 0 2px;border-radius:3px;background:#ffffff1a;overflow:hidden}.job-bar i{display:block;height:100%;background:var(--accent);transition:width .2s linear}.gantry-select{width:100%;min-width:0;font:inherit;font-size:12px;color:var(--ink);background:#ffffff0f;border:1px solid var(--panel-line);border-radius:5px;padding:4px 5px}.gantry-select option{background:#141b23}.gantry-h{margin:0 0 4px;font-size:13px;font-weight:600}.cut-profile{margin-top:14px;font-size:12px}.cut-profile>b{display:block;margin-bottom:4px;font-weight:600}.cut-bar{display:grid;grid-template-columns:3.2em 1fr;align-items:center;gap:6px;margin:3px 0}.cut-stock{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.cut-track{display:flex;gap:2px;height:16px;padding:1px;border-radius:3px;background:#ffffff0d;border:1px solid var(--panel-line);overflow:hidden}.cut-track i{display:flex;align-items:center;justify-content:center;font-style:normal;font-size:9.5px;color:#111;background:#c3c9cf;border-radius:2px;overflow:hidden;white-space:nowrap}.cut-left{display:block;margin-top:2px;font-size:11px;color:var(--ink-soft)}@media (max-width: 700px){.gantry-panel{width:auto;right:16px;max-height:38%}.gantry-steps{bottom:80px}}@media (max-width: 1100px){.gantry-bom .bom-preview{order:1;display:block}}
