@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff")}:root,.light-palette{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#f3f3f0;--surface:#fff;--raised:#f7f7f5;--well:#ecece8;--active:#e6e6e1;--border:#e3e3de;--rule:#eeeeea;--control:#c9c9c3;--text:#161616;--muted:#5c5c58;--faint:#6e6e69;--primary:#1c1c1b;--on-primary:#fff;--accent:#1b6c80;--accent-tint:#1b6c801a;--positive:#1e7b4f;--negative:#c4242a;--negative-tint:#c4242a14;--warning:#9a5200;--warning-tint:#9a52001f;--pill-warning-bg:#fff4d6;--pill-warning-ink:#7a3e0a;--draw-line:#2a2a28;--draw-faint:#9a9a94;--draw-wall:#d9d9d3;--shadow-float:0 8px 28px #00000024, 0 1px 3px #00000014;--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-title:22px;--fs-section:17px;--fs-body:16px;--fs-small:13px;--fs-value:22px;--target:44px;--control-height:48px;--row-height:64px;--radius-sheet:16px;--radius-card:10px;--radius-control:8px;--radius-chip:999px;--inset:8px;--gap:16px;--pad:24px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0e0e0e;--surface:#181818;--raised:#1f1f1f;--well:#121212;--active:#2a2a2a;--border:#2b2b2b;--rule:#232323;--control:#4a4a4a;--text:#f2f2f0;--muted:#b3b3ad;--faint:#94948f;--primary:#f2f2f0;--on-primary:#111;--accent:#5cb8cc;--accent-tint:#5cb8cc24;--positive:#4cc287;--negative:#ef6b6f;--negative-tint:#ef6b6f1f;--warning:#f0b35a;--warning-tint:#f0b35a24;--pill-warning-bg:#2d2412;--pill-warning-ink:#f0c56b;--draw-line:#e6e6e2;--draw-faint:#7a7a75;--draw-wall:#2f2f2d;--shadow-float:0 10px 32px #0009, 0 0 0 1px #333}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0e0e0e;--surface:#181818;--raised:#1f1f1f;--well:#121212;--active:#2a2a2a;--border:#2b2b2b;--rule:#232323;--control:#4a4a4a;--text:#f2f2f0;--muted:#b3b3ad;--faint:#94948f;--primary:#f2f2f0;--on-primary:#111;--accent:#5cb8cc;--accent-tint:#5cb8cc24;--positive:#4cc287;--negative:#ef6b6f;--negative-tint:#ef6b6f1f;--warning:#f0b35a;--warning-tint:#f0b35a24;--pill-warning-bg:#2d2412;--pill-warning-ink:#f0c56b;--draw-line:#e6e6e2;--draw-faint:#7a7a75;--draw-wall:#2f2f2d;--shadow-float:0 10px 32px #0009, 0 0 0 1px #333}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--text);font-family:var(--font);font-size:var(--fs-body);accent-color:var(--accent);caret-color:var(--accent);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;line-height:1.45}::selection{background:var(--accent-tint)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:var(--fs-title);line-height:1.2}h2{font-size:var(--fs-section);line-height:1.3}p{margin:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{min-height:var(--control-height);border-radius:var(--radius-control);border:1px solid var(--control);background:var(--surface);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:500;text-decoration:none;display:inline-flex}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn.text{background:0 0;border-color:#0000;padding:0 12px}.btn.danger{color:var(--negative);background:0 0;border-color:#0000;padding:0}.btn.danger-fill{background:var(--negative);border-color:var(--negative);color:var(--surface)}.btn:disabled{background:var(--active);border-color:var(--active);color:var(--muted);cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.icon-btn{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-control);color:var(--muted);background:0 0;border:0;flex:none;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:active,.btn.text:active{background:var(--active)}.segmented{border-radius:calc(var(--radius-control) + 3px);background:var(--active);gap:2px;padding:3px;display:flex}.segmented button{min-height:var(--target);border-radius:var(--radius-control);color:var(--muted);white-space:nowrap;background:0 0;border:0;flex:1;padding:0 16px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);font-weight:600}.pill{border-radius:var(--radius-chip);height:26px;font-size:var(--fs-small);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.pill.warning{background:var(--pill-warning-bg);color:var(--pill-warning-ink)}.input,.select-field select{min-height:var(--control-height);color:var(--text);background:var(--surface);border:1px solid var(--control);border-radius:var(--radius-control);padding:0 12px}.input{width:100%}.input::placeholder{color:var(--faint)}.field{gap:6px;display:grid}.field>span{font-size:var(--fs-small);color:var(--muted);font-weight:500}.alert{color:var(--negative)}.app{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-rows:60px minmax(0,1fr);display:grid;overflow:hidden}.topbar{align-items:center;gap:8px;min-width:0;padding:0 12px 0 8px;display:flex}.grow{flex:1}.wordmark{letter-spacing:-.01em;align-items:center;gap:10px;padding:0 12px;font-size:18px;font-weight:600;display:flex}.wordmark svg{flex:none;width:26px;height:26px}.icon{flex:none}.sheet{min-height:0;margin:0 var(--inset) var(--inset) 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sheet);overflow:auto}.sheet-head{min-height:84px;padding:16px var(--pad);flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.sheet-head .count{color:var(--muted)}.sheet-body{padding:0 var(--pad) var(--pad)}.sync{min-width:0;color:var(--muted);font-size:var(--fs-small);align-items:center;gap:6px;display:inline-flex}.sync.failed{color:var(--negative)}.home{grid-template-columns:236px minmax(0,1fr)}.home .topbar{grid-column:1/-1}.search{width:min(460px,40vw);height:var(--control-height);border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--border);color:var(--faint);align-items:center;gap:10px;margin:0 auto;padding:0 14px;display:flex}.search input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1}.search input::placeholder{color:var(--faint)}.search:focus-within{outline:2px solid var(--accent);outline-offset:-1px}.side{flex-direction:column;gap:2px;min-height:0;padding:8px 12px 16px;display:flex;overflow-y:auto}.side a{min-height:var(--control-height);border-radius:var(--radius-control);color:var(--muted);align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.side a[aria-current=page]{background:var(--active);color:var(--text)}.side .group{font-size:var(--fs-small);color:var(--faint);margin:20px 12px 4px}.side .account{min-height:56px;margin-top:auto}.side .account span{min-width:0;line-height:1.25;display:grid}.side .account small{text-overflow:ellipsis;white-space:nowrap;font-weight:400;font-size:var(--fs-small);color:var(--faint);overflow:hidden}@media (width<=1000px){.home{grid-template-columns:72px minmax(0,1fr)}.home .wordmark span,.side a>span,.side .group{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.side{padding:8px}.side a{justify-content:center;padding:0}.side .group-start{margin-top:20px}.search{flex:1;width:auto;margin:0 8px}}.projects{border-collapse:collapse;width:100%}.projects th{text-align:left;height:40px;font-size:var(--fs-small);color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:0 12px;font-weight:500}.projects td{border-bottom:1px solid var(--rule);vertical-align:middle;height:80px;padding:0 12px}.projects tr>:first-child{width:92px;padding-left:var(--pad)}.projects tr>:last-child{width:60px;padding-right:12px}.projects .stage-col{width:150px}.projects .panels-col{width:116px}.projects .when-col{width:150px}.projects .num{text-align:right}.projects tbody tr{cursor:pointer;position:relative}.projects tbody tr:hover{background:var(--raised)}.projects tbody tr:active{background:var(--active)}.thumb{border-radius:var(--radius-control);background:var(--well);width:64px;height:56px;display:block}.thumb .outline{fill:none;stroke:var(--draw-line);stroke-width:1.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.project-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:var(--fs-section);color:var(--text);line-height:1.3;text-decoration:none;display:block;overflow:hidden}.project-name:after{content:"";position:absolute;inset:0}.project-name:focus-visible{outline:0}.projects tr:has(.project-name:focus-visible){outline:3px solid var(--accent);outline-offset:-3px}.subline{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-small);color:var(--muted);margin-top:2px;overflow:hidden}.stage-bar{gap:3px;width:120px;margin-bottom:6px;display:flex}.stage-bar i{background:var(--active);border-radius:3px;flex:1;height:5px}.stage-bar i.done{background:var(--text)}.stage-bar i.now{background:var(--accent)}.when{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.thumb .closed{fill:var(--surface)}.chevron{width:var(--control-height);height:var(--control-height);color:var(--faint);place-items:center;display:grid}.no-results{padding:24px var(--pad);color:var(--muted)}.new-project{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.new-project .field{flex:280px}.sheet>.new-project{margin:0 var(--pad) 16px}@media (width<=1000px){.projects tr>:first-child{width:84px;padding-left:16px}.projects .stage-col{width:140px}.projects .panels-col{width:96px}.projects .when-col{width:120px}.projects tr>:last-child{display:none}.projects tr>:nth-last-child(2){padding-right:var(--pad)}}.first{margin:8px var(--pad) 0;border:1px dashed var(--control);border-radius:var(--radius-card);grid-template-columns:minmax(0,1fr) minmax(220px,340px);align-items:center;gap:40px;padding:40px;display:grid}.first h2{font-size:var(--fs-title);margin-bottom:8px}.first p{max-width:46ch;color:var(--muted);margin-bottom:24px}.first .sample-wall{width:100%;height:300px}.flow-title{margin:40px var(--pad) 0}.flow{margin:12px var(--pad) var(--pad);border-top:1px solid var(--border);grid-template-columns:repeat(5,minmax(0,1fr));padding:0;list-style:none;display:grid}.flow li{padding:16px 16px 0 0}.flow b{margin-bottom:4px;font-weight:600;display:block}.flow span{font-size:var(--fs-small);color:var(--muted)}@media (width<=1000px){.first{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px}.first .sample-wall{height:280px}}@media (width<=640px){.first{padding:24px}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}.sample-wall .sw-wall{fill:var(--draw-wall)}.sample-wall .sw-line{fill:none;stroke:var(--draw-line);stroke-width:1.4px;vector-effect:non-scaling-stroke}.sample-wall .sw-floor{stroke-width:2.4px}.sample-wall .sw-thin{stroke:var(--draw-faint);stroke-width:1px}.sample-wall .sw-carcass{fill:var(--surface)}.sample-wall .sw-dim{fill:none;stroke:var(--muted);stroke-width:1px;vector-effect:non-scaling-stroke}.sample-wall text{font-variant-numeric:tabular-nums;fill:var(--text);text-anchor:middle;font-size:160px}.sample-wall text.sw-label{fill:var(--muted);font-size:130px}.settings{max-width:880px}.setting{border-top:1px solid var(--rule);grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:16px 40px;padding:24px 0;display:grid}.setting:first-child{border-top:0;padding-top:8px}.setting h2{margin-bottom:4px}.setting>div>p{font-size:var(--fs-small);color:var(--muted)}.setting .segmented{max-width:420px}.setting .preview{font-size:var(--fs-small);color:var(--muted);margin-top:12px}.form{gap:16px;max-width:420px;display:grid}.form .btn{width:100%}@media (width<=1000px){.setting{grid-template-columns:minmax(0,1fr)}}.editor .topbar{gap:4px}.doc-title{min-width:0;min-height:var(--target);align-content:center;max-width:340px;padding:0 8px 0 4px;display:grid}.doc-title input{min-width:0;height:28px;font-size:var(--fs-section);text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:6px;margin:0 -6px;padding:0 6px;font-weight:600}.doc-title input:hover{border-color:var(--border)}.doc-title input:focus{border-color:var(--accent);background:var(--surface);outline:0}.doc-title .pill{justify-self:start;height:22px}.stepbar{justify-content:center;min-width:0;height:100%;margin:0 auto;display:flex}.steps{align-items:stretch;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:center;display:flex}.steps li+li:before{content:"";border-top:1.6px solid var(--control);border-right:1.6px solid var(--control);width:7px;height:7px;margin:0 2px;transform:rotate(45deg)}.steps button{height:100%;min-height:var(--target);color:var(--muted);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:flex;position:relative}.steps button:disabled{color:var(--faint);cursor:default}.steps .done-mark{color:var(--positive)}.steps button[aria-current=step]{color:var(--text);font-weight:600}.steps button[aria-current=step]:after{content:"";background:var(--accent);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:14px;right:14px}.work{min-height:0;padding:0 var(--inset) var(--inset)}.work>.step-placeholder{height:100%;padding:var(--pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sheet)}.work>.notice{padding:var(--pad)}.editor .stepbar.below{display:none}@media (width<=1000px){.editor{grid-template-rows:60px 52px minmax(0,1fr)}.editor .doc-title{flex:1;max-width:none}.editor .topbar .stepbar{display:none}.editor .stepbar.below{margin:0 var(--inset);display:flex}.work{padding-top:var(--inset)}}.dev-stage{height:calc(100dvh - 220px);min-height:520px;margin-top:16px}.dev-stage>.room-canvas{height:100%}:root{--paper:#fff;--paper-ink:#161616;--paper-muted:#5c5c58;--paper-rule:#d9d9d3;--paper-raw-edge:#9a9a94}.export-canvas.csv{background:var(--surface);border:1px solid var(--border);grid-template-rows:auto minmax(0,1fr);display:grid}.list-head{align-items:center;gap:var(--gap);padding:16px 20px 12px var(--pad);display:flex}.list-head>div:first-child{flex:1;min-width:0}.list-head h2{font-size:var(--fs-title);line-height:1.2}.list-head p{font-size:var(--fs-small);color:var(--muted);margin-top:2px}.list-scroll{min-height:0;padding:0 var(--pad) var(--pad);overflow:auto}.cutlist{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.cutlist th,.cutlist td{text-align:left;white-space:nowrap;padding:0 8px}.cutlist thead th{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);height:36px;font-size:var(--fs-small);color:var(--muted);font-weight:500;position:sticky;top:0}.cutlist td{border-bottom:1px solid var(--rule);height:44px}.cutlist .n,.cutlist .no{text-align:right}.cutlist .no,.cutlist .grp{color:var(--muted)}.cutlist .name{white-space:normal;width:100%;line-height:1.3}.cutlist .dim{font-weight:500}.cutlist .dim.cut{color:var(--accent)}.cutlist tr.group th{vertical-align:bottom;border-bottom:1px solid var(--border);height:52px;padding-top:14px;padding-bottom:8px;font-weight:600}.cutlist tr.group th span{font-size:var(--fs-small);color:var(--muted);margin-left:10px;font-weight:400}.cutlist .tape{font-size:var(--fs-small);color:var(--muted);align-items:center;gap:6px;display:inline-flex}.edges{flex:none;width:34px;height:22px;display:block}.edges .raw{fill:none;stroke:var(--draw-faint);stroke-width:1px}.edges .band{stroke:var(--text);stroke-width:3px;stroke-linecap:square}.grain{fill:none;width:26px;height:22px;stroke:var(--text);stroke-width:1.4px;display:block}.export-step .room-panel>.panel-scroll>.segmented{margin-bottom:8px}.choices{margin:0 -12px;display:grid}.choice{min-height:var(--row-height);border-radius:var(--radius-control);cursor:pointer;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.choice:has(:focus-visible){outline:3px solid var(--accent);outline-offset:-3px}.choice input{appearance:none;border:1.6px solid var(--control);border-radius:50%;outline:none;flex:none;width:22px;height:22px;margin:1px 0 0}.choice input:checked{border:7px solid var(--accent)}.choice span{gap:2px;font-weight:500;line-height:1.3;display:grid}.choice small{font-size:var(--fs-small);color:var(--muted);font-weight:400}.choice small.lost{color:var(--warning);margin-top:2px;font-weight:500}.contents{margin:0;padding-left:18px;line-height:1.6}.totals{gap:2px;margin:0;display:grid}.totals div{justify-content:space-between;align-items:baseline;gap:12px;min-height:32px;display:flex}.totals dt{color:var(--muted)}.totals dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:500}.totals dd small{font-size:var(--fs-small);color:var(--muted);font-weight:400;display:block}.export-step .status:disabled{cursor:default}.export-step .status .chevron{margin-left:auto}.paper-scroll{height:100%;padding:24px 32px 32px;overflow:auto}.page{background:var(--paper);max-width:720px;color:var(--paper-ink);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:2px;margin:0 auto;padding:40px 44px 48px;font-size:13px;line-height:1.4}.page header{border-bottom:2px solid var(--paper-ink);justify-content:space-between;gap:24px;padding-bottom:12px;display:flex}.page header h2{font-size:20px}.page header p,.page .legend,.page .detail{color:var(--paper-muted)}.page header .meta{text-align:right;white-space:nowrap}.page .check{border:1.5px solid var(--paper-ink);margin:12px 0;padding:8px 10px}.page .check b{margin-right:.3em}.page .legend{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:8px;display:flex}.page .legend>span{align-items:center;gap:6px;display:inline-flex}.page .legend .tapes{text-align:right;margin-left:auto;display:grid}.page h3{margin:22px 0 4px;font-size:14px}.page .cutlist th,.page .cutlist td{padding:0 4px}.page .cutlist thead th{border-bottom-color:var(--paper-ink);height:26px;color:var(--paper-muted);background:0 0;font-size:12px;position:static}.page .cutlist td{border-bottom-color:var(--paper-rule);height:28px}.page .cutlist tr.group th{border-bottom-color:var(--paper-ink);height:40px}.page .cutlist .no,.page .cutlist .grp,.page .cutlist .tape,.page .cutlist tr.group th span{color:var(--paper-muted)}.page .cutlist .dim.cut{color:inherit}.page .edges .raw{stroke:var(--paper-raw-edge)}.page .edges .band,.page .grain{stroke:var(--paper-ink)}.page .plain{border-collapse:collapse;width:100%}.page .plain td{border-bottom:1px solid var(--paper-rule);height:28px;padding:0 4px}.page .plain .n{text-align:right;white-space:nowrap}.page .plain .strong{font-weight:600}.page ol{margin:4px 0 0;padding-left:20px}.page .closing{margin-top:10px;font-weight:600}.confirm{width:560px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:var(--pad);border-radius:var(--radius-sheet);background:var(--surface);color:var(--text);box-shadow:var(--shadow-float);border:0}.confirm::backdrop{background:#14141261}.confirm h2{font-size:var(--fs-title);line-height:1.2}.confirm>p{color:var(--muted);margin:8px 0 16px}.confirm .notes{gap:8px;margin:0;padding:0;list-style:none;display:grid}.confirm .note{border-radius:var(--radius-card);background:var(--raised);gap:10px;padding:10px 12px;display:flex}.confirm .note.warning svg{color:var(--warning)}.confirm .note.error svg{color:var(--negative)}.confirm .note svg{flex:none;margin-top:1px}.confirm .note p{font-size:var(--fs-small);color:var(--muted)}.confirm .printed{border:1px solid var(--border);border-radius:var(--radius-card);font-size:var(--fs-small);margin-top:16px;padding:14px 16px}.confirm .printed h3{font-size:var(--fs-small);margin-bottom:6px}.confirm .printed ol{margin:0;padding-left:18px}.confirm .printed p{margin-top:8px;font-weight:600}.confirm .buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (width<=899px){.room-step.export-step{grid-template-rows:minmax(0,1fr) auto}.export-step .room-panel{max-height:46dvh}.list-head{flex-wrap:wrap}}.doc-name{font-size:var(--fs-section);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.print-host{pointer-events:none;position:fixed;top:0;left:-100000px}.print-view{position:relative}.print-host .dim .pill,.print-host .dim .hit{display:none}.w-panel{fill:var(--surface);stroke:var(--draw-line);stroke-width:1.2px}.w-panel.faint{fill:var(--surface);stroke:var(--draw-faint);stroke-width:1px}.leaf-ghost{fill:none;stroke:var(--draw-line);stroke-width:1.2px;stroke-dasharray:9 6}.leaf-on{fill:var(--accent-tint);stroke:var(--accent);stroke-width:2px}.leaf-error{fill:var(--negative-tint);stroke:var(--negative);stroke-width:2px}.w-selected{fill:none;stroke:var(--accent);stroke-width:2.4px;pointer-events:none}.w-selected.fill{fill:var(--accent-tint)}.w-suggest{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-dasharray:8 5}.w-suggest-label{fill:var(--accent);text-anchor:middle;font-size:15px;font-weight:600}.w-need{fill:none;stroke:var(--warning);stroke-width:2px;stroke-dasharray:10 6}.w-hatch{stroke:var(--warning);stroke-width:1px;opacity:.55}.w-footprint{fill:var(--accent-tint);stroke:var(--accent);stroke-width:2px}.w-joint{stroke:var(--accent);stroke-width:1.2px}.fields.wide-first>:first-child{grid-column:1/-1}.fields.single{grid-template-columns:1fr}.bound{font-size:var(--fs-small);color:var(--muted);align-items:center;gap:6px;margin:0;font-weight:500;display:flex}.section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.section-head h3{margin-bottom:0}.section-head .btn.text{min-height:var(--target);color:var(--text);margin-right:-12px}.sum-line{font-size:var(--fs-small);color:var(--muted);align-items:center;gap:6px;margin:8px 0 4px;display:flex}.sum-line svg{color:var(--positive)}.sum-line.off,.sum-line.off svg{color:var(--negative)}.suggest-box{border-radius:var(--radius-card);background:var(--raised);gap:10px;margin-bottom:12px;padding:14px 16px;display:grid}.suggest-box p{font-size:var(--fs-small);color:var(--muted);margin:0;line-height:1.4}.suggest-box b{font-size:var(--fs-body);color:var(--text);margin-bottom:2px;font-weight:600;display:block}.suggest-box .btn{min-height:var(--target);justify-self:start}.filler-row .row-value.active{color:var(--accent)}.pick-row{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;display:grid}.pick{border:1px solid var(--control);border-radius:var(--radius-card);background:var(--surface);min-height:76px;color:var(--text);font-variant-numeric:tabular-nums;align-content:center;justify-items:center;gap:4px;display:grid}.pick small{font-size:var(--fs-small);color:var(--muted)}.pick[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent-tint)}.pick[aria-pressed=true] .badge-letter,.pick[aria-pressed=true] small{border-color:var(--accent);color:var(--accent)}.pick:disabled{opacity:.45}.under{margin:8px 0 0}.computed{border-radius:var(--radius-card);background:var(--raised);font-size:var(--fs-small);color:var(--muted);gap:6px;margin:12px 0 0;padding:12px 14px;display:grid}.computed div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.computed dd{font-size:var(--fs-body);font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-weight:500}.w-issues{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.w-issues.result{margin-top:12px}.w-issue{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);gap:4px;padding:12px 14px;display:grid}.w-issue[aria-current=true].error{border:2px solid var(--negative);padding:11px 13px}.w-issue[aria-current=true].warning{border:2px solid var(--warning);padding:11px 13px}.w-issue .top{align-items:flex-start;gap:10px;font-weight:600;display:flex}button.top{min-height:var(--target);color:inherit;font:inherit;text-align:left;background:0 0;border:0;margin:-12px -14px -4px;padding:12px 14px 4px;font-weight:600}.w-issue[aria-current=true] button.top{margin:-11px -13px -4px;padding:11px 13px 4px}.w-issue .top svg{flex:none;margin-top:1px}.w-issue.error .top svg{color:var(--negative)}.w-issue.warning .top svg{color:var(--warning)}.w-issue.info .top svg{color:var(--muted)}.w-issue .member{gap:2px;padding-left:30px;display:grid}.w-issue .where{font-size:var(--fs-small);color:var(--muted)}.w-issue .nums{font-size:var(--fs-small);font-variant-numeric:tabular-nums}.w-issue .actions,.inline-issue .actions{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.w-issue .actions .btn,.inline-issue .actions .btn{min-height:var(--target);text-align:left;white-space:normal;padding:8px 12px;line-height:1.25}.start-alcove{justify-items:center;gap:16px;max-width:460px;padding:0 16px;display:grid}.start-alcove p{margin:0;line-height:1.5}.w-panel.on{fill:var(--accent-tint);stroke:var(--accent);stroke-width:1.6px}.w-panel.error{fill:var(--negative-tint);stroke:var(--negative);stroke-width:1.6px}.w-panel.error.focus{stroke-width:2.6px}.w-panel.error.dim{stroke-width:1px}.w-disclosure{width:100%;min-height:var(--target);color:var(--muted);font:inherit;font-size:var(--fs-small);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:flex}.w-disclosure svg{flex:none;transition:transform .12s ease-out}.w-disclosure[aria-expanded=true] svg{transform:rotate(90deg)}.w-disclosure+.w-issues{margin-top:4px}@media (prefers-reduced-motion:reduce){.w-disclosure svg{transition:none}}.room-panel .segmented button{white-space:normal;padding-inline:8px;line-height:1.2}@media (width<=899px){.fields.wide-first{grid-template-columns:repeat(3,minmax(0,1fr))}.fields.wide-first>:first-child{grid-column:auto}}.w-panel.chosen{fill:var(--accent);stroke:var(--accent)}.w-rail{fill:var(--draw-faint);stroke:var(--draw-line);stroke-width:1px}.w-hole{fill:var(--draw-faint)}.w-hole.on{fill:var(--accent)}.w-target{fill:#0000;cursor:pointer}.w-near .dim path{stroke:var(--accent)}.w-near .dim text{fill:var(--accent);font-weight:600}.size-row{grid-template-columns:1fr auto;gap:8px;margin:8px 0;display:grid}.size-row .control{min-width:72px}.stepper{grid-template-columns:var(--control-height) 1fr var(--control-height);border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);align-items:center;min-height:56px;display:grid}.stepper button{height:54px;color:var(--text);background:0 0;border:0;place-items:center;display:grid}.stepper button:active{background:var(--active)}.stepper output{border-inline:1px solid var(--rule);justify-content:center;align-items:baseline;gap:6px;line-height:54px;display:flex}.stepper output b{font-size:var(--fs-value);font-variant-numeric:tabular-nums;font-weight:500}.stepper output i{font-style:normal;font-size:var(--fs-small);color:var(--muted)}.stepper.small{min-height:calc(var(--target) + 2px)}.stepper.small button{height:var(--target)}.stepper.small output{line-height:var(--target)}.stepper.small output b{font-size:18px}.shelf-open{border:2px solid var(--accent);border-radius:var(--radius-card);gap:10px;margin:4px 0;padding:12px;display:grid}.shelf-open header{justify-content:space-between;align-items:baseline;display:flex}.shelf-open header b{color:var(--accent);font-weight:600}.shelf-open header span{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums}.shelf-open .hint-line{margin:0;line-height:1.4}.shelf-open .text-danger{justify-self:start}.shelf-count{grid-template-columns:132px 1fr;gap:8px;margin-top:12px;display:grid}.inline-issue{font-size:var(--fs-small);align-items:flex-start;gap:8px;margin:4px 0 8px;line-height:1.4;display:flex}.inline-issue svg{color:var(--warning);flex:none;margin-top:1px}.inline-issue.error svg{color:var(--negative)}.inline-issue b{font-weight:600;display:block}.inline-issue p{margin:0}.inline-issue p span{color:var(--muted);font-variant-numeric:tabular-nums}.interior-add{grid-template-columns:1fr 1fr;gap:8px;display:grid}.interior-add .btn{justify-content:flex-start;padding-inline:14px}.shelf-row{border:0;border-bottom:1px solid var(--rule);width:100%;min-height:52px;color:var(--text);text-align:left;background:0 0;align-items:center;gap:6px;padding:0 0 0 4px;display:flex}.shelf-row b{font-variant-numeric:tabular-nums;margin-left:auto;font-size:18px;font-weight:500}.shelf-row i{font-style:normal;font-size:var(--fs-small);color:var(--muted)}.shelf-row svg{color:var(--muted);margin-left:4px}.leaf-ghost.faint{stroke:var(--draw-faint)}.w-front{fill:var(--surface);stroke:var(--draw-line);stroke-width:1.4px}.w-front.on{fill:var(--accent-tint);stroke:var(--accent);stroke-width:2.4px}.w-front.err{fill:var(--negative-tint);stroke:var(--negative);stroke-width:2px}.w-swing{fill:none;stroke:var(--draw-faint);stroke-width:1px;stroke-dasharray:7 5;pointer-events:none}.w-swing.on{stroke:var(--accent)}.w-cup{fill:var(--surface);stroke:var(--draw-faint);stroke-width:1.2px;pointer-events:none}.w-cup.on{fill:var(--accent);stroke:var(--accent)}.w-cup.warn{fill:var(--surface);stroke:var(--warning);stroke-width:2.4px}.w-gap{stroke:var(--negative);stroke-width:3px;pointer-events:none}.w-handle{fill:var(--draw-line);pointer-events:none}.dim text.muted{fill:var(--muted)}.front-row{width:100%;min-height:var(--row-height);border:0;border-bottom:1px solid var(--rule);color:var(--text);font:inherit;text-align:left;background:0 0;align-items:center;gap:12px;padding:0 0 0 4px;display:flex}button.front-row:active{background:var(--raised)}.front-row .zone-icon{color:var(--muted);flex:none}.front-row .grow{flex:1;gap:2px;font-weight:500;line-height:1.3;display:grid}.front-row small{font-weight:400;font-size:var(--fs-small);color:var(--muted)}.front-row b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.front-row i{font-style:normal;font-size:var(--fs-small);color:var(--muted)}.front-row>svg:last-child{color:var(--faint);flex:none}.interior-add .btn .zone-icon{color:var(--muted)}.leaf-card h4{font-size:var(--fs-small);color:var(--muted);margin:4px 0 0;font-weight:600}.leaf-card{grid-template-columns:minmax(0,1fr)}.leaf-card .hinge-tiles button{min-width:0;min-height:96px}.leaf-card .select-field{margin:4px 0 0}.leaf-card>.btn{justify-self:start}.hinge-values{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.hinge-values .value-field{min-width:0;min-height:56px;padding:4px 8px}.hinge-values .value-field small{font-size:12px}.hinge-values .value-field .value{font-size:18px}.lead-line{margin:0 0 8px;line-height:1.45}
