:root{--bg: #f4f5f7;--panel: #ffffff;--border: #e2e5ea;--ink: #1f2733;--muted: #6b7280;--accent: #2563eb;--accent-soft: #eff6ff;--focus: #60a5fa;--warn-bg: #fff4f2;--warn-border: #f0b4a8;--warn-ink: #9a3412}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}.app{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem}header h1{margin:0;font-size:1.5rem}.tagline{margin:.25rem 0 .8rem;color:var(--muted)}header nav{display:flex;gap:.35rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}header nav a{padding:.55rem .75rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}header nav a:hover{color:var(--ink)}header nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.design-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:1rem;align-items:start}.page-layout{display:block}.page-layout .panel{max-width:760px}.page-intro{margin:-.25rem 0 1rem;color:var(--muted);font-size:.9rem}.config-panel{grid-row:span 2}.workspace-config-panel{padding:0;overflow:hidden}.workspace-config-panel .config-section{border:0;border-radius:0}.nesting-panel{grid-column:1 / -1}@media (max-width: 820px){.design-layout{grid-template-columns:1fr}.config-panel{grid-row:auto}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem}.panel h2{margin:0 0 .75rem;font-size:1.05rem}.preview-tabs{display:flex;gap:.25rem;margin-bottom:.65rem;border-bottom:1px solid var(--border)}.preview-tabs button{padding:.4rem .65rem;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0}.preview-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.assembly-preview{min-height:360px}.assembly-canvas{display:block;width:100%;height:360px;border:1px solid var(--border);border-radius:6px;outline:none;touch-action:none}.assembly-canvas.is-unavailable{display:none}.assembly-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem;color:var(--muted);font-size:.78rem}.assembly-toolbar button{flex:0 0 auto;padding:.25rem .55rem;color:var(--ink);background:#fff;border:1px solid var(--border)}.preview-unavailable{min-height:360px;display:grid;place-items:center;padding:1rem;color:var(--muted);text-align:center;border:1px solid var(--border);border-radius:6px;background:#fafafa}@media (max-width: 520px){.assembly-preview,.preview-unavailable{min-height:280px}.assembly-canvas{height:280px}.assembly-toolbar span{display:none}.assembly-toolbar{justify-content:flex-end}}.config-form{display:flex;flex-direction:column;gap:.65rem}.config-section{margin:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fbfcfe}.config-section>summary{padding:.65rem .75rem;cursor:pointer;font-size:.9rem;font-weight:700;-webkit-user-select:none;user-select:none}.config-section>summary:hover{background:#f6f8fb}.config-section[open]>summary{color:var(--accent);border-bottom:1px solid var(--border);background:var(--accent-soft)}.config-section-body>:last-child{margin-bottom:0}.config-section-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:start}.config-section-columns>*{min-width:0}.config-section-static{padding:.75rem}.config-section-static legend{padding:0 .25rem;font-weight:700}.section-hint{display:block;margin:-.1rem 0 .7rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem;font-size:.9rem}.field-label{display:flex;justify-content:space-between;font-weight:600}.field-value{color:var(--accent);font-variant-numeric:tabular-nums}.field-number{display:flex;align-items:center;gap:.5rem}.field-number input[type=range]{flex:1}.field-number input[type=number]{width:5rem}.field-check{flex-direction:row;align-items:center;gap:.5rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.field-check input{width:1rem;height:1rem;accent-color:var(--accent)}.field-dependent{margin-left:.65rem;padding-left:.7rem;border-left:2px solid #bfdbfe}.field-invalid .field-value,.field-error{color:var(--warn-ink)}.field-error{font-size:.78rem}.bulk-material-field{padding:.65rem;border:1px solid #bfdbfe;border-radius:7px;background:var(--accent-soft)}.hint{color:var(--muted);font-weight:400}.repeat-field{position:relative;margin:0 0 .85rem;padding:.6rem;border:1px solid var(--border);border-radius:8px}.repeat-field legend{padding:0 .25rem;font-weight:600}.hint-help{position:absolute;z-index:2;top:.35rem;right:.45rem}.hint-help>summary{display:grid;width:1.25rem;height:1.25rem;padding:0;place-items:center;color:var(--accent);font-size:.75rem;font-weight:800;line-height:1;list-style:none;background:var(--accent-soft);border:1px solid #bfdbfe;border-radius:50%;cursor:pointer}.hint-help>summary::-webkit-details-marker{display:none}.hint-help-content{position:absolute;top:1.55rem;right:0;width:11rem;padding:.55rem .65rem;color:var(--ink);font-size:.75rem;font-weight:400;line-height:1.35;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #0f172a24}.repeat-item{margin-bottom:.75rem;padding:.65rem;background:#f8fafc;border:1px solid var(--border);border-radius:6px}.repeat-item .field:last-child{margin-bottom:0}.repeat-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;font-size:.85rem}.repeat-item-header .button-secondary{padding:.2rem .45rem;color:var(--ink);background:#fff;border:1px solid var(--border)}.repeat-item-collapsible{padding:0;overflow:hidden}.repeat-item-collapsible>summary{padding:.55rem .6rem;cursor:pointer;font-size:.85rem;font-weight:700;-webkit-user-select:none;user-select:none}.repeat-item-collapsible[open]>summary{border-bottom:1px solid var(--border);background:#f1f5f9}.repeat-item-body{padding:.65rem}.repeat-item-remove{color:var(--ink);background:#fff;border:1px solid var(--border)}.repeat-field>button:last-child{width:100%;padding:.4rem .5rem;font-size:.85rem}@media (max-width: 760px){.config-section-columns{grid-template-columns:1fr}}input,select,button{font:inherit;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink)}input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button{cursor:pointer;background:var(--accent);color:#fff;border-color:transparent;font-weight:600}button:hover{filter:brightness(1.05)}button:disabled{opacity:.5;cursor:not-allowed}.materials button,.sheet-row+button{background:#fff;color:var(--ink);border:1px solid var(--border)}.materials table{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:.6rem}.materials th{text-align:left;color:var(--muted);font-weight:600;padding-bottom:.35rem}.materials td{padding:.2rem .35rem .2rem 0}.materials input[type=text]{width:100%}.materials td:last-child button{padding:.2rem .5rem}.unit{color:var(--muted)}.drawing-editor{font-size:.86rem}.drawing-toolbar,.drawing-actions,.drawing-options,.drawing-endpoints{display:flex;flex-wrap:wrap;gap:.5rem}.drawing-toolbar button,.drawing-actions button{background:#fff;color:var(--ink);border:1px solid var(--border);font-size:.8rem}.drawing-toolbar button[aria-pressed=true],.drawing-actions button[type=submit]{background:var(--accent);color:#fff;border-color:var(--accent)}.drawing-options{margin:.8rem 0;align-items:end}.drawing-options label,.drawing-inspector label{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:130px}.drawing-options select,.drawing-inspector select{width:100%}.drawing-options label:last-child{flex:0 1 100px}.drawing-map{display:block;width:100%;max-height:450px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;touch-action:none;-webkit-user-select:none;user-select:none}.drawing-map.tool-draw{cursor:crosshair}.drawing-map.tool-select{cursor:grab}.drawing-map.tool-select:active{cursor:grabbing}.drawing-map:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.drawing-floor{fill:#fff}.drawing-wall{stroke:#475569;stroke-width:6;stroke-linecap:square}.drawing-wall.active{stroke:#2563eb}.drawing-divider{stroke:#94a3b8;stroke-linecap:butt}.drawing-divider.selected{stroke:#2563eb}.drawing-map g:focus .drawing-divider{stroke:#1d4ed8}.drawing-map g:focus{outline:none}.drawing-map text{fill:#1e293b;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:.5}.drawing-ghost{stroke:#dc2626;stroke-width:3;stroke-dasharray:5 4}.drawing-overlays{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.8rem;color:var(--muted);font-size:.8rem}.drawing-overlays label{display:flex;align-items:center;gap:.35rem;cursor:pointer}.drawing-joint{fill:#fff;stroke:#64748b;stroke-width:1.5}.drawing-joint.selected{fill:#dbeafe;stroke:#2563eb;stroke-width:2}.drawing-gap line,.drawing-gap path{fill:none;stroke:#2563eb;stroke-width:1.3}.drawing-gap rect{fill:#eff6ff}.drawing-gap text{fill:#1d4ed8;stroke:none}.drawing-gap text.drawing-gap-percent{font-weight:400}.drawing-gap-summary{display:flex;flex-wrap:wrap;gap:.5rem}.drawing-gap-summary>span{flex:1;padding:.5rem .65rem;border-radius:6px;background:#eff6ff;color:#475569;font-size:.75rem}.drawing-gap-summary strong{display:block;margin-top:.25rem;font-size:.86rem;color:#1d4ed8}.drawing-gap-summary strong span{font-weight:400}.drawing-gap-direction{text-transform:capitalize}.drawing-inspector{display:flex;flex-direction:column;gap:.8rem;padding:.8rem;background:#fff;border:1px solid #bfdbfe;border-radius:8px}.drawing-inspector input{width:100%}.partition-editor{font-size:.86rem}.partition-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.partition-preset{display:flex;flex-direction:column;gap:.4rem;text-align:left;padding:.75rem;background:#fff;color:var(--ink);border:1px solid var(--border)}.partition-preset:hover{border-color:var(--accent);background:var(--accent-soft)}.partition-preset small{color:var(--muted);font-weight:400;line-height:1.4}.partition-editor .button-secondary{color:var(--ink);background:#fff;border:1px solid var(--border)}.partition-map{display:block;width:100%;max-height:400px;background:#e2e8f0;border:4px solid #94a3b8;border-radius:4px}.partition-cell{fill:#fff;cursor:pointer;stroke:#94a3b8;stroke-width:.4}.partition-cell.selected{fill:#dbeafe;stroke:#2563eb;stroke-width:.8}.partition-map g:hover .partition-cell,.partition-map g:focus .partition-cell{fill:#bfdbfe;stroke:#1d4ed8;stroke-width:1.2}.partition-map g:focus{outline:none}.partition-map text{fill:#334155;font-variant-numeric:tabular-nums}.partition-orientation{text-align:center;color:var(--muted);font-size:.7rem;letter-spacing:.08em;margin:.4rem 0}.nesting-controls{display:flex;flex-wrap:wrap;gap:1rem}.nesting-controls .field{flex-direction:row;align-items:center;gap:.5rem}.sheet-sizes{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.8rem}.material-stock{border:1px solid var(--border);border-radius:8px;padding:.7rem}.material-stock.is-ready{border-color:#86c99a}.material-stock.is-short{border-color:var(--warn-border)}.material-stock-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.material-status{width:.75rem;height:.75rem;flex:0 0 auto;border-radius:50%;background:#dc2626}.is-ready .material-status{background:#16a34a}.stock-summary{margin-left:auto;color:var(--muted);font-size:.82rem}.sheet-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.sheet-mat{min-width:8rem;font-weight:600}.sheet-row input{width:6rem}.sheet-add-row button,.stock-list button{padding:.25rem .55rem}.stock-empty{margin:.55rem 0 0;font-size:.85rem}.stock-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none}.stock-list li{display:flex;align-items:center;gap:.45rem;padding:.25rem .3rem .25rem .5rem;border:1px solid var(--border);border-radius:6px;font-size:.84rem}.nesting-actions{display:flex;gap:.75rem;margin:.5rem 0 1rem}.sheet-preview-card{border:1px solid var(--border);border-radius:8px;padding:.6rem;margin-bottom:.9rem}.sheet-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.9rem}.sheet-preview-head button{padding:.2rem .6rem}.warning{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-ink);border-radius:8px;padding:.6rem .8rem;font-size:.88rem;margin-top:.6rem}.warning ul{margin:.3rem 0;padding-left:1.1rem}.muted{color:var(--muted)}footer{margin-top:1.5rem;text-align:center;font-size:.82rem}:root{--bg: #f3f5f5;--ink: #223536;--muted: #657678;--border: #dfe7e6;--accent: #14796e;--accent-soft: #eaf5f2;--focus: #31a899}[hidden]{display:none!important}.app{max-width:1540px;padding:0 2rem 1.5rem}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 0;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{display:grid;place-items:center;background:var(--accent);color:#fff;width:42px;height:42px;border-radius:12px;font-size:2rem}.app-header h1{font-size:1rem;letter-spacing:-.025em}.tagline{font-size:.77rem;margin:.3rem 0 0}.app-header nav{border:0;margin:0;gap:.3rem}.app-header nav a{font-size:.85rem;border:0;border-radius:7px}.app-header nav a[aria-current=page]{background:var(--accent-soft)}.design-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.7rem 0}.eyebrow{margin:0 0 .5rem;color:var(--muted);font-size:.66rem;letter-spacing:.12em;font-weight:750}.design-heading h2{margin:0;font-size:1.8rem;font-weight:650;letter-spacing:-.04em}.design-heading .muted{font-size:.83rem;margin:.55rem 0 0}.workflow-steps{display:flex;align-items:center;flex-shrink:0}.workflow-steps button{display:flex;align-items:center;gap:.55rem;background:transparent;color:var(--muted);font-size:.8rem;padding:.5rem}.workflow-steps button>span{display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;width:25px;height:25px;font-size:.7rem}.workflow-steps button[aria-pressed=true]{color:var(--accent)}.workflow-steps button[aria-pressed=true]>span{background:var(--accent);color:#fff;border-color:var(--accent)}.step-connector{width:25px;height:1px;background:var(--border)}.design-layout{grid-template-columns:270px minmax(0,1fr);gap:1.25rem}.panel{border-radius:14px;box-shadow:0 2px 6px #18363203}.config-panel{grid-row:auto;padding:1.25rem 1rem;position:sticky;top:1rem}.item-picker{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.4rem}.item-picker button{display:flex;align-items:center;gap:.7rem;padding:.7rem;color:var(--ink);background:transparent;border:1px solid transparent;text-align:left;font-size:.83rem;font-weight:550}.item-picker button:hover{background:#f5f8f7}.item-picker button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:#b7d9d2}.item-mark{font-size:1.4rem;line-height:1}.item-selected{margin-left:auto;font-size:.5rem}.inspector-heading{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--border);padding-top:1.15rem}.inspector-heading h2{font-size:.92rem}.inspector-heading>span{font-size:.7rem;color:var(--muted)}.config-section{border-radius:8px;background:transparent}.config-section>summary{font-size:.8rem;padding:.75rem}.config-section-body{padding:.75rem}.config-section[open]>summary{background:#f7f9f8}.field{font-size:.8rem}.field-label{font-weight:550}.field select{width:100%}.field input[type=range]{min-width:0;accent-color:var(--accent)}.hint{line-height:1.5;font-size:.75rem}.bulk-material-field{border-color:#cce3de}.manage-materials{display:block;font-size:.76rem;color:var(--accent);text-decoration:none;margin:1rem 0}.inspector-note{font-size:.72rem;color:var(--muted);background:#f5f8f7;padding:.75rem;border-radius:8px;line-height:1.6}.preview-panel{min-width:0;padding:1.3rem}.preview-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem}.preview-heading h2{margin:0;font-size:1.15rem;letter-spacing:-.02em}.design-status{color:var(--accent);font-size:.7rem;background:var(--accent-soft);padding:.4rem .7rem;border-radius:20px}.design-status.has-errors{color:var(--warn-ink);background:var(--warn-bg)}.workspace-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin-bottom:1rem;gap:.5rem}.preview-tabs{border:0;margin:0;gap:.6rem}.preview-tabs button{font-size:.78rem;padding:.6rem .3rem .8rem}.workspace-unit{color:var(--muted);font-size:.7rem;white-space:nowrap}.dimension-controls{display:flex;gap:.75rem;flex-wrap:wrap;padding:.15rem 0 1rem}.dimension-controls>label{flex:1;min-width:100px;max-width:200px}.dimension-controls>label>span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:.35rem}.dimension-controls label>div{display:flex;align-items:center;border:1px solid var(--border);border-radius:7px;background:#fff;padding-right:.65rem}.dimension-controls input{width:100%;min-width:0;border:0;font-size:.9rem;padding:.5rem .65rem;background:transparent}.dimension-controls .unit{font-size:.68rem}.assembly-stage{position:relative;border-radius:10px;overflow:hidden}.assembly-canvas{height:clamp(380px,49vh,590px);border:0;background:#f6f8f8}.assembly-toolbar{flex-wrap:wrap}.assembly-toolbar>span{font-size:.7rem}.view-actions{display:flex;gap:.3rem}.view-actions button{font-size:.7rem;padding:.4rem .6rem}.dimension-overlay,.dimension-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.dimension-lines line{stroke:#168777;stroke-width:1;stroke-dasharray:4 3}.dimension-lines circle{fill:var(--accent)}.dimension-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:#fff;border:1px solid #bedbd5;border-radius:6px;display:flex;flex-direction:column;align-items:center;padding:.25rem .3rem;box-shadow:0 2px 6px #16382e10}.dimension-label>span{color:var(--muted);font-size:.6rem}.dimension-label input{width:66px;padding:.1rem .2rem;font-size:.82rem;text-align:center;border:0;color:var(--accent);font-weight:650;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.dimension-label input::-webkit-inner-spin-button{-webkit-appearance:none}.dimension-handle{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;width:32px;height:32px;padding:0;border:3px solid white;border-radius:50%;background:var(--accent);box-shadow:0 1px 5px #174f4430;touch-action:none;cursor:grab}.dimension-handle:active{cursor:grabbing;background:#0f5b54}.workspace-hint{color:var(--muted);font-size:.72rem;text-align:center;margin:1rem 0}.workspace-bottom{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.workspace-bottom>span{color:var(--muted);font-size:.7rem}.workspace-bottom button{padding:.65rem 1rem;font-size:.8rem}.workspace-config-panel{overflow:visible}.workspace-config-panel .config-section{margin:0;min-width:0}.workspace-config-panel .config-section-static legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.workspace-config-panel .config-section-body,.workspace-config-panel .config-section-static{padding:0}.workspace-config-panel .config-section-body>.field{max-width:340px}.plan-resize-frame{position:relative;width:100%}.plan-resize-editor{min-width:0;margin:.5rem 0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.plan-resize-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .8rem;background:#f0f6f4}.plan-resize-toolbar strong{font-size:.8rem;font-variant-numeric:tabular-nums}.plan-resize-toolbar small{display:block;margin-top:.2rem;color:var(--muted);font-size:.7rem}.plan-resize-toolbar button{flex-shrink:0;font-size:.72rem}.plan-resize-viewport{overflow:auto;max-height:600px;padding:28px 48px 36px 28px;overscroll-behavior:contain;background:radial-gradient(#bdd0ca .7px,transparent .7px) 0 0 / 12px 12px #fafcfb}.plan-resize-start{position:absolute;left:0;top:0;border:2px dashed #405e57;border-radius:5px;pointer-events:none}.plan-resize-status{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.55rem .8rem;border-top:1px solid var(--border);color:var(--accent);font-size:.72rem;font-variant-numeric:tabular-nums}.plan-resize-status span{color:var(--muted)}.plan-resize-handle{position:absolute;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:3px solid white;padding:0;background:var(--accent);color:#fff;box-shadow:0 1px 5px #174f4430;touch-action:none}.plan-resize-handle.is-resizing{box-shadow:0 0 0 5px #16836b26}.plan-resize-readout{position:absolute;right:calc(100% + 8px);padding:.5rem .65rem;border-radius:6px;background:#173f36;color:#fff;white-space:nowrap;pointer-events:none;font-size:.8rem;font-variant-numeric:tabular-nums;box-shadow:0 2px 8px #173f3626}.plan-resize-readout small{display:block;margin-top:.2rem;font-size:.65rem;font-weight:400}.axis-y .plan-resize-readout{right:auto;bottom:calc(100% + 8px)}.plan-resize-handle.axis-x{right:-16px;top:calc(50% - 16px);cursor:ew-resize}.plan-resize-handle.axis-y{bottom:-16px;left:calc(50% - 16px);cursor:ns-resize}.partition-map{touch-action:none;-webkit-user-select:none;user-select:none;border-color:#829b97;border-radius:5px;max-height:490px}.partition-cell{fill:#f5f9f8;stroke:#a2b7b2}.partition-cell.selected{fill:#e6f3ef;stroke:var(--accent)}.partition-map g:hover .partition-cell,.partition-map g:focus .partition-cell{fill:#d2eae3;stroke:var(--accent)}.partition-boundary{stroke:transparent;touch-action:none}.partition-grid-boundary.axis-x{cursor:ew-resize}.partition-grid-boundary.axis-y{cursor:ns-resize}.partition-grid-boundary:hover .partition-boundary,.partition-grid-boundary:focus .partition-boundary,.partition-grid-boundary.is-dragging .partition-boundary{stroke:#14796e45}.partition-grid-boundary{touch-action:none;outline:none}.partition-grid-grip{fill:#fff;stroke:var(--accent);stroke-width:2;pointer-events:none}.partition-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.partition-preset{border-radius:8px;font-size:.75rem;padding:.7rem}.partition-preset small{font-size:.68rem}.drawing-map{background:#f6f8f8}.cut-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}.button-secondary{background:#fff;color:var(--ink);border:1px solid var(--border)}.page-layout{padding-top:2rem}footer{font-size:.7rem}@media (min-width: 1500px){.design-layout{grid-template-columns:290px minmax(0,1fr)}}@media (max-width: 1050px){.app{padding:0 1rem 1.5rem}.design-layout{grid-template-columns:230px minmax(0,1fr);gap:1rem}.preview-panel{padding:1rem}.workspace-unit{display:none}.workflow-steps{flex-shrink:1}}@media (max-width: 760px){.app{padding:0 .75rem 1rem}.app-header{padding:1rem 0}.brand-mark{width:34px;height:34px}.tagline{display:none}.app-header h1{font-size:.9rem}.app-header nav a{padding:.5rem;font-size:.75rem}.design-heading{align-items:flex-start;flex-direction:column;padding:1.25rem 0}.design-heading h2{font-size:1.5rem}.design-heading .muted{font-size:.78rem}.design-layout{display:flex;flex-direction:column}.config-panel{position:static;width:100%;padding:.85rem}.item-picker{flex-direction:row;overflow-x:auto;margin-bottom:.7rem}.item-picker button{flex:0 0 auto;gap:.35rem;padding:.6rem;font-size:.72rem}.item-mark,.inspector-note{display:none}.config-panel .config-form{display:flex;flex-wrap:wrap;gap:.5rem}.config-panel .config-section{flex:1 1 170px;margin:0}.manage-materials{margin-bottom:0}.preview-panel{width:100%;padding:.9rem}.preview-heading h2{font-size:1rem}.preview-tabs{gap:.8rem}.preview-tabs button{font-size:.72rem}.dimension-controls{gap:.5rem}.dimension-controls>label{min-width:85px}.assembly-canvas{height:370px}.assembly-toolbar>span{display:block;font-size:.65rem}.partition-presets{grid-template-columns:1fr}.partition-preset{gap:.2rem}.workspace-bottom>span{max-width:45%}.workspace-bottom button{font-size:.75rem}.sheet-row input{width:5rem}.stock-summary{font-size:.7rem}}.part-material-options>summary{cursor:pointer;color:var(--muted);font-size:.72rem;padding:.4rem 0}.part-material-options[open]>summary{margin-bottom:.5rem}.segmented-field{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;margin-bottom:1rem;border-radius:8px;background:#f0f4f3;width:fit-content}.segmented-field button{background:transparent;color:var(--muted);padding:.45rem .8rem;font-size:.75rem;font-weight:550}.segmented-field button[aria-pressed=true]{background:#fff;color:var(--accent);box-shadow:0 1px 4px #254c4114}.segmented-choice{margin-bottom:1rem}.layout-transition-review{margin:.8rem 0;padding:.9rem;border:1px solid #a6c8bc;border-radius:8px;background:#f0f8f5;font-size:.8rem}.layout-transition-review p{line-height:1.5;margin:.4rem 0 .8rem}.layout-transition-actions,.layout-transition-history{display:flex;flex-wrap:wrap;gap:.4rem}.layout-transition-history{margin-top:.65rem}.layout-transition-history button{font-size:.72rem}.segmented-choice .segmented-field{margin-bottom:.5rem}.mode-description{margin:0 0 .35rem;font-size:.78rem;line-height:1.5;color:var(--ink)}.preset-options{border-bottom:1px solid var(--border);padding-bottom:.5rem;margin:.5rem 0}.preset-options>summary{color:var(--accent);font-weight:600;font-size:.76rem;cursor:pointer;padding:.35rem 0}.preset-options .partition-presets{margin-top:.5rem}.plan-resize-frame>svg{max-height:none;height:auto}.mobile-options-toggle{display:none}.dimension-height-note{flex-basis:100%;color:var(--muted);font-size:.68rem}@media (max-width: 760px){.mobile-options-toggle{display:block;width:100%;background:#f5f8f7;color:var(--accent);text-align:left;padding:.6rem;font-size:.77rem}.inspector-options{display:none}.inspector-options.is-open{display:block;margin-top:.7rem}.inspector-heading{display:none}.config-panel .config-form{flex-direction:row;align-items:flex-start}.config-panel .config-section{flex:1 1 100%}}.cut-design-summary{color:var(--muted);font-size:.85rem;margin:0 0 1.25rem}.drawing-settings{border-bottom:1px solid var(--border);padding:.35rem 0 .65rem;margin-bottom:.75rem}.drawing-settings>summary{cursor:pointer;color:var(--accent);font-size:.75rem;font-weight:550}.plan-resize-toolbar{flex-wrap:wrap}.plan-resize-actions,.editor-history{display:flex;align-items:center;gap:.4rem}.plan-resize-actions{margin-left:auto}.editor-history button{display:inline-flex;align-items:center;gap:.3rem;min-height:34px;padding:.4rem .6rem;font-size:.75rem;white-space:nowrap}.editor-history button span{font-size:1.15rem;line-height:1}.grid-context{background:#fff;border-bottom:1px solid var(--border);padding:.65rem .8rem}.grid-scope{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.76rem}.grid-scope button{font-size:.72rem;padding:.35rem .5rem}.grid-cell-count{margin-left:auto;color:var(--muted)}.grid-context .hint{margin:.4rem 0 0;font-size:.72rem}.plan-resize-viewport.has-grid-controls{padding:78px 130px 36px 28px}.plan-control-top,.plan-control-side{position:absolute;z-index:2}.plan-control-top{bottom:calc(100% + 14px);left:50%;transform:translate(-50%)}.plan-control-side{left:calc(100% + 36px);top:50%;transform:translateY(-50%)}.grid-count-control{display:flex;align-items:center;gap:.65rem;padding:.45rem .55rem;border:1px solid #a9c9bf;border-radius:9px;background:#fff;box-shadow:0 2px 6px #183e3210;color:var(--accent);font-size:.76rem;font-weight:600}.grid-count-stepper{display:flex;align-items:center;gap:2px}.grid-count-stepper button{padding:0;width:30px;height:32px;color:var(--accent);background:#eef6f3;font-size:1.1rem}.grid-count-stepper input{width:38px;height:32px;padding:.2rem;text-align:center;border-color:transparent;background:#fff;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.grid-count-stepper input::-webkit-inner-spin-button,.grid-count-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.plan-control-side .grid-count-control,.plan-control-side .grid-count-stepper{flex-direction:column}.partition-selection-outline{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:6 3}@media (max-width: 600px){.plan-resize-viewport.has-grid-controls{padding:78px 22px 108px}.plan-control-side{left:50%;top:calc(100% + 43px);transform:translate(-50%)}.plan-control-side .grid-count-control,.plan-control-side .grid-count-stepper{flex-direction:row}.plan-resize-actions{margin-left:0}.grid-count-stepper button{width:34px;height:34px}}.drawing-map.tool-delete{cursor:crosshair}.drawing-divider.deleting{stroke:#dc4848}.divider-workbench-controls{position:relative;z-index:2;border-bottom:1px solid var(--border);background:#fff;padding:.65rem .75rem}.divider-workbench-toolbar{align-items:center;justify-content:space-between;gap:.5rem}.divider-primary-tools,.divider-template-tools{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.divider-template-tools{position:relative}.divider-workbench-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:.4rem .6rem}.divider-workbench-toolbar button svg{flex-shrink:0}.divider-context-row{display:flex;align-items:center;gap:1rem;margin-top:.7rem}.divider-material-control{display:flex;flex:0 0 220px;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600}.divider-material-control small{color:var(--muted);font-weight:400}.divider-material-control select{width:100%}.divider-selection-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:3.5rem;gap:.25rem;font-size:.8rem}.divider-selection-info span{color:var(--muted);line-height:1.4}.divider-view-settings{position:relative;margin:0;flex:0 0 auto}.divider-view-settings summary{display:flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.8rem;padding:.45rem}.divider-template-popover,.divider-settings-popover{position:absolute;z-index:5;top:calc(100% + .5rem);right:0;width:min(320px,80vw);background:#fff;border:1px solid var(--border);border-radius:10px;padding:1rem;box-shadow:0 8px 30px #203f3a25}.divider-template-popover form,.divider-template-popover label,.divider-settings-popover>label{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}.divider-template-popover form{gap:.75rem}.divider-template-popover input,.divider-template-popover select{width:100%;box-sizing:border-box}.divider-template-notice{position:fixed;bottom:1rem;z-index:20;right:1rem;width:270px;padding:.5rem .7rem;background:#eef9f5;border:1px solid var(--border);border-radius:6px;font-size:.75rem;pointer-events:none}@media (max-width: 700px){.divider-context-row{flex-wrap:wrap;gap:.5rem}.divider-material-control{flex:1 1 180px}.divider-selection-info{order:3;flex-basis:100%}.divider-template-popover{right:auto;left:0}}
