.sum.svelte-1to8f6l td:where(.svelte-1to8f6l){border-top:1px solid var(--line);font-weight:600}.strong.svelte-1to8f6l{font-weight:700}h3.svelte-dv942n{margin:16px 0 6px;font-size:1rem}.comparison.svelte-dv942n tr.selected:where(.svelte-dv942n){background:var(--highlight)}.comparison.svelte-dv942n tr.infeasible:where(.svelte-dv942n){color:var(--muted)}.plan.svelte-dv942n{margin-top:8px}.plan-head.svelte-dv942n{margin-bottom:6px}.bar.svelte-dv942n{display:grid;grid-template-columns:2.6em minmax(0,1fr) 5.5em;grid-template-rows:22px;align-items:center;gap:6px;margin-bottom:3px}.bar.svelte-dv942n svg:where(.svelte-dv942n),.labels.svelte-dv942n{grid-column:2;grid-row:1;width:100%;height:22px}.labels.svelte-dv942n{position:relative}.labels.svelte-dv942n span:where(.svelte-dv942n){position:absolute;top:0;height:22px;line-height:22px;font-size:.72rem;text-align:center;overflow:hidden;white-space:nowrap;color:#2b1d10}.offcut.svelte-dv942n{fill:var(--offcut)}.part.svelte-dv942n{stroke:#6b4a2b;stroke-width:1;vector-effect:non-scaling-stroke}.no.svelte-dv942n{text-align:right;color:var(--muted)}.rest.svelte-dv942n{color:var(--muted)}.row.svelte-jx3qkp{display:grid;gap:4px;margin-bottom:10px}.presets.svelte-jx3qkp{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.grid2.svelte-jx3qkp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.grid2.svelte-jx3qkp label:where(.svelte-jx3qkp){display:grid;gap:2px;font-size:.85rem;min-width:0}.grid2.svelte-jx3qkp input:where(.svelte-jx3qkp),.grid2.svelte-jx3qkp select:where(.svelte-jx3qkp){width:100%;min-width:0}.stock.svelte-jx3qkp{margin-top:10px}.stock-head.svelte-jx3qkp{font-size:.85rem;font-weight:600;margin-bottom:4px}.stock-row.svelte-jx3qkp{display:flex;align-items:center;gap:4px;margin-bottom:3px}.stock-row.svelte-jx3qkp input:where(.svelte-jx3qkp){width:6em}.selection.svelte-18tzhmx td:where(.svelte-18tzhmx),.selection.svelte-18tzhmx th:where(.svelte-18tzhmx){padding:4px 6px}tr.active.svelte-18tzhmx{background:var(--highlight)}.stepper.svelte-18tzhmx{display:flex;gap:2px}.stepper.svelte-18tzhmx input:where(.svelte-18tzhmx){width:3.2em;text-align:center}.stepper.svelte-18tzhmx button:where(.svelte-18tzhmx){width:1.9em}svg.svelte-s3823f{width:100%;height:auto;max-height:75vh;display:block}rect.svelte-s3823f{stroke-width:2}.outerPost.svelte-s3823f,.innerPost.svelte-s3823f,.topBeam.svelte-s3823f,.bottomBeam.svelte-s3823f{fill:var(--wood);stroke:var(--wood-edge)}.rail.svelte-s3823f,.bottomRail.svelte-s3823f{fill:var(--rail);stroke:var(--wood-edge)}.extraFoot.svelte-s3823f{fill:none;stroke:var(--wood-edge);stroke-dasharray:12 8}.box.svelte-s3823f{fill:var(--box);stroke:var(--box-edge);fill-opacity:.85}.box.overflow.svelte-s3823f{fill:var(--danger-bg);stroke:var(--danger)}.box-label.svelte-s3823f{font-size:60px;font-weight:700;fill:var(--box-text);text-anchor:middle;dominant-baseline:middle}.floor.svelte-s3823f{stroke:var(--muted);stroke-width:3}.dimline.svelte-s3823f line:where(.svelte-s3823f){stroke:var(--muted);stroke-width:2}.dim.svelte-s3823f{font-size:44px;fill:var(--text);text-anchor:middle}.dim.small.svelte-s3823f{font-size:34px;fill:var(--muted)}.tabs.svelte-1oklm5o{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.tabs.svelte-1oklm5o button.in-use:where(.svelte-1oklm5o){font-weight:700}.tabs.svelte-1oklm5o button.current:where(.svelte-1oklm5o){background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.layout.svelte-1oklm5o{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,2fr);gap:16px;align-items:start}@media(max-width:760px){.layout.svelte-1oklm5o{grid-template-columns:minmax(0,1fr)}}.config-head.svelte-1oklm5o{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bay.svelte-1oklm5o{border:1px solid var(--line);border-radius:6px;padding:8px;margin-bottom:8px}.bay.bad.svelte-1oklm5o{border-color:var(--danger)}.bay-head.svelte-1oklm5o{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-bottom:6px}.bay-head.svelte-1oklm5o select:where(.svelte-1oklm5o){max-width:60%}.boxes.svelte-1oklm5o{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:3px}.boxes.svelte-1oklm5o li:where(.svelte-1oklm5o){display:flex;gap:4px}.add.svelte-1oklm5o{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.status.svelte-1oklm5o{margin-bottom:4px}.inputs.svelte-1dfe8z4{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:10px;font-size:.9rem}.inputs.svelte-1dfe8z4 input:where(.svelte-1dfe8z4){width:4.5em;margin:0 4px}.summary.svelte-1dfe8z4{font-weight:600;margin:0 0 8px}.summary.good.svelte-1dfe8z4{color:var(--ok)}.summary.bad.svelte-1dfe8z4{color:var(--danger)}.util-head.svelte-1dfe8z4{min-width:9em}.util.svelte-1dfe8z4{position:relative;height:18px;background:var(--offcut);border-radius:4px;overflow:hidden;min-width:8em}.util.svelte-1dfe8z4 .bar:where(.svelte-1dfe8z4){height:100%}.util.svelte-1dfe8z4 span:where(.svelte-1dfe8z4){position:absolute;inset:0;font-size:.75rem;line-height:18px;padding-left:6px;font-weight:600}.util.good.svelte-1dfe8z4 .bar:where(.svelte-1dfe8z4){background:var(--ok-bg)}.util.warn.svelte-1dfe8z4 .bar:where(.svelte-1dfe8z4){background:var(--approximation)}.util.bad.svelte-1dfe8z4 .bar:where(.svelte-1dfe8z4){background:var(--danger-bg)}header.svelte-1n46o8q{padding:16px 16px 0;max-width:1400px;margin:0 auto;position:relative}h1.svelte-1n46o8q{margin:0 0 4px;font-size:1.5rem}.actions.svelte-1n46o8q{position:absolute;top:16px;right:16px;display:flex;gap:6px}.primary.svelte-1n46o8q{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}@media(max-width:640px){.actions.svelte-1n46o8q{position:static;margin-top:8px}}.page.svelte-1n46o8q{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;padding:16px;max-width:1400px;margin:0 auto}@media(max-width:900px){.page.svelte-1n46o8q{grid-template-columns:minmax(0,1fr)}}main.svelte-1n46o8q{display:grid;gap:16px;align-content:start;min-width:0}aside.svelte-1n46o8q{display:grid;gap:16px;align-content:start}@media print{aside.svelte-1n46o8q,.actions.svelte-1n46o8q{display:none}.page.svelte-1n46o8q{grid-template-columns:1fr;padding:0}}:root{--bg: #f6f3ee;--card: #ffffff;--text: #2a2622;--muted: #6f6860;--line: #ddd6cc;--highlight: #f3ead9;--accent: #7a4f2a;--accent-text: #ffffff;--wood: #d9b78f;--wood-edge: #7a5634;--rail: #b98b5c;--box: #9fb3cf;--box-edge: #4b5f7c;--box-text: #22324a;--offcut: #ece6dc;--danger: #b3261e;--danger-bg: #f4c7c3;--approximation: #f6dfb8;--ok: #2e6b34;--ok-bg: #bfdcc1;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #1d1a17;--card: #282420;--text: #ece6dd;--muted: #a89f94;--line: #443d36;--highlight: #3a3026;--accent: #c08a55;--accent-text: #1d1a17;--wood: #a98257;--wood-edge: #e0c3a0;--rail: #8a6440;--box: #5d7397;--box-edge: #b8c8e0;--box-text: #f2f5fa;--offcut: #3a342e;--danger: #f2867c;--danger-bg: #6b2622;--approximation: #5a4523;--ok: #8fd096;--ok-bg: #2f5a33;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;min-width:0}h2{margin:0 0 8px;font-size:1.15rem;display:flex;align-items:center;gap:8px}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;color:var(--muted);font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.scroll{overflow-x:auto}.small{font-size:.82rem}.muted{color:var(--muted)}.error{color:var(--danger)}button,select,input{font:inherit;font-size:.9rem;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:5px;padding:3px 7px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.link{border:none;background:none;padding:0;color:var(--accent);text-decoration:underline}fieldset{border:1px solid var(--line);border-radius:6px;margin:0 0 12px;padding:8px 10px 10px;min-width:0}legend{font-weight:600;font-size:.9rem;padding:0 4px;display:flex;align-items:center;gap:6px}.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:1px 6px;border-radius:999px;white-space:nowrap}.badge.recommended{background:var(--accent);color:var(--accent-text);margin-left:4px}@media print{:root{--bg: #fff}.card{border:none;padding:0;break-inside:avoid}button,select{display:none}}
