:root{--font-ui:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius-s:5px;--radius-m:7px;--radius-l:10px;--wood-grad:linear-gradient(105deg, #e8d5b8, #dfc9a6 55%, #e6d2b3);--wood-border:#b89a6e;--tool-dot:#c94f2e}[data-theme=light]{--wb-bg:#f2f0ec;--wb-panel:#fbfaf8;--wb-border:#d8d4cc;--wb-border-soft:#e4e0d8;--wb-text:#26241f;--wb-text-secondary:#8a857a;--wb-accent:#3f6fae;--wb-sel-fill:#e7edf5;--wb-ok:#3e6b48;--wb-ok-bg:#e9f0e9;--wb-warn:#8a6a2a;--wb-warn-bg:#f6efdd;--wb-danger:#a03d2c;--wb-danger-bg:#f6e1dc;--wb-dial:#a06a1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--wb-bg:#17181a;--wb-panel:#222428;--wb-border:#34363c;--wb-border-soft:#34363c;--wb-text:#e8e6e2;--wb-text-secondary:#9a978f;--wb-text-tertiary:#84817a;--wb-accent:#7db4e0;--wb-sel-fill:#26303a;--wb-ok:#5f9a6e;--wb-ok-bright:#7dc98a;--wb-ok-bg:#1f2a22;--wb-warn:#e0b568;--wb-warn-bg:#2e2617;--wb-danger:#ff9a86;--wb-danger-bg:#33211d;--wb-dial:#e0b568;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@keyframes wbPulse{0%,to{opacity:1}50%{opacity:.45}}.topbar{background:var(--wb-panel);height:52px;color:var(--wb-text);border-bottom:1px solid var(--wb-border);font-family:var(--font-ui);flex:none;align-items:center;gap:1rem;padding:0 14px;display:flex;position:relative}.topbar-brand{align-items:center;gap:8px;display:flex}.topbar-wordmark{letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:700}.topbar-version{color:var(--wb-text-secondary);background:var(--wb-bg);border:1px solid var(--wb-border-soft);border-radius:999px;padding:1px 7px;font-size:11px}.topbar-stepper{gap:6px;margin:0 auto;display:flex}.step{appearance:none;color:var(--wb-text-secondary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;display:flex}.step:hover{color:var(--wb-text);background:var(--wb-bg)}.step.active{color:#fbfaf8;background:#26241f}.step[aria-disabled=true]{cursor:not-allowed;opacity:.75}.step-chip{letter-spacing:.05em;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.step-chip.stale{color:var(--wb-warn);background:var(--wb-warn-bg)}.step.active .step-chip.stale{color:#e8c884;background:#4a3f28}.topbar-project{align-items:center;gap:8px;min-width:0;display:flex}.topbar-name{color:var(--wb-text);text-align:right;background:0 0;border:none;min-width:3ch;max-width:22ch;padding:2px;font-size:13px}.topbar-name:focus{outline:1px solid var(--wb-accent);border-radius:3px}.topbar-ext{color:var(--wb-text-secondary);margin-left:-8px;font-size:13px}.topbar-chip{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.topbar-chip.saved{color:var(--wb-ok);background:var(--wb-ok-bg)}.topbar-chip.unsaved{color:var(--wb-warn);background:var(--wb-warn-bg)}.topbar-btn{appearance:none;font:inherit;border-radius:var(--radius-m);border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);cursor:pointer;white-space:nowrap;padding:5px 12px;font-size:12.5px}.topbar-btn:hover{background:var(--wb-bg)}.topbar-warning{z-index:15;color:var(--wb-warn);background:var(--wb-warn-bg);border-bottom:1px solid var(--wb-border);justify-content:center;align-items:center;gap:12px;padding:7px 16px;font-size:12px;display:flex;position:absolute;top:100%;left:0;right:0}.topbar-warning button{appearance:none;border:1px solid var(--wb-warn);color:var(--wb-warn);font:inherit;border-radius:var(--radius-m);cursor:pointer;background:0 0;padding:2px 10px;font-size:11.5px}:root{--bg:#0f1115;--bg-panel:#171a21;--border:#2a2f3a;--text:#d7dae0;--text-dim:#8b93a1;--accent:#4da3ff}*{box-sizing:border-box}body{font-family:var(--font-ui);color:#26241f;background:#f2f0ec;margin:0}#root,.app{flex-direction:column;height:100vh;display:flex}.app-main{flex:1;min-height:0;display:flex}.workspace{flex-direction:row;flex:1;min-width:0;display:flex}button.primary{appearance:none;border:1px solid var(--accent);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1.25rem}button.primary:hover{background:var(--accent);color:var(--bg)}.primary-small{color:var(--accent);border-color:var(--accent)!important}.danger{color:#ff8f8f;border-color:#ff6b6b!important}.hint{color:var(--text-dim);margin:.35rem 0 .9rem;font-size:.72rem}.preflight{flex-direction:column;gap:.15rem;display:flex}.preflight-block{color:#ff8f8f;margin:0;font-size:.8rem}.preflight-warn{color:#ffc861;margin:0;font-size:.8rem}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.three-view{flex:1;min-width:0;position:relative}.three-view canvas{display:block}.view-toggles{flex-wrap:wrap;gap:.4rem;max-width:calc(100% - 1.5rem);display:flex;position:absolute;top:.75rem;left:.75rem}.view-toggle{appearance:none;color:#26241f;font:inherit;cursor:pointer;background:#fbfaf8;border:1px solid #d8d4cc;border-radius:6px;padding:.3rem .8rem;font-size:.8rem;position:static}.view-toggle[aria-pressed=false]{color:var(--wb-text-secondary)}.view-toggle[aria-pressed=true]{background:var(--wb-sel-fill);border-color:var(--wb-accent)}[data-theme=dark] .view-toggle{border-color:var(--wb-border);background:var(--wb-panel);color:var(--wb-text)}[data-theme=dark] .view-toggle[aria-pressed=false]{color:var(--wb-text-secondary)}[data-theme=dark] .view-toggle[aria-pressed=true]{background:var(--wb-sel-fill);border-color:var(--wb-accent);color:var(--wb-text)}.view-toggle:disabled{opacity:.5;cursor:not-allowed}.view-seg{border:1px solid var(--wb-border);border-radius:var(--radius-m);background:var(--wb-panel);gap:0;display:flex;overflow:hidden}.view-seg button{appearance:none;color:var(--wb-text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;padding:.3rem .7rem;font-size:.8rem}.view-seg button[aria-pressed=true]{background:var(--wb-sel-fill);color:var(--wb-accent)}.view-seg button:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .view-seg{border-color:var(--wb-border);background:var(--wb-panel)}[data-theme=dark] .view-seg button{color:var(--wb-text-secondary)}[data-theme=dark] .view-seg button[aria-pressed=true]{background:var(--wb-sel-fill);color:var(--wb-accent)}.cam-canvas-wrap{flex:1;min-height:0;position:relative}.depth-legend{border:1px solid var(--border);pointer-events:none;z-index:4;background:#171a21e6;border-radius:6px;flex-direction:column;gap:.25rem;max-width:22rem;padding:.35rem .5rem;display:flex;position:absolute;bottom:.75rem;left:.75rem}.depth-legend-row{color:var(--text-dim);font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.depth-legend-ramp{border:1px solid var(--border);border-radius:2px;width:7rem;height:.55rem;display:inline-block}.depth-legend-hint{color:var(--text-dim);font-size:.72rem;line-height:1.3}.dyn-box.tracking{pointer-events:none}.dyn-box{border:1px solid var(--accent);pointer-events:auto;z-index:5;white-space:nowrap;background:#171a21f2;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .5rem;display:flex;position:absolute}.dyn-field{color:var(--text-dim);align-items:center;gap:.25rem;font-size:.8rem;display:flex}.dyn-input{border:1px solid var(--border);width:4.2rem;color:var(--text);font-variant-numeric:tabular-nums;background:#0b0d11;border-radius:4px;padding:.15rem .3rem;font-size:.85rem}.dyn-input.active{border-color:var(--accent)}.dyn-ref{color:var(--text-dim);border:1px dashed var(--border);border-radius:4px;padding:.1rem .3rem;font-size:.7rem}.array-box .dyn-input{text-align:center;min-width:2.2rem;display:inline-block}.dyn-chain-actions{align-items:center;gap:.25rem;display:flex}.dyn-chain-btn{appearance:none;font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:4px;padding:.15rem .45rem;font-size:.75rem}.dyn-chain-btn.done{border-color:var(--accent);color:var(--accent)}.dyn-chain-btn:disabled{opacity:.4;cursor:not-allowed}.cam-handle{fill:#ffc861;stroke:#0b0d11;stroke-width:1px;vector-effect:non-scaling-stroke;cursor:nwse-resize}.cam-crosshair line{stroke:#6ee7a0;stroke-width:1.2px;pointer-events:none}.cam-shape.selected.reference polygon{stroke:#ff8f5e;stroke-dasharray:6 3}.marquee{fill:#4da3ff14;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.array-ghosts polygon{fill:#6ee7a014;stroke:#6ee7a0;stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.revolve-footprint{pointer-events:none}.revolve-footprint circle{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:5 4;opacity:.55}.revolve-footprint circle.inner{opacity:.25}.revolve-footprint line{stroke:var(--accent);stroke-width:1px;opacity:.55}.draw-preview polyline{fill:none}.cam-canvas{touch-action:none;cursor:crosshair;background:#0b0d11;width:100%;height:100%;display:block}.cam-grid line{stroke:#1c212b;stroke-width:1px}.stock-outline{fill:#12161d;stroke:#3a4150;stroke-width:1.5px}.cam-shape polygon{fill:#4da3ff26;stroke:var(--accent);stroke-width:1.5px;cursor:pointer}.cam-shape.selected polygon{stroke:#ffc861;stroke-width:2px;fill:#ffc8612e}.draw-preview{fill:#6ee7a026;stroke:#6ee7a0;stroke-width:1.5px;stroke-dasharray:4 3;pointer-events:none}.field-row{color:var(--text-dim);flex-direction:column;gap:.3rem;margin-bottom:.6rem;font-size:.78rem;display:flex}.field-row-inline{gap:.75rem;margin-bottom:.6rem;display:flex}.field-row-inline label{color:var(--text-dim);flex-direction:column;flex:1;gap:.3rem;font-size:.78rem;display:flex}.field-row input,.field-row select,.field-row-inline input,.field-row-inline select{background:var(--bg);border:1px solid var(--border);color:var(--text);font:inherit;box-sizing:border-box;border-radius:6px;width:100%;min-width:0;padding:.35rem .5rem}.jog-pad,.zero-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:1rem}.jog-dro{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;padding:.4rem .6rem;font-size:.95rem;display:flex}.jog-step-row{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.jog-feed-unit{color:var(--text-dim)}.jog-step-row .step-btn{padding:.35rem .45rem;font-size:.76rem}.jog-pad kbd{font:inherit;border:1px solid var(--border);background:var(--bg);border-radius:4px;padding:.05rem .3rem;font-size:.72rem}.step-btn,.jog-btn,.zero-row button{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:.4rem .6rem;font-size:.8rem}.step-btn.active{border-color:var(--accent);color:var(--accent)}.jog-motion{border:0;min-width:0;margin:0;padding:0}.jog-motion:disabled{opacity:.5}.jog-locked{color:#e0b568;margin:0 0 .6rem;font-size:.8rem}.jog-grid{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);gap:.35rem;display:grid}.jog-btn{justify-content:center;align-items:center;font-size:1.1rem;display:flex}.jog-center{color:var(--text-dim);gap:.15rem;font-size:.72rem}.jog-center:hover{color:var(--accent);border-color:var(--accent)}.jog-z{gap:.35rem;margin-top:.6rem;display:flex}.zero-row{gap:.4rem;margin-bottom:.5rem;display:flex}.zero-row button{flex:1}.gcode-line{gap:.4rem;margin-top:.2rem;display:flex}.gcode-line input{border:1px solid var(--border);min-width:0;color:var(--text);font-family:var(--font-mono);background:#0b0d11;border-radius:6px;flex:1;padding:.4rem .5rem;font-size:.8rem}.gcode-line input:disabled{opacity:.5}.gcode-line button{flex:none}.gamepad-toggle{color:var(--text-dim);align-items:center;gap:.5rem;margin-top:.5rem;font-size:.78rem;display:flex}.gamepad-status{color:var(--text-dim)}.gamepad-status.ok{color:#6ee7a0}.console-pane{border:1px solid var(--border);max-height:300px;font-family:var(--font-mono);background:#0b0d11;border-radius:8px;padding:.5rem;font-size:.75rem;overflow-y:auto}.console-line{color:var(--text-dim);white-space:pre-wrap;word-break:break-all;padding:.1rem 0}.console-dir{color:#4a5162;width:1.2em;display:inline-block}.console-tx{color:var(--accent)}.probe-panel h3,.macro-panel h3,.settings-panel h3{margin:0 0 .5rem;font-size:.9rem}.probe-fields{gap:1rem;margin:.75rem 0;display:flex}.probe-fields label,.safe-z-field{color:var(--text-dim);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.probe-fields input,.probe-fields select,.safe-z-field input{background:var(--bg);border:1px solid var(--border);width:90px;color:var(--text);font:inherit;border-radius:6px;padding:.3rem .5rem}.probe-success{color:#6ee7a0;font-size:.8rem}.probe-steps{gap:.4rem;margin:.5rem 0;display:flex}.probe-step{background:var(--bg);border:1px solid var(--border);color:var(--text-dim);font:inherit;cursor:pointer;border-radius:6px;padding:.35rem .6rem;font-size:.8rem}.probe-step.active{color:var(--accent);border-color:var(--accent)}.macro-list{flex-direction:column;gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.macro-item{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.macro-name{flex:1;font-size:.85rem}.macro-item button{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:.3rem .6rem;font-size:.75rem}.macro-name-input,.macro-gcode-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;font-family:var(--font-mono);border-radius:6px;padding:.4rem;font-size:.78rem}.settings-actions{gap:.5rem;margin-bottom:.5rem;display:flex}.settings-actions button{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:.4rem .8rem;font-size:.8rem}.settings-diff{margin-bottom:.75rem}.settings-table{border-collapse:collapse;width:100%;font-size:.78rem}.settings-table td{border-bottom:1px solid var(--border);padding:.25rem .5rem}.settings-key{color:var(--accent);font-family:var(--font-mono)}.settings-desc{color:var(--text-dim)}.settings-table input{background:var(--bg);border:1px solid var(--border);width:100px;color:var(--text);font:inherit;border-radius:6px;padding:.25rem .4rem}.check-view-wrap{flex:1;min-height:0;display:flex;position:relative}.sim-status{border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text-secondary);pointer-events:none;border-radius:6px;padding:.3rem .8rem;font-size:.8rem;position:absolute;bottom:.75rem;left:.75rem}.sim-status .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}[data-theme=light] .draw-layout{background:var(--wb-bg);color:var(--wb-text);font-family:var(--font-ui);flex-direction:row}[data-theme=light] .pane-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--wb-text-secondary);padding:12px 12px 6px;font-size:11px;font-weight:600}[data-theme=light] .pane-hint{color:var(--wb-text-secondary);margin:6px 0 0;font-size:11.5px;line-height:1.45}[data-theme=light] .objects-pane{background:var(--wb-panel);border-right:1px solid var(--wb-border);flex-direction:column;flex:none;width:216px;display:flex;overflow-y:auto}[data-theme=light] .stock-card{border-bottom:1px solid var(--wb-border-soft);padding-bottom:12px}[data-theme=light] .stock-fields{gap:6px;padding:0 12px;display:flex}[data-theme=light] .stock-fields label{color:var(--wb-text-secondary);flex-direction:column;flex:1;gap:2px;min-width:0;font-size:11px;display:flex}[data-theme=light] .stock-fields input{box-sizing:border-box;background:var(--wb-bg);border:1px solid var(--wb-border);border-radius:var(--radius-s);width:100%;min-width:0;color:var(--wb-text);padding:5px 6px;font-size:12.5px}[data-theme=light] .stock-material{color:var(--wb-text-secondary);flex-direction:column;gap:2px;padding:8px 12px 0;font-size:11px;display:flex}[data-theme=light] .stock-material select{background:var(--wb-bg);border:1px solid var(--wb-border);border-radius:var(--radius-s);color:var(--wb-text);font:inherit;padding:5px 6px;font-size:12.5px}[data-theme=light] .stock-card .pane-hint,[data-theme=light] .objects-pane>.pane-hint{padding:0 12px}[data-theme=light] .twosided-card{padding:8px 12px 0}[data-theme=light] .twosided-toggle{color:var(--wb-text);cursor:pointer;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}[data-theme=light] .twosided-pro{color:var(--wb-accent);background:var(--wb-sel-fill);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px;font-weight:600}[data-theme=light] .twosided-setup{border:1px solid var(--wb-border-soft);border-radius:var(--radius-m);background:var(--wb-bg);flex-direction:column;gap:8px;margin-top:8px;padding:8px;display:flex}[data-theme=light] .twosided-field{flex-direction:column;gap:3px;display:flex}[data-theme=light] .twosided-lbl{color:var(--wb-text-secondary);font-size:11px}[data-theme=light] .twosided-field select{background:var(--wb-panel);border:1px solid var(--wb-border);border-radius:var(--radius-s);color:var(--wb-text);font:inherit;padding:5px 6px;font-size:12.5px}[data-theme=light] .seg{border:1px solid var(--wb-border);border-radius:var(--radius-s);gap:0;display:flex;overflow:hidden}[data-theme=light] .seg-btn{appearance:none;background:var(--wb-panel);color:var(--wb-text-secondary);font:inherit;cursor:pointer;border:none;flex:1;padding:5px 6px;font-size:12px}[data-theme=light] .seg-btn+.seg-btn{border-left:1px solid var(--wb-border)}[data-theme=light] .seg-btn.active{background:var(--wb-sel-fill);color:var(--wb-accent);font-weight:600}[data-theme=light] .face-badge{appearance:none;border:1px solid var(--wb-border);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}[data-theme=light] .face-badge.front{color:var(--wb-text-secondary);background:var(--wb-bg)}[data-theme=light] .face-badge.back{color:var(--wb-warn);background:var(--wb-warn-bg);border-color:var(--wb-warn-bg)}[data-theme=light] .flip-divider{letter-spacing:.04em;color:var(--wb-accent);text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}[data-theme=light] .flip-divider:before,[data-theme=light] .flip-divider:after{content:"";border-top:1px dashed var(--wb-accent);opacity:.5;flex:1}[data-theme=light] .add-tools{border-bottom:1px solid var(--wb-border-soft);grid-template-columns:1fr 1fr;gap:6px;padding:0 12px 12px;display:grid}[data-theme=light] .add-tool{appearance:none;border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;white-space:nowrap;padding:7px 6px;font-size:12px}[data-theme=light] .add-tool:hover{background:var(--wb-bg)}[data-theme=light] .add-tool.active{border-color:var(--wb-accent);color:var(--wb-accent);background:var(--wb-sel-fill)}[data-theme=light] .object-list{flex:1;margin:0;padding:0 6px 12px;list-style:none}[data-theme=light] .object-list>.pane-hint{padding:0 6px}[data-theme=light] .object-row{border-radius:var(--radius-s);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 8px;font-size:12.5px;display:flex}[data-theme=light] .object-row:hover{background:var(--wb-bg)}[data-theme=light] .object-row.selected{background:var(--wb-sel-fill);color:var(--wb-accent)}[data-theme=light] .object-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}[data-theme=light] .object-group{color:var(--wb-text-secondary);font-size:11px}[data-theme=light] .object-delete{appearance:none;color:var(--wb-text-secondary);cursor:pointer;visibility:hidden;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:11px}[data-theme=light] .object-row:hover .object-delete{visibility:visible}[data-theme=light] .object-delete:hover{color:var(--wb-danger);background:var(--wb-danger-bg)}[data-theme=light] .draw-center{flex-direction:column;flex:1;min-width:0;display:flex}[data-theme=light] .draw-canvas-area{flex:1;min-height:0;display:flex;position:relative}[data-theme=light] .canvas-controls{z-index:4;gap:6px;display:flex;position:absolute;top:10px;right:10px}[data-theme=light] .canvas-btn{appearance:none;border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:5px 9px;font-size:11.5px;box-shadow:0 1px 2px #26241f0f}[data-theme=light] .canvas-btn:hover{background:var(--wb-bg)}[data-theme=light] .canvas-btn.active{border-color:var(--wb-accent);color:var(--wb-accent);background:var(--wb-sel-fill)}[data-theme=light] .canvas-btn:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .cam-canvas-wrap{flex:1;min-height:0;position:relative}[data-theme=light] .cam-canvas{background:#eceae4}[data-theme=light] .cam-grid line{stroke:#dfdcd4}[data-theme=light] .stock-outline{fill:url(#wbWood);stroke:var(--wood-border);stroke-width:1.5px}[data-theme=light] .cam-shape polygon{fill:#3f6fae14;stroke:var(--wb-accent);stroke-width:1.5px}[data-theme=light] .cam-shape.selected polygon{stroke:var(--wb-accent);stroke-width:2.5px;fill:#3f6fae2e}[data-theme=light] .cam-shape.selected.reference polygon{stroke:var(--tool-dot);stroke-dasharray:6 3}[data-theme=light] .cam-handle{fill:var(--wb-dial);stroke:var(--wb-panel)}.cam-point-handle{fill:#fbfaf8;stroke:#3f6fae;stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:grab}.cam-point-handle:active{cursor:grabbing}[data-theme=light] .cam-crosshair line{stroke:var(--wb-accent)}[data-theme=light] .marquee{fill:#3f6fae12;stroke:var(--wb-accent)}[data-theme=light] .draw-preview{fill:#3e6b481a;stroke:var(--wb-ok)}[data-theme=light] .array-ghosts polygon{fill:#3e6b4814;stroke:var(--wb-ok)}[data-theme=light] .revolve-footprint circle,[data-theme=light] .revolve-footprint line{stroke:var(--wb-accent)}[data-theme=light] .depth-legend{border:1px solid var(--wb-border);background:#fbfaf8f0;box-shadow:0 2px 8px #26241f1f}[data-theme=light] .depth-legend-row,[data-theme=light] .depth-legend-hint{color:var(--wb-text-secondary)}[data-theme=light] .depth-legend-ramp{border:1px solid var(--wb-border)}[data-theme=light] .dyn-box{border:1px solid var(--wb-accent);background:#fbfaf8f5;box-shadow:0 2px 8px #26241f1f}[data-theme=light] .dyn-field{color:var(--wb-text-secondary)}[data-theme=light] .dyn-input{background:var(--wb-panel);border:1px solid var(--wb-border);color:var(--wb-text)}[data-theme=light] .dyn-input.active{border-color:var(--wb-accent)}[data-theme=light] .dyn-ref{color:var(--wb-text-secondary);border:1px dashed var(--wb-border)}[data-theme=light] .dyn-chain-btn{border-color:var(--wb-border);color:var(--wb-text);background:var(--wb-panel)}[data-theme=light] .dyn-chain-btn.done{border-color:var(--wb-ok);color:var(--wb-ok)}[data-theme=light] .numeric-bar{background:var(--wb-panel);border-top:1px solid var(--wb-border);flex-wrap:wrap;flex:none;align-items:center;gap:10px;min-height:44px;padding:6px 12px;display:flex}[data-theme=light] .numeric-bar>.pane-hint{margin:0}[data-theme=light] .numeric-fields,[data-theme=light] .numeric-cluster{align-items:center;gap:6px;display:flex}[data-theme=light] .numeric-cluster{border-left:1px solid var(--wb-border-soft);padding-left:10px}[data-theme=light] .numeric-field{color:var(--wb-text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}[data-theme=light] .numeric-field input{background:var(--wb-bg);border:1px solid var(--wb-border);border-radius:var(--radius-s);width:4.6rem;color:var(--wb-text);padding:5px 6px;font-size:12.5px}[data-theme=light] .numeric-field input:focus{border-color:var(--wb-accent);outline:none}[data-theme=light] .copies-cluster .numeric-field input{width:3.2rem}[data-theme=light] .numeric-field.text-field input{text-align:left;width:12rem}[data-theme=light] .numeric-cluster button{appearance:none;border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);font:inherit;border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;padding:5px 8px;font-size:11.5px}[data-theme=light] .numeric-cluster button:hover:not(:disabled){background:var(--wb-bg)}[data-theme=light] .numeric-cluster button:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .fill-report{color:var(--wb-ok);font-size:11.5px}[data-theme=light] .operations-pane{background:var(--wb-panel);border-left:1px solid var(--wb-border);flex-direction:column;flex:none;width:340px;display:flex;overflow-y:auto}[data-theme=light] .op-add-row{border-bottom:1px solid var(--wb-border-soft);flex-wrap:wrap;gap:6px;padding:0 12px 10px;display:flex}[data-theme=light] .op-add-row button{appearance:none;border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:6px 9px;font-size:12px}[data-theme=light] .op-add-row button:hover:not(:disabled){background:var(--wb-bg)}[data-theme=light] .op-add-row button:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .op-add-row .draw-tool-btn.active{border-color:var(--wb-accent);color:var(--wb-accent);background:var(--wb-sel-fill);font-weight:600}[data-theme=light] .op-add-row .draw-tool-btn.active:before{content:"✓ "}.text-add-row{margin-top:12px}.text-add-row .primary{width:100%}[data-theme=light] .operations-pane>.pane-hint{padding:10px 12px 0}[data-theme=light] .op-list{flex-direction:column;flex:1;gap:10px;margin:0;padding:10px 12px;list-style:none;display:flex}[data-theme=light] .op-card{border:1px solid var(--wb-border);border-radius:var(--radius-l);background:var(--wb-panel);flex-direction:column;gap:8px;padding:10px;display:flex}[data-theme=light] .op-card.disabled{opacity:.55}[data-theme=light] .op-card-head{align-items:center;gap:6px;display:flex}[data-theme=light] .op-chip{letter-spacing:.03em;color:var(--wb-accent);background:var(--wb-sel-fill);text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:600}[data-theme=light] .op-name{min-width:0;color:var(--wb-text);font:inherit;background:0 0;border:none;border-radius:3px;flex:1;padding:2px 4px;font-size:13px;font-weight:600}[data-theme=light] .op-name:focus{outline:1px solid var(--wb-accent)}[data-theme=light] .op-count{color:var(--wb-text-secondary);white-space:nowrap;font-size:11px}[data-theme=light] .op-icon-btn{appearance:none;color:var(--wb-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px}[data-theme=light] .op-icon-btn:hover:not(:disabled){background:var(--wb-bg);color:var(--wb-text)}[data-theme=light] .op-icon-btn:disabled{opacity:.35;cursor:not-allowed}[data-theme=light] .op-tool-row{align-items:center;gap:8px;display:flex}[data-theme=light] .op-tool-row select{background:var(--wb-bg);border:1px solid var(--wb-border);border-radius:var(--radius-s);min-width:0;color:var(--wb-text);font:inherit;flex:1;padding:5px 6px;font-size:12px}[data-theme=light] .dial-chip{color:var(--wb-dial);background:var(--wb-warn-bg);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600}[data-theme=light] .op-feeds{flex-wrap:wrap;gap:4px 10px;font-size:11.5px;display:flex}[data-theme=light] .op-feeds .proposed{color:var(--wb-accent)}[data-theme=light] .op-feeds .overridden{color:var(--wb-text)}[data-theme=light] .op-body{flex-direction:column;gap:8px;display:flex}[data-theme=light] .op-grid{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}[data-theme=light] .op-grid label{color:var(--wb-text-secondary);flex-direction:column;gap:2px;min-width:0;font-size:11px;display:flex}[data-theme=light] .op-grid-wide{grid-column:1/3}[data-theme=light] .op-grid input,[data-theme=light] .op-grid select{box-sizing:border-box;background:var(--wb-bg);border:1px solid var(--wb-border);border-radius:var(--radius-s);width:100%;min-width:0;color:var(--wb-text);font:inherit;padding:5px 6px;font-size:12px}[data-theme=light] .op-toggle{color:var(--wb-text);align-items:center;gap:6px;font-size:12px;display:flex}[data-theme=light] .op-grid-toggle{flex-direction:row;align-self:end;align-items:center;padding-bottom:6px}[data-theme=light] .op-block{color:var(--wb-danger);background:var(--wb-danger-bg);border-radius:var(--radius-s);margin:0;padding:6px 8px;font-size:11.5px}[data-theme=light] .op-add-shape{appearance:none;border:1px dashed var(--wb-border);color:var(--wb-text-secondary);font:inherit;border-radius:var(--radius-s);cursor:pointer;background:0 0;align-self:flex-start;padding:5px 8px;font-size:11.5px}[data-theme=light] .op-add-shape:hover:not(:disabled){color:var(--wb-accent);border-color:var(--wb-accent)}[data-theme=light] .op-add-shape:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .bit-divider{letter-spacing:.04em;color:var(--wb-warn);text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}[data-theme=light] .bit-divider:before,[data-theme=light] .bit-divider:after{content:"";border-top:1px dashed var(--wb-warn);opacity:.5;flex:1}[data-theme=light] .op-secondary{appearance:none;border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;margin:0 12px 10px;padding:7px 10px;font-size:12px}[data-theme=light] .operations-pane>.op-block{margin:0 12px 10px}[data-theme=light] .ops-footer{background:var(--wb-panel);border-top:1px solid var(--wb-border);padding:10px 12px;position:sticky;bottom:0}[data-theme=light] .cta{appearance:none;color:#fbfaf8;width:100%;font:inherit;border-radius:var(--radius-m);cursor:pointer;background:#26241f;border:none;padding:11px 14px;font-size:13.5px;font-weight:600}[data-theme=light] .cta:hover:not(:disabled){background:#3a372f}[data-theme=light] .cta:disabled{opacity:.45;cursor:not-allowed}.wb-dialog-backdrop{z-index:20;background:#26241f59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wb-dialog{background:var(--wb-panel,#fbfaf8);color:var(--wb-text,#26241f);border-radius:var(--radius-l);border:1px solid var(--wb-border,#d8d4cc);width:min(440px,100vw - 32px);max-height:calc(100vh - 64px);overflow-y:auto;box-shadow:0 12px 40px #26241f40}.wb-dialog-head{border-bottom:1px solid var(--wb-border-soft,#e4e0d8);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;display:flex}.wb-dialog-close{appearance:none;color:var(--wb-text-secondary,#8a857a);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:13px}.wb-dialog-close:hover{background:var(--wb-bg,#f2f0ec)}.wb-dialog-body{padding:4px 16px 16px}.wb-dialog-body h3{display:none}.wb-dialog-body .field-row input,.wb-dialog-body .field-row select,.wb-dialog-body .field-row-inline input,.wb-dialog-body .field-row-inline select{background:var(--wb-bg,#f2f0ec);border:1px solid var(--wb-border,#d8d4cc);color:var(--wb-text,#26241f)}.wb-dialog-body .field-row,.wb-dialog-body .field-row-inline label,.wb-dialog-body .hint{color:var(--wb-text-secondary,#8a857a)}.wb-dialog-body button{appearance:none;border:1px solid var(--wb-border,#d8d4cc);background:var(--wb-panel,#fbfaf8);color:var(--wb-text,#26241f);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:6px 10px;font-size:12.5px}.wb-dialog-body button:hover{background:var(--wb-bg,#f2f0ec)}.template-list{flex-direction:column;gap:4px;margin:10px 0 14px;display:flex}.wb-dialog-body .template-row{text-align:left;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.wb-dialog-body .template-row.active{border-color:var(--wb-accent,#3f6fae);background:var(--wb-sel-fill,#e7edf5)}.template-name{font-size:12.5px;font-weight:600}.template-desc{color:var(--wb-text-secondary,#8a857a);font-size:11px;line-height:1.35}.layer-plan{flex-direction:column;gap:8px;margin:10px 0 12px;padding:0;list-style:none;display:flex}.layer-plan-row{border:1px solid var(--wb-border,#d8d4cc);border-radius:var(--radius-s);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}.layer-plan-name{flex-direction:column;flex:130px;gap:1px;min-width:0;display:flex}.layer-plan-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.layer-plan-depth{align-items:center;gap:6px;font-size:12px;display:flex}.layer-plan-depth input{width:64px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.layer-plan-depth-error{color:var(--wb-warn);flex-basis:100%;font-size:11px}.wb-dialog-body textarea{box-sizing:border-box;resize:vertical;background:var(--wb-bg,#f2f0ec);border:1px solid var(--wb-border,#d8d4cc);border-radius:var(--radius-s);width:100%;color:var(--wb-text,#26241f);font-family:var(--font-mono);padding:6px 8px;font-size:12.5px}.wb-dialog-wide{width:min(780px,100vw - 32px)}[data-theme=light] .op-load-warning{color:var(--wb-warn);background:var(--wb-warn-bg)}.machine-dialog{flex-direction:column;gap:8px;padding-top:8px;display:flex}.machine-field{align-items:center;gap:10px;font-size:12.5px;display:flex}.machine-field span{width:110px;color:var(--wb-text-secondary,#8a857a)}.machine-field select{background:var(--wb-bg,#f2f0ec);border:1px solid var(--wb-border,#d8d4cc);color:var(--wb-text,#26241f);font:inherit;border-radius:var(--radius-m);flex:1;padding:5px 8px;font-size:12.5px}.machine-info{color:var(--wb-text-secondary,#8a857a);margin:0 0 4px 120px;font-size:11px}.machine-note{color:var(--wb-warn,#8a6a2a);background:var(--wb-warn-bg,#f6efdd);border-radius:var(--radius-s);margin:4px 0 0;padding:6px 8px;font-size:11.5px}.machine-actions{justify-content:flex-end;padding-top:4px;display:flex}.toollib{flex-direction:column;gap:10px;padding-top:8px;display:flex}.toollib-actions{gap:8px;display:flex}.toollib-error,.toollib-notice{border-radius:var(--radius-s);margin:0;padding:6px 8px;font-size:11.5px}.toollib-error{color:var(--wb-danger,#a33d2a);background:var(--wb-danger-bg,#f6e3de)}.toollib-notice{color:var(--wb-ok,#3e6b48);background:var(--wb-ok-bg,#e9f0e9)}.toollib-form{border:1px solid var(--wb-border-soft,#e4e0d8);border-radius:var(--radius-m);grid-template-columns:repeat(4,1fr);gap:8px;padding:10px;display:grid}.toollib-form label{color:var(--wb-text-secondary,#8a857a);flex-direction:column;gap:3px;font-size:11px;display:flex}.toollib-form input,.toollib-form select{background:var(--wb-bg,#f2f0ec);border:1px solid var(--wb-border,#d8d4cc);color:var(--wb-text,#26241f);font:inherit;border-radius:var(--radius-s);min-width:0;padding:4px 6px;font-size:12px}.toollib-form-name{grid-column:span 2}.toollib-form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.toollib-table{border-collapse:collapse;width:100%;font-size:11.5px}.toollib-table th{text-align:left;color:var(--wb-text-secondary,#8a857a);border-bottom:1px solid var(--wb-border,#d8d4cc);padding:4px 6px;font-weight:600}.toollib-table td{border-bottom:1px solid var(--wb-border-soft,#e4e0d8);white-space:nowrap;padding:4px 6px}.toollib-table .toollib-name{white-space:normal}.toollib-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:600}.toollib-chip.user{color:var(--wb-ok,#3e6b48);background:var(--wb-ok-bg,#e9f0e9)}.toollib-chip.override{color:var(--wb-warn,#8a6a2a);background:var(--wb-warn-bg,#f6efdd)}.toollib-row-actions{gap:4px;display:flex}.toollib-row-actions button{padding:3px 8px;font-size:11px}.toollib-hint{color:var(--wb-text-secondary,#8a857a);margin:0;font-size:11px}.mesh-import-list{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.mesh-import-row{border:1px solid var(--wb-border,var(--border));border-radius:var(--radius-m,6px);gap:10px;padding:8px;display:flex}.mesh-import-row canvas{border-radius:var(--radius-m,6px);background:var(--wb-bg,var(--bg));flex:none;max-width:180px;max-height:180px}.mesh-import-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.photo-import-warning{color:var(--wb-warn);background:var(--wb-warn-bg);border:1px solid var(--wb-warn);border-radius:var(--radius-m,6px);align-items:center;gap:12px;margin:10px 0 0;padding:7px 10px;font-size:12px;display:flex}.photo-import-warning button{appearance:none;border:1px solid var(--wb-warn);color:var(--wb-warn);font:inherit;border-radius:var(--radius-s,4px);cursor:pointer;background:0 0;margin-left:auto;padding:2px 10px;font-size:11.5px}.op-chip-row{flex-wrap:wrap;gap:6px;display:flex}.op-chip-row .op-secondary{margin:0;padding:4px 9px;font-size:11.5px}.op-chip-row .op-secondary.active{border-color:var(--wb-accent,#b4761f);color:var(--wb-accent,#b4761f);background:var(--wb-sel-fill,#f6efdd);font-weight:600}.tone-picker{flex-direction:column;gap:6px;display:flex}.tone-thumb{border-radius:var(--radius-m,6px);background:var(--wb-bg,var(--bg));align-self:center;max-width:100%;height:auto}.tone-slider{color:var(--wb-text-secondary,#8a857a);align-items:center;gap:6px;font-size:11px;display:flex}.tone-slider input[type=range]{flex:1;min-width:0}.tone-number{box-sizing:border-box;background:var(--wb-bg,var(--bg));border:1px solid var(--wb-border,var(--border));border-radius:var(--radius-s,4px);width:56px;color:var(--wb-text,var(--text));font:inherit;flex:none;padding:4px 5px;font-size:12px}.tone-histogram{width:100%;height:24px;color:var(--wb-text-secondary,#8a857a);background:var(--wb-bg,var(--bg));border:1px solid var(--wb-border,var(--border));border-radius:var(--radius-s,4px);display:block}.tone-histogram-bar{fill:currentColor;opacity:.75}.tone-histogram-skip{fill:var(--wb-bg,var(--bg));opacity:.7}.tone-histogram-cutoff{stroke:var(--wb-accent,#b4761f);stroke-width:.5px;vector-effect:non-scaling-stroke}[data-theme=light] .check-layout{background:var(--wb-bg);color:var(--wb-text);font-family:var(--font-ui);flex-direction:row}[data-theme=light] .check-empty{justify-content:center;align-items:center}[data-theme=light] .check-empty-card{background:var(--wb-panel);border:1px solid var(--wb-border);border-radius:var(--radius-l);text-align:center;max-width:380px;padding:8px 28px 28px}[data-theme=light] .check-empty-card p{color:var(--wb-text-secondary);font-size:13.5px;line-height:1.5}[data-theme=light] .check-empty-card .cta{width:auto;padding:10px 22px}[data-theme=light] .check-center{flex-direction:column;flex:1;min-width:0;display:flex}[data-theme=light] .check-preview{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}[data-theme=light] .check-preview .three-view{flex:1;min-height:0}[data-theme=light] .transport-bar{background:var(--wb-panel);border-top:1px solid var(--wb-border);flex:none;align-items:center;gap:6px;min-height:44px;padding:6px 12px;display:flex}[data-theme=light] .transport-bar button{appearance:none;border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:6px 10px;font-size:12.5px}[data-theme=light] .transport-bar button:hover{background:var(--wb-bg)}[data-theme=light] .transport-bar .speed-btn.active{border-color:var(--wb-accent);color:var(--wb-accent);background:var(--wb-sel-fill)}[data-theme=light] .transport-op-chip{color:var(--wb-accent);background:var(--wb-sel-fill);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:220px;padding:3px 10px;font-size:11px;overflow:hidden}[data-theme=light] .transport-slider{accent-color:var(--wb-accent);flex:1}[data-theme=light] .transport-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--wb-text-secondary);white-space:nowrap;font-size:12px}[data-theme=light] .check-advanced{border-top:1px solid var(--wb-border);background:var(--wb-panel);flex-direction:column;flex:none;max-height:45%;display:flex}[data-theme=light] .check-advanced-toggle{appearance:none;color:var(--wb-text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:12px}[data-theme=light] .check-advanced-toggle:hover{color:var(--wb-text)}[data-theme=light] .check-advanced .gcode-text-pane{background:var(--wb-panel);border-top:1px solid var(--wb-border-soft);min-height:180px;font-family:var(--font-mono);flex:1;font-size:12px;overflow-y:auto}[data-theme=light] .gcode-line{color:var(--wb-text);cursor:pointer;white-space:pre;gap:10px;padding:0 12px;display:flex;position:absolute;left:0;right:0}[data-theme=light] .gcode-line:hover{background:var(--wb-bg)}[data-theme=light] .gcode-line.selected{background:var(--wb-sel-fill)}[data-theme=light] .gcode-line.has-error{background:var(--wb-danger-bg)}[data-theme=light] .gcode-line.has-warning{background:var(--wb-warn-bg)}[data-theme=light] .gcode-line-no{color:var(--wb-text-secondary);text-align:right;-webkit-user-select:none;user-select:none;min-width:4ch}[data-theme=light] .gcode-line-text{text-overflow:ellipsis;overflow:hidden}[data-theme=light] .findings-panel{background:var(--wb-panel);border-left:1px solid var(--wb-border);flex-direction:column;flex:none;width:300px;display:flex;overflow-y:auto}[data-theme=light] .verdict{border-radius:var(--radius-m);margin:0 12px;padding:9px 11px;font-size:12.5px;font-weight:600}[data-theme=light] .verdict.ok{color:var(--wb-ok);background:var(--wb-ok-bg)}[data-theme=light] .verdict.warn{color:var(--wb-warn);background:var(--wb-warn-bg)}[data-theme=light] .verdict.bad{color:var(--wb-danger);background:var(--wb-danger-bg)}[data-theme=light] .findings-list{flex-direction:column;gap:2px;padding:8px 12px 0;display:flex}[data-theme=light] .finding-row{border-radius:var(--radius-s);text-align:left;margin:0;padding:4px 6px;font-size:12px;line-height:1.45}[data-theme=light] .finding-row.error{color:var(--wb-danger)}[data-theme=light] .finding-row.warning{color:var(--wb-warn)}[data-theme=light] .finding-row.clickable{appearance:none;font:inherit;cursor:pointer;background:0 0;border:none}[data-theme=light] .finding-row.clickable:hover{background:var(--wb-bg)}[data-theme=light] .finding-file{color:var(--wb-text-secondary)}[data-theme=light] .check-stats{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;padding:0 12px;font-size:12px;display:grid}[data-theme=light] .check-stats dt{color:var(--wb-text-secondary);font-family:var(--font-ui)}[data-theme=light] .check-stats dd{text-align:right;margin:0}[data-theme=light] .pane-heading-note{text-transform:none;letter-spacing:normal;font-weight:400}[data-theme=light] .output-files{flex-direction:column;flex:1;gap:6px;margin:0;padding:0 12px;list-style:none;display:flex}[data-theme=light] .output-file{border:1px solid var(--wb-border);border-radius:var(--radius-m);align-items:stretch;gap:4px;display:flex;overflow:hidden}[data-theme=light] .output-file.active{border-color:var(--wb-accent);background:var(--wb-sel-fill)}[data-theme=light] .output-file-main{appearance:none;font:inherit;cursor:pointer;min-width:0;color:var(--wb-text);text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:8px;display:flex}[data-theme=light] .output-file-status{color:var(--wb-ok)}[data-theme=light] .output-file-status.bad{color:var(--wb-danger)}[data-theme=light] .output-file-color{border:1px solid #0000001f;border-radius:3px;flex:none;width:10px;height:10px}[data-theme=light] .output-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}[data-theme=light] .output-file-time{color:var(--wb-text-secondary);white-space:nowrap;font-size:11px}[data-theme=light] .output-file-dl{appearance:none;border:none;border-left:1px solid var(--wb-border-soft);color:var(--wb-text-secondary);cursor:pointer;background:0 0;padding:0 10px;font-size:13px}[data-theme=light] .output-file-dl:hover{color:var(--wb-accent);background:var(--wb-bg)}[data-theme=light] .findings-panel .bit-divider{margin:2px 0 8px}[data-theme=light] .findings-footer{background:var(--wb-panel);border-top:1px solid var(--wb-border);flex-direction:column;gap:8px;margin-top:auto;padding:10px 12px;display:flex;position:sticky;bottom:0}[data-theme=light] .findings-footer .verdict{margin:0}[data-theme=light] .finding-row.info,[data-theme=dark] .finding-row.info{color:var(--wb-text-secondary)}[data-theme=dark] .cut-layout{background:var(--wb-bg);color:var(--wb-text);font-family:var(--font-ui);flex-direction:column}[data-theme=dark] .cut-alarm{background:var(--wb-danger-bg);color:var(--wb-danger);border-bottom:1px solid var(--wb-danger);flex:none;padding:12px 16px;font-size:14px;font-weight:600}[data-theme=dark] .cut-stale-warning{background:var(--wb-warn-bg);color:var(--wb-warn);border-bottom:1px solid var(--wb-warn);flex:none;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}[data-theme=dark] .cut-stale-warning button{appearance:none;border:1px solid var(--wb-warn);color:var(--wb-warn);font:inherit;border-radius:var(--radius-s);cursor:pointer;background:0 0;margin-left:auto;padding:4px 10px;font-size:12px}[data-theme=dark] .cut-columns{flex:1;min-height:0;display:flex}[data-theme=dark] .stage-panel{background:var(--wb-panel);border-right:1px solid var(--wb-border);flex-direction:column;flex:none;gap:12px;width:390px;padding:14px;display:flex;overflow-y:auto}[data-theme=dark] .connect-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}[data-theme=dark] .connect-btn{appearance:none;border:1px solid var(--wb-accent);color:var(--wb-accent);font:inherit;border-radius:var(--radius-m);cursor:pointer;background:0 0;min-height:44px;padding:10px 16px;font-size:13.5px;font-weight:600}[data-theme=dark] .connect-btn:hover:not(:disabled){background:#7db4e01f}[data-theme=dark] .connect-chip{border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;display:inline-flex}[data-theme=dark] .connect-chip.connected{color:var(--wb-ok-bright);background:var(--wb-ok-bg)}[data-theme=dark] .connect-chip.unsupported{color:var(--wb-warn);background:var(--wb-warn-bg)}[data-theme=dark] .live-dot{background:var(--wb-ok-bright);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite wbPulse}[data-theme=dark] .connect-secondary{appearance:none;border:1px solid var(--wb-border);color:var(--wb-text-secondary);font:inherit;border-radius:var(--radius-s);cursor:pointer;background:0 0;padding:5px 10px;font-size:12px}[data-theme=dark] .connect-error{color:var(--wb-danger);font-size:12px}[data-theme=dark] .stage-title{font-size:17px;font-weight:700}[data-theme=dark] .stage-hint{color:var(--wb-text-secondary);margin:0;font-size:13px;line-height:1.5}[data-theme=dark] .stage-error{color:var(--wb-danger);background:var(--wb-danger-bg);border-radius:var(--radius-s);margin:0;padding:8px 10px;font-size:12.5px}[data-theme=dark] .handover-card{border:1px solid var(--wb-warn);border-radius:var(--radius-l);background:var(--wb-warn-bg);flex-direction:column;gap:4px;padding:14px;display:flex}[data-theme=dark] .handover-label{letter-spacing:.08em;text-transform:uppercase;color:var(--wb-warn);font-size:11px;font-weight:600}[data-theme=dark] .handover-tool{font-size:16px;font-weight:700}[data-theme=dark] .handover-dial{color:var(--wb-warn);font-size:15px}[data-theme=dark] .handover-dial strong{font-size:30px;font-weight:700}[data-theme=dark] .handover-keep{color:var(--wb-text-secondary);font-size:12.5px}[data-theme=dark] .handover-card.flip{border-color:var(--wb-accent);background:var(--wb-sel-fill)}[data-theme=dark] .handover-card.flip .handover-label,[data-theme=dark] .handover-keep.flip{color:var(--wb-accent)}[data-theme=dark] .checklist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}[data-theme=dark] .check-row{border:1px solid var(--wb-border);border-radius:var(--radius-m);cursor:pointer;align-items:center;gap:12px;min-height:44px;padding:6px 10px;font-size:13.5px;line-height:1.4;display:flex}[data-theme=dark] .check-row:hover{background:var(--wb-bg)}[data-theme=dark] .check-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--wb-ok-bright);flex:none}[data-theme=dark] .check-main{flex-direction:column;flex:1;gap:3px;display:flex}[data-theme=dark] .check-label{flex:1}[data-theme=dark] .check-hint{color:var(--wb-text-secondary);font-size:11.5px;line-height:1.4}[data-theme=dark] .check-action:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] .check-row:has(input:checked){border-color:var(--wb-ok);color:var(--wb-text-secondary)}[data-theme=dark] .check-action{appearance:none;border:1px solid var(--wb-accent);color:var(--wb-accent);font:inherit;border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 10px;font-size:12px}[data-theme=dark] .reentry-bar{border:1px solid var(--wb-border);border-radius:var(--radius-m);background:var(--wb-panel);flex-direction:column;gap:8px;padding:12px;display:flex}[data-theme=dark] .reentry-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}[data-theme=dark] .reentry-title{letter-spacing:.06em;text-transform:uppercase;color:var(--wb-text-secondary);font-size:12px;font-weight:600}[data-theme=dark] .reentry-stop{color:var(--wb-text-tertiary);font-size:11.5px}[data-theme=dark] .reentry-slider-row{align-items:center;gap:10px;display:flex}[data-theme=dark] .reentry-slider{min-width:0;min-height:44px;accent-color:var(--wb-accent);flex:1}[data-theme=dark] .reentry-last10,[data-theme=dark] .reentry-preview,[data-theme=dark] .reentry-clear{appearance:none;border:1px solid var(--wb-border);color:var(--wb-text);font:inherit;border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;background:0 0;min-height:44px;padding:0 14px;font-size:13px}[data-theme=dark] .reentry-preview{border-color:var(--wb-accent);color:var(--wb-accent)}[data-theme=dark] .reentry-preview:disabled{opacity:.35;cursor:not-allowed}[data-theme=dark] .reentry-preview.stop{border-style:dashed}[data-theme=dark] .reentry-readout{flex-direction:column;gap:2px;min-height:66px;display:flex}[data-theme=dark] .reentry-line{color:var(--wb-text);font-size:20px;font-weight:600}[data-theme=dark] .reentry-meta{color:var(--wb-text-secondary);font-size:13px}[data-theme=dark] .reentry-snapped{color:var(--wb-accent);font-size:12.5px}[data-theme=dark] .reentry-refused{color:var(--wb-warn);font-size:13px}[data-theme=dark] .reentry-note{color:var(--wb-text-tertiary);flex:100%;margin:0;font-size:12px;line-height:1.45}[data-theme=dark] .reentry-preview-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}[data-theme=dark] .reentry-speeds{border:1px solid var(--wb-border);border-radius:var(--radius-s);display:flex;overflow:hidden}[data-theme=dark] .reentry-speeds button{appearance:none;color:var(--wb-text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;min-height:44px;padding:0 12px;font-size:12.5px}[data-theme=dark] .reentry-speeds button.active{background:var(--wb-sel-fill);color:var(--wb-accent)}[data-theme=dark] .stage-actions{flex-direction:column;gap:8px;display:flex}[data-theme=dark] .stage-checkall{appearance:none;border:1px solid var(--wb-border);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;background:0 0;min-height:44px;padding:10px 14px;font-size:13px}[data-theme=dark] .stage-checkall:hover{background:var(--wb-bg)}[data-theme=dark] .stage-start{appearance:none;font:inherit;border-radius:var(--radius-m);cursor:pointer;border:none;min-height:48px;padding:12px 14px;font-size:14px;font-weight:700}[data-theme=dark] .stage-start.air{color:var(--wb-accent);border:1px solid var(--wb-accent);background:#7db4e026}[data-theme=dark] .stage-start.real{background:var(--wb-ok);color:#10140f}[data-theme=dark] .stage-start.real:hover:not(:disabled){background:var(--wb-ok-bright)}[data-theme=dark] .stage-start:disabled,[data-theme=dark] .connect-btn:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] .stage-done{flex-direction:column;gap:10px;display:flex}[data-theme=dark] .stage-done-mark{color:var(--wb-ok-bright);font-size:44px}[data-theme=dark] .stage-done p{color:var(--wb-text-secondary);margin:0;font-size:13.5px;line-height:1.5}[data-theme=dark] .tools-drawer-toggle{appearance:none;color:var(--wb-text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin-top:auto;padding:8px 0;font-size:12.5px}[data-theme=dark] .tools-drawer-toggle:hover{color:var(--wb-text)}[data-theme=dark] .tools-drawer{border-top:1px solid var(--wb-border);flex-direction:column;gap:12px;padding-top:10px;display:flex}[data-theme=dark] .live-column{flex-direction:column;flex:1;gap:12px;min-width:0;padding:16px 20px;display:flex;overflow-y:auto}[data-theme=dark] .live-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}[data-theme=dark] .live-job{letter-spacing:.06em;color:var(--wb-text-secondary);font-size:12px;font-weight:600}[data-theme=dark] .live-file{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}[data-theme=dark] .live-dial{color:var(--wb-warn);background:var(--wb-warn-bg);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}[data-theme=dark] .live-aircut{letter-spacing:.08em;color:var(--wb-accent);border:1px solid var(--wb-accent);background:#7db4e026;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;animation:2s ease-in-out infinite wbPulse}[data-theme=dark] .live-preview{letter-spacing:.08em;color:var(--wb-accent);border:1px dashed var(--wb-accent);background:0 0;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}[data-theme=dark] .live-paused{letter-spacing:.08em;color:var(--wb-warn);background:var(--wb-warn-bg);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}[data-theme=dark] .live-countdown{color:var(--wb-text);font-size:30px;font-weight:600}[data-theme=dark] .live-countdown.idle{opacity:.3}[data-theme=dark] .cut-dro{flex-wrap:wrap;gap:28px;display:flex}[data-theme=dark] .cut-dro.idle{opacity:.3}[data-theme=dark] .cut-dro-axis{align-items:baseline;gap:10px;display:flex}[data-theme=dark] .cut-dro-label{color:var(--wb-text-secondary);font-size:15px;font-weight:600}[data-theme=dark] .cut-dro-value{white-space:pre;font-size:64px;font-weight:500;line-height:1}[data-theme=dark] .live-progress{flex-direction:column;gap:4px;display:flex}[data-theme=dark] .live-progress .progress-bar{background:var(--wb-border);border-radius:999px;height:8px;overflow:hidden}[data-theme=dark] .live-progress .progress-fill{background:var(--wb-ok-bright);height:100%;transition:width .4s linear}[data-theme=dark] .live-progress-meta{color:var(--wb-text-secondary);justify-content:space-between;font-size:12.5px;display:flex}[data-theme=dark] .live-transport{flex-wrap:wrap;align-items:center;gap:10px;display:flex}[data-theme=dark] .live-transport button{min-height:44px}[data-theme=dark] .transport-pause{appearance:none;border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:10px 18px;font-size:14px;font-weight:600}[data-theme=dark] .transport-stop{appearance:none;border:1px solid var(--wb-danger);background:var(--wb-danger-bg);color:var(--wb-danger);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:10px 18px;font-size:14px;font-weight:700;position:relative;overflow:hidden}[data-theme=dark] .transport-stop-clear{appearance:none;border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:10px 18px;font-size:14px;font-weight:600}[data-theme=dark] .transport-stop-clear.pending{opacity:.7;cursor:default}[data-theme=dark] .transport-lift{appearance:none;border:1px solid var(--wb-danger);background:var(--wb-danger-bg);color:var(--wb-danger);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:10px 18px;font-size:14px;font-weight:700}[data-theme=dark] .transport-stop .stop-hold-note{opacity:.8;font-size:10.5px;font-weight:400}[data-theme=dark] .transport-stop.holding:after{content:"";transform-origin:0;background:#ff9a8647;animation:1s linear forwards stopFill;position:absolute;inset:0}@keyframes stopFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}[data-theme=dark] .feed-cluster{align-items:center;gap:6px;margin-left:auto;display:flex}[data-theme=dark] .feed-label{color:var(--wb-text-secondary);font-size:12.5px}[data-theme=dark] .feed-cluster button{appearance:none;border:1px solid var(--wb-border);color:var(--wb-text);font:inherit;border-radius:var(--radius-m);cursor:pointer;background:0 0;min-width:44px;padding:8px 14px;font-size:13px}[data-theme=dark] .feed-cluster button:hover{background:var(--wb-bg)}[data-theme=dark] .board-map{flex:1;min-height:160px;display:flex}[data-theme=dark] .board-map svg{flex:1;width:100%;min-height:0}[data-theme=dark] .live-view-toggle{border:1px solid var(--wb-border);border-radius:var(--radius-m);background:var(--wb-panel);align-self:flex-start;gap:0;display:flex;overflow:hidden}[data-theme=dark] .live-view-toggle button{appearance:none;color:var(--wb-text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;padding:5px 12px;font-size:12px}[data-theme=dark] .live-view-toggle button.active{background:var(--wb-sel-fill);color:var(--wb-accent)}[data-theme=dark] .live-view-3d{border-radius:var(--radius-m);flex:1;min-height:200px;display:flex;position:relative;overflow:hidden}[data-theme=dark] .live-view-3d .view-toggle,[data-theme=dark] .live-view-3d .view-seg button{min-height:44px}[data-theme=dark] .live-view-empty{justify-content:center;align-items:center}[data-theme=dark] .board-stock{fill:#2a2318;stroke:var(--wood-border);stroke-width:1px;vector-effect:non-scaling-stroke}[data-theme=dark] .board-op{fill:none;stroke-width:1.5px;vector-effect:non-scaling-stroke}[data-theme=dark] .board-op.queued{stroke:var(--wb-text-tertiary);stroke-dasharray:4 3}[data-theme=dark] .board-op.cutting{stroke:var(--wb-warn);animation:1.6s ease-in-out infinite wbPulse}[data-theme=dark] .board-op.done-cut{stroke:var(--wb-ok-bright)}[data-theme=dark] .board-op.done-carved{stroke:var(--wb-accent)}[data-theme=dark] .board-preview-dot{fill:none;stroke:var(--wb-accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}[data-theme=dark] .board-preview-dot.previewing{stroke-dasharray:3 2}[data-theme=dark] .board-tool-dot{fill:var(--tool-dot);stroke:none}[data-theme=dark] .live-safety{color:var(--wb-text-tertiary);margin:0;font-size:11.5px;line-height:1.5}[data-theme=dark] .debug-log{border-top:1px solid var(--wb-border);flex-direction:column;gap:6px;min-height:0;padding-top:8px;display:flex}[data-theme=dark] .debug-log-head{color:var(--wb-text-tertiary);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}[data-theme=dark] .debug-log-actions{gap:6px;display:flex}[data-theme=dark] .debug-log-actions button{appearance:none;border:1px solid var(--wb-border);color:var(--wb-text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:11.5px}[data-theme=dark] .debug-log-actions button:hover{color:var(--wb-text);border-color:var(--wb-text-tertiary)}[data-theme=dark] .debug-log-body{background:#00000040;border-radius:6px;max-height:180px;padding:6px 8px;font-size:11px;line-height:1.45;overflow-y:auto}[data-theme=dark] .debug-line{white-space:pre-wrap;word-break:break-all}[data-theme=dark] .debug-tx{color:var(--wb-text-secondary)}[data-theme=dark] .debug-rx{color:var(--wb-text-tertiary)}[data-theme=dark] .debug-event{color:var(--wb-warn)}[data-theme=dark] .debug-log-empty{color:var(--wb-text-tertiary)}.machine-pill{appearance:none;font-family:var(--font-mono);border:1px solid var(--wb-border);background:var(--wb-panel);color:var(--wb-text);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.machine-pill:hover{background:var(--wb-bg)}.machine-pill:focus-visible{outline:2px solid var(--wb-accent);outline-offset:1px}.machine-pill.open{border-color:var(--wb-accent);box-shadow:inset 0 0 0 1px var(--wb-accent)}.machine-pill-dot{color:var(--wb-text-secondary);font-size:9px;line-height:1}.machine-pill-state{border-left:1px solid var(--wb-border);color:var(--wb-text-secondary);margin-left:1px;padding-left:7px}.machine-pill.connected .machine-pill-dot{color:#4e9163;animation:2.4s ease-in-out infinite wbPulse}.machine-pill.connected .machine-pill-state{color:#3e6b48}.machine-pill.warn .machine-pill-dot,.machine-pill.warn .machine-pill-state{color:#8a6a2a}.machine-pill.error .machine-pill-dot,.machine-pill.error .machine-pill-state{color:#b3341a}@media (prefers-reduced-motion:reduce){.machine-pill.connected .machine-pill-dot{animation:none}}.machine-drawer{z-index:30;background:var(--wb-panel);width:min(400px,94vw);color:var(--wb-text);border-right:1px solid var(--wb-border);flex-direction:column;animation:.18s machineDrawerIn;display:flex;position:fixed;top:52px;bottom:0;left:0;overflow:hidden;box-shadow:4px 0 24px #00000059}@keyframes machineDrawerIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.machine-drawer{animation:none}}.machine-drawer-head{border-bottom:1px solid var(--wb-border);flex:none;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}.machine-drawer-head button{appearance:none;border:1px solid var(--wb-border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:12.5px}.machine-drawer-head button:hover{background:var(--wb-bg)}.machine-drawer-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:12px 14px 22px;display:flex;overflow-y:auto}.machine-drawer-section{flex-direction:column;gap:10px;display:flex}.machine-drawer-section>h3,.machine-drawer .probe-panel>h3{letter-spacing:.06em;text-transform:uppercase;color:var(--wb-text-secondary);margin:0;font-size:11px;font-weight:700}.topbar-tier{border:1px solid var(--line,#d0d0d0);cursor:pointer;color:#444;background:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.topbar-tier.pro{color:#5a3fe0;background:#f3f0ff;border-color:#7a5cff}.wb-account{flex-direction:column;gap:12px;min-width:340px;display:flex}.wb-account-status{margin:0;font-size:15px}.wb-account-grace{color:#b8860b}.wb-account-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wb-account-note{color:#777;margin:0;font-size:12px;line-height:1.5}.wb-account-restore summary{cursor:pointer;color:#555;font-size:13px}.wb-account-err{color:#c0392b;margin:0;font-size:13px}.wb-safety-list{color:#333;margin:0;padding-left:20px;font-size:13px;line-height:1.55}.wb-safety-list li{margin-bottom:6px}.wb-analytics-row{color:#555;align-items:flex-start;gap:8px;margin-top:6px;font-size:12px;line-height:1.45;display:flex}.wb-analytics-row input{flex-shrink:0;margin-top:2px}.wb-upsell{background:#f7f5ff;border:1px dashed #b6a6ff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.wb-upsell-tag{color:#5a3fe0;font-weight:700}.wb-upsell-text{color:#444}.wb-upsell-btn{color:#fff;cursor:pointer;background:#5a3fe0;border:1px solid #7a5cff;border-radius:6px;padding:3px 10px;font-size:12px}.wb-upsell-btn.ghost{color:#5a3fe0;background:#fff}.wb-upsell-btn:disabled{opacity:.6;cursor:default}.wb-upsell-err{color:#c0392b;width:100%}.wb-ledger{flex-direction:column;gap:10px;min-width:520px;display:flex}.wb-ledger-bar{align-items:center;gap:8px;display:flex}.wb-ledger-bar .wb-ledger-detail-title{font-size:13px;font-weight:600}.wb-ledger-empty{color:var(--wb-text-secondary,#8a857a);text-align:center;margin:8px 0;font-size:12.5px;line-height:1.5}.wb-ledger-list{flex-direction:column;gap:4px;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.wb-ledger-row{text-align:left;border:1px solid var(--wb-border,#d8d4cc);border-radius:var(--radius-m);background:var(--wb-panel,#fbfaf8);width:100%;color:var(--wb-text,#26241f);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.wb-ledger-row:hover{background:var(--wb-bg,#f2f0ec);border-color:var(--wb-accent,#3f6fae)}.wb-ledger-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.wb-ledger-project{font-size:12.5px;font-weight:600}.wb-ledger-sub{color:var(--wb-text-secondary,#8a857a);font-size:11px}.wb-ledger-row-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.wb-ledger-runtime{font-size:11.5px}.wb-ledger-est{color:var(--wb-text-secondary,#8a857a)}.wb-ledger-cost{text-align:right;min-width:72px;font-size:12px;font-weight:600}.wb-ledger-chip,.wb-ledger-fchip{text-transform:lowercase;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-block}.wb-ledger-chip{margin-left:8px}.wb-ledger-chip.completed,.wb-ledger-fchip.done{color:var(--wb-ok,#3e6b48);background:var(--wb-ok-bg,#e9f0e9)}.wb-ledger-chip.partial,.wb-ledger-fchip.stopped{color:var(--wb-warn,#8a6a2a);background:var(--wb-warn-bg,#f6efdd)}.wb-ledger-chip.aborted,.wb-ledger-fchip.error{color:var(--wb-danger,#a03d2c);background:var(--wb-danger-bg,#f6e1dc)}.wb-ledger-detail{flex-direction:column;gap:10px;display:flex}.wb-ledger-files{border-collapse:collapse;width:100%;font-size:11.5px}.wb-ledger-files th,.wb-ledger-files td{text-align:left;border-bottom:1px solid var(--wb-border-soft,#e4e0d8);padding:4px 8px}.wb-ledger-files th{color:var(--wb-text-secondary,#8a857a);font-weight:500}.wb-ledger-err{color:var(--wb-danger,#a03d2c);word-break:break-word;max-width:220px}.wb-ledger-costbox{border:1px solid var(--wb-border,#d8d4cc);border-radius:var(--radius-m);background:var(--wb-bg,#f2f0ec);flex-direction:column;gap:3px;max-width:280px;padding:8px 10px;display:flex}.wb-ledger-costrow{justify-content:space-between;gap:24px;font-size:12px;display:flex}.wb-ledger-costrow.total{border-top:1px solid var(--wb-border,#d8d4cc);margin-top:3px;padding-top:4px;font-weight:600}.wb-ledger-exports{gap:8px;display:flex}.wb-cost{flex-direction:column;gap:8px;display:flex}.wb-cost-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 12px;display:grid}.wb-cost-grid label{color:var(--wb-text-secondary,#8a857a);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.wb-cost-grid input{box-sizing:border-box;background:var(--wb-bg,#f2f0ec);border:1px solid var(--wb-border,#d8d4cc);border-radius:var(--radius-s);width:90px;color:var(--wb-text,#26241f);padding:4px 6px;font-size:12px}.wb-cost-heading{margin:6px 0 0;font-size:12px;font-weight:600}.wb-report{display:none}@media print{body{visibility:hidden}.wb-report,.wb-report *{visibility:visible}.wb-report{color:#000;background:#fff;width:100%;padding:24px;font-size:12px;display:block;position:absolute;top:0;left:0}.wb-report-title{margin:0 0 12px;font-size:20px}.wb-report table{border-collapse:collapse;width:100%;margin:8px 0 16px}.wb-report th,.wb-report td{text-align:left;border-bottom:1px solid #ccc;padding:4px 8px}.wb-report-meta th,.wb-report-cost th{color:#444;width:160px;font-weight:500}}
