.calc{display:block}.calc-head{gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-wrap:wrap;justify-content:space-between;display:flex}.mode,.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.calc-head .actions{margin:0}.btn{font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--lh-snug);padding:var(--space-2) var(--space-3);min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;gap:var(--space-1-5);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.btn:active:not(:disabled){transform:scale(.97)}.btn.active,.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn.active:hover:not(:disabled),.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-bg)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--line);margin-bottom:var(--space-4);display:flex;overflow-x:auto}.tab{font:inherit;font-weight:var(--fw-semibold);padding:var(--space-2-5) var(--space-4);border:0;border-bottom:var(--border-3) solid transparent;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease), border-color var(--dur) var(--ease);background:0 0}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.calc-body{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.calc-main{min-width:0;animation:calc-step-in var(--dur-slow) var(--ease)}@keyframes calc-step-in{0%{opacity:0;translate:0 var(--space-2)}to{opacity:1;translate:0}}.calc-total{z-index:10;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-wrap:wrap;align-items:baseline;display:flex;position:sticky;bottom:0}.calc-total-label{font-size:var(--fs-sm);color:var(--muted);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em}.calc-total.is-loading .grand{opacity:var(--opacity-muted)}.grand{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.01em;font-variant-numeric:tabular-nums;transition:opacity var(--dur) var(--ease)}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-1)}.card h2{margin:0 0 var(--space-3);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.subcard{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}.subcard h3,.lines h3{font-size:var(--fs-base);margin:0}.opening{border-top:1px dashed var(--line);padding-top:var(--space-2);margin-top:var(--space-2)}.row-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.grid{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11.25rem,1fr));display:grid}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field-label{font-size:var(--fs-sm);color:var(--muted)}.field-input{align-items:center;gap:var(--space-1-5);display:flex}.field-input em{color:var(--muted);font-style:normal}input[type=number],input[type=text],select{font:inherit;padding:var(--space-2) var(--space-2-5);min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}input[type=number]{font-variant-numeric:tabular-nums}input[type=number]:focus,input[type=text]:focus,select:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}input[aria-invalid=true]{border-color:var(--danger)}.actions{margin:var(--space-2) 0 var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.check-row{align-items:center;gap:var(--space-3);padding:var(--space-1-5) 0;flex-wrap:wrap;display:flex}.check-row input{margin-right:var(--space-2)}.hint,.hint-list{color:var(--muted);font-size:.9rem}.hint-list{padding-left:var(--space-5);margin:0 0 var(--space-2)}.warn{color:var(--warn)}.issues{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-2) var(--space-2) 1.75rem;background:var(--warn-bg);color:var(--warn);border-radius:var(--radius-md)}.lines{margin-bottom:var(--space-4)}.line{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:1fr;display:grid}.price{align-items:center;gap:var(--space-1-5);display:flex}.price input{max-width:8.75rem}.price em{color:var(--muted);font-size:.85rem;font-style:normal}.line-total{font-weight:600}.explain{font-size:var(--fs-sm);grid-column:1/-1}.explain summary{cursor:pointer;color:var(--accent-text)}.explain p{margin:var(--space-1) 0}.explain-status.is-confirmed{color:var(--success)}.explain-status.is-estimated{color:var(--warn)}.explain-status.is-missing{color:var(--danger)}.scenarios{gap:var(--space-2);margin-bottom:var(--space-3);display:grid}.scenario-lines,.purchase{padding-left:var(--space-4);gap:var(--space-1);margin:0;display:grid}.order-sheet{border-collapse:collapse;margin:var(--space-2) 0}.order-sheet th,.order-sheet td{border-bottom:1px solid var(--line);padding:var(--space-1) var(--space-3);text-align:right}.share-link{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.share-link input{flex:16rem;min-width:0}.calc-total .segmented{flex-wrap:wrap}.work{gap:var(--space-2);padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:1fr;align-items:end;display:grid}.totals{gap:var(--space-1-5) var(--space-4);grid-template-columns:1fr auto;margin:0;display:grid}.totals dd{text-align:right;margin:0}.warnings summary{cursor:pointer;font-weight:600}.disclaimer{color:var(--muted);margin-top:var(--space-4);font-size:.85rem}@media (width>=900px){.calc-body{grid-template-columns:minmax(0, 1fr) var(--side-w-narrow);align-items:start}.calc-total{top:var(--space-4);flex-direction:column;align-items:flex-start;position:sticky;bottom:auto}.line{grid-template-columns:2fr 1.5fr 1.5fr 1fr;align-items:center}.work{grid-template-columns:2fr 1fr 1.5fr auto}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.facade{margin:var(--space-4) 0 var(--space-3)}.facade>svg{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);user-select:none;width:100%;height:auto;display:block}.facade .wall{fill:var(--surface);stroke:var(--text);stroke-width:2px;vector-effect:non-scaling-stroke}.facade .row,.facade .lay-piece{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.facade .lay-piece.is-n0{fill:var(--accent-soft)}.facade .lay-piece.is-n1{fill:var(--surface-2)}.facade .lay-piece.is-offcut{fill:var(--accent-2-soft);stroke:var(--accent-2)}.facade .lay-joint{stroke:var(--accent-2);stroke-width:2px;vector-effect:non-scaling-stroke}.layout-toggle{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.layout-legend{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.layout-legend i{inline-size:var(--space-3);block-size:var(--space-3);border:1px solid var(--line);vertical-align:middle;margin-inline-end:var(--space-1);display:inline-block}.layout-legend .is-n0{background:var(--accent-soft)}.layout-legend .is-offcut{background:var(--accent-2-soft)}.layout-legend .is-joint{background:var(--accent-2)}.facade .opening-g{cursor:move;touch-action:none;outline:none}.facade .opening-rect{stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.facade .opening-rect.window{fill:var(--fill-window)}.facade .opening-g{transition:transform .12s}.facade .opening-rect.door{fill:var(--fill-door)}.facade .opening-rect.garage{fill:var(--fill-garage)}.facade .opening-rect.issue{stroke:var(--warn);fill:var(--fill-issue)}.facade .opening-rect.selected,.facade .opening-g:focus-visible .opening-rect{stroke-width:4px}.facade .opening-rect{rx:var(--radius-sm);filter:var(--shadow-drop);transition:stroke-width .12s}.facade .opening-g:hover .opening-rect{stroke-width:3px}.facade .tip{opacity:0;transition:opacity .12s}.facade .opening-g:hover .tip,.facade .opening-g:focus .tip,.facade .opening-g[aria-pressed=true] .tip{opacity:1}.facade .tip-bg{fill:var(--text)}.facade .tip-text{fill:var(--surface);font-variant-numeric:tabular-nums;font-weight:600}.facade .grip{stroke:var(--accent);stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;fill:none}.facade:focus{outline:none}.facade .hit-area,.facade .resize-hit{fill:#0000;pointer-events:all;touch-action:none}.facade .resize-hit{cursor:nesw-resize}.facade .resize-handle{pointer-events:none;fill:var(--accent);stroke:var(--surface);stroke-width:1px;vector-effect:non-scaling-stroke;cursor:nesw-resize;touch-action:none}.wall-tabs{gap:var(--space-1-5);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.facade-help{margin:var(--space-2) 0 0;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-8);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);gap:var(--space-1-5);font-size:.875rem;line-height:1.5;display:grid}.facade-help b{font-weight:600}.swatches{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.swatch{width:6rem;min-height:var(--space-16);padding:var(--space-1-5);border:var(--border-2) solid var(--line);border-radius:var(--radius-md);cursor:pointer;text-align:left;font:inherit;color:var(--text);background:var(--surface);align-items:flex-end;display:flex;position:relative}.swatch[aria-pressed=true]{border-color:var(--accent);outline:var(--border-2) solid var(--accent)}.swatch.nohex{background:repeating-linear-gradient(45deg, var(--surface), var(--surface) var(--space-1-5), var(--line) var(--space-1-5), var(--line) var(--space-3))}.swatch-name{background:color-mix(in srgb, var(--surface) 85%, transparent);padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-xs);font-size:.75rem;line-height:1.2}.house3d .viewport{aspect-ratio:16/10;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);touch-action:none;width:100%;position:relative;overflow:hidden}.house3d .viewport-note{padding:var(--space-4);text-align:center;place-items:center;margin:0;display:grid;position:absolute;inset:0}.check-inline{align-items:center;gap:var(--space-2);min-height:var(--space-10);display:inline-flex}@media (width<=600px){.house3d .viewport{aspect-ratio:4/5}}.export-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.print-sheet{display:none}@media print{body *{visibility:hidden}.print-sheet,.print-sheet *{visibility:visible}.print-sheet{background:var(--print-paper);color:var(--print-ink);padding:12mm;font-size:11pt;display:block;position:absolute;inset:0}.print-sheet table{border-collapse:collapse;width:100%;margin:var(--space-2) 0 var(--space-4)}.print-sheet th,.print-sheet td{border:1px solid var(--print-ink);padding:.1875rem var(--space-1-5);text-align:left;vertical-align:top}.print-sheet thead{display:table-header-group}.print-sheet tr{break-inside:avoid}.print-sheet h1{margin:0 0 var(--space-1);font-size:16pt}.print-sheet h2{margin:var(--space-3) 0 var(--space-1);font-size:12pt}.print-sheet .print-mark{opacity:.6;margin-top:var(--space-4);font-size:7pt}}.facade .dim-line{stroke:var(--muted,var(--text));stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.8}.facade .dim-arrow{fill:none;stroke:var(--muted,var(--text));stroke-width:1.5px}.facade .dim-text{fill:var(--text);paint-order:stroke;stroke:var(--bg);stroke-width:.1875rem;font-variant-numeric:tabular-nums}.facade .dim-touch{stroke:var(--danger);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.shape-gallery{gap:var(--space-2-5);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));display:grid}.shape-card{font:inherit;color:var(--text);background:var(--bg);cursor:pointer;align-items:center;gap:var(--space-1-5);padding:var(--space-3) var(--space-2) var(--space-2-5);border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;flex-direction:column;min-height:2.75rem;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex;position:relative}.shape-card:hover{border-color:var(--accent)}.shape-card:focus-visible{outline:var(--border-2) solid var(--accent);outline-offset:var(--border-2)}.shape-card.selected{border:var(--border-2) solid var(--accent);background:var(--surface);box-shadow:0 0 0 .1875rem color-mix(in srgb, var(--accent) 18%, transparent);padding:.6875rem .4375rem .5625rem}.shape-plan{aspect-ratio:1;width:100%;max-width:4.5rem;display:block}.shape-plan path{fill:color-mix(in srgb, var(--accent) 12%, transparent);stroke:var(--muted);stroke-width:2.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.shape-card.selected .shape-plan path{fill:color-mix(in srgb, var(--accent) 22%, transparent);stroke:var(--accent)}.shape-name{font-size:.85rem;line-height:1.2}.shape-card.selected .shape-name{font-weight:600}.shape-check{top:var(--space-1-5);right:var(--space-1-5);width:var(--space-5);height:var(--space-5);background:var(--accent);border-radius:50%;place-items:center;display:grid;position:absolute}.shape-check svg{fill:none;width:.875rem;height:.875rem;stroke:var(--accent-text);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.shape-params{border-top:1px solid var(--line);padding-top:var(--space-3)}.shape-params-title{margin:0 0 var(--space-3);font-size:1rem}.shape-params .issues{margin:0 0 var(--space-2)}.shape-params .shape-live,.shape-params .shape-manual{margin:var(--space-2) 0 0}.shape-notice{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--warn-bg);color:var(--warn);flex-wrap:wrap;font-size:.9rem;display:flex}.shape-notice-actions{gap:var(--space-2);display:flex}.shape-notice .btn.icon{min-width:2.25rem;padding-inline:0}.btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=420px){.shape-gallery{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.shape-card{padding:var(--space-2-5) var(--space-1) var(--space-2)}.shape-card.selected{padding:.5625rem .1875rem .4375rem}.shape-name{font-size:.78rem}}@media (prefers-reduced-motion:reduce){.shape-card{transition:none}}.history{gap:var(--space-2);display:flex}.calc-head{align-items:center}.plan{--plan-error:var(--danger);--plan-error-bg:var(--danger-bg);--plan-height:var(--accent-2)}.plan-toolbar{gap:var(--space-2-5);margin-bottom:var(--space-3);display:grid}.plan-toolbar-row{gap:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.plan-toolbar .plan-actions{margin:0}.segmented{gap:var(--space-0-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);padding:.1875rem;display:inline-flex}.segmented .btn{border-radius:var(--radius-sm);background:0 0;border-color:#0000;min-height:2.375rem}.segmented .btn.active{background:var(--accent);color:var(--accent-text)}.plan-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.plan-head h2{margin:0}.plan-canvas{position:relative}.plan-canvas.panning>svg{cursor:grab}.plan-zoom{top:var(--space-2);right:var(--space-2);z-index:1;gap:var(--space-1);padding:var(--space-1);background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);display:flex;position:absolute}.plan-zoom .btn{min-height:2.25rem;padding:var(--space-1) var(--space-2-5);border-color:#0000}.plan-zoom .btn.icon{justify-content:center;min-width:2.25rem;padding:0;font-size:1.15rem;line-height:1}.plan-zoom .btn:disabled{opacity:.45;cursor:default}.plan-full{z-index:50;padding:max(var(--space-3), env(safe-area-inset-top)) var(--space-4) var(--space-4);border-radius:0;margin:0;position:fixed;inset:0;overflow:auto}.plan-full .plan-canvas>svg{min-height:50vh;max-height:calc(100dvh - 13.75rem)}.plan-canvas>svg{aspect-ratio:auto;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);user-select:none;touch-action:pan-x pan-y;width:100%;height:auto;max-height:min(70vh,35rem);display:block}.plan-canvas.locked>svg{touch-action:none}.plan-wall-g{-webkit-touch-callout:none}.plan-canvas.drawing>svg{cursor:crosshair}.plan-canvas.dragging>svg{cursor:grabbing}.plan-grid-minor{fill:none;stroke:var(--line);stroke-width:.5px;vector-effect:non-scaling-stroke;opacity:.55}.plan-grid-major{fill:none;stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.plan-grid{pointer-events:none}.plan-fill{fill:color-mix(in srgb, var(--accent) 10%, var(--surface));stroke:none;pointer-events:none}.plan-wall-g{cursor:pointer;outline:none}.plan-wall-hit{stroke:#0000;vector-effect:non-scaling-stroke;stroke-linecap:round;pointer-events:stroke}.plan-wall{stroke:var(--text);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;transition:stroke-width .12s}.plan-wall-g:hover .plan-wall{stroke-width:4.5px}.plan-wall.selected,.plan-wall-g:focus-visible .plan-wall{stroke:var(--accent);stroke-width:5px}.plan-wall.height-diff{stroke:var(--plan-height);stroke-dasharray:10 5}.plan-wall.issue{stroke:var(--plan-error)}.plan-wall.issue.selected{stroke-width:6px}.plan-gap{stroke:var(--plan-error);stroke-width:2px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke;pointer-events:none}.plan-preview{stroke:var(--accent);stroke-width:2px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;pointer-events:none}.plan-vertex-g{cursor:grab;touch-action:none;outline:none}.plan-vertex-hit{fill:#0000;pointer-events:all}.plan-vertex{fill:var(--surface);stroke:var(--accent);stroke-width:2.5px;vector-effect:non-scaling-stroke;pointer-events:none}.plan-vertex-g:hover .plan-vertex,.plan-vertex-g:focus-visible .plan-vertex{fill:color-mix(in srgb, var(--accent) 30%, var(--surface))}.plan-vertex-g.selected .plan-vertex{fill:var(--accent);stroke:var(--surface)}.plan-vertex-g.closing .plan-vertex{fill:var(--accent);stroke-width:3px}.plan-vertex.pending{fill:var(--accent)}.plan-pill rect{fill:var(--text);opacity:.9}.plan-pill text{fill:var(--surface);font-variant-numeric:tabular-nums;font-weight:600}.plan-pill.selected rect{fill:var(--accent);opacity:1}.plan-pill.height rect{fill:var(--surface);stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:1}.plan-pill.height text{fill:var(--muted);font-weight:500}.plan-pill.height.height-diff rect{fill:var(--plan-height);stroke:none}.plan-pill.height.height-diff text{fill:var(--surface);font-weight:600}.plan-pill.selected text{fill:var(--accent-text)}.plan-pill.issue rect{fill:var(--plan-error);opacity:1}.plan-pill.issue text{fill:var(--danger-text)}.plan-pill.turn rect,.plan-pill.preview rect{fill:var(--accent);opacity:1}.plan-pill.turn text,.plan-pill.preview text{fill:var(--accent-text)}.plan-num circle{fill:var(--surface);stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.plan-num text{fill:var(--muted);font-weight:600}.plan-num.selected circle{fill:var(--accent);stroke:var(--accent)}.plan-num.selected text{fill:var(--accent-text)}.plan-hint{margin:var(--space-2) 0 0}.plan-status{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 10%, var(--surface));color:var(--text);font-size:.9rem}.plan .issues{margin:var(--space-3) 0 0;background:var(--plan-error-bg);color:var(--plan-error)}.plan-walk{gap:var(--space-2);margin-top:var(--space-4);display:grid}.plan-walk-row{gap:var(--space-2) var(--space-3);padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:end;display:grid}.plan-walk-row.selected{border-color:var(--accent);box-shadow:0 0 0 var(--space-0-5) color-mix(in srgb, var(--accent) 18%, transparent)}.plan-walk-row.issue{border-color:var(--plan-error)}.plan-walk-row .btn{white-space:nowrap;min-height:2.75rem}.plan-walk-row .field-input input,.plan-fields .field-input input{width:100%;min-width:0;min-height:var(--space-10)}.plan-fields{margin:var(--space-4) 0 0}.plan-help{margin-top:var(--space-4)}@media (width<=480px){.plan-toolbar{flex-direction:column;align-items:stretch}.segmented{grid-template-columns:1fr 1fr;display:grid}.segmented .btn{justify-content:center}.plan-walk-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.plan-walk-row .btn{grid-column:1/-1;justify-content:center}}@media (prefers-reduced-motion:reduce){.plan-wall{transition:none}}.projects-toggle{gap:var(--space-2)}.projects-current{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;color:var(--muted);font-size:.9rem;overflow:hidden}.projects-toggle[aria-expanded=true]{border-color:var(--accent)}.projects{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);margin:0 0 var(--space-4)}.projects-head{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.projects-head h2{margin:0;font-size:1.1rem}.project-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.project-item{grid-template-columns:var(--space-14) minmax(0, 1fr);gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);align-items:center;display:grid}.project-item.current{border-color:var(--accent);box-shadow:inset .1875rem 0 0 var(--accent)}.project-thumb{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);display:block}.project-thumb polygon{fill:color-mix(in srgb, var(--accent) 18%, transparent);stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.project-thumb text{fill:var(--muted);font-size:.625rem}.project-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.project-name{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;min-width:0;font-weight:600;display:flex}.project-meta{color:var(--muted);font-size:.85rem}.badge{padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-text);flex:none;font-size:.75rem;font-weight:500}.project-actions{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.project-actions .btn{min-height:2.25rem;padding:var(--space-1-5) var(--space-2-5);font-size:.9rem}.project-actions .btn:disabled,.btn:disabled{opacity:.5;cursor:default}.project-rename{gap:var(--space-2);flex-wrap:wrap;display:flex}.project-rename input{flex:10rem}@media (width>=720px){.project-item{grid-template-columns:var(--space-14) minmax(0, 1fr) auto}.project-actions{grid-column:auto;justify-content:flex-end}}.dialog-backdrop{z-index:100;padding:var(--space-4);background:var(--overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{width:min(30rem,100%);max-height:calc(100vh - var(--space-8));background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-3);overflow:auto}.dialog:focus{outline:none}.dialog-title{margin:0 0 var(--space-3);font-size:1.15rem}.dialog-body>:first-child{margin-top:0}.dialog-body p{margin:var(--space-3) 0}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.btn.danger-solid{background:var(--warn);border-color:var(--warn);color:var(--bg)}.btn:focus-visible{outline:var(--border-2) solid var(--accent);outline-offset:var(--border-2)}.preview-facts{gap:var(--space-2) var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);margin:0;display:grid}.preview-facts dt{color:var(--muted)}.preview-facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.preview-warnings{margin:var(--space-3) 0 0;padding:var(--space-2-5) var(--space-3) var(--space-2-5) 1.75rem;border-radius:var(--radius-md);background:var(--warn-bg);color:var(--warn)}@media (prefers-reduced-motion:no-preference){.dialog{animation:.14s ease-out dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(var(--space-1-5))}to{opacity:1;transform:none}}}.plan-legend{align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;display:flex}.plan-legend-line{width:var(--space-6);border-top:var(--border-3) dashed var(--plan-height);flex:none}.facade .magnet-guide{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.opening-library{gap:var(--space-2);padding:var(--space-3);margin:0 0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);display:grid}.opening-library-fields{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,8.75rem);display:grid}.opening-library-fields .grid{margin:0}.opening-library-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.opening-library .hint,.opening-library-error{margin:0}@media (width<=420px){.opening-library-fields{grid-template-columns:minmax(0,1fr)}}.unit-field{align-items:center;gap:var(--space-2);display:inline-flex}.unit-field-label{color:var(--muted);font-size:.85rem}.unit-switch{gap:0}.unit-switch .btn{border-radius:0;justify-content:center;min-width:2.75rem}.unit-switch .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.unit-switch .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.unit-switch .btn+.btn{margin-left:-1px}.calc-side{display:contents}@media (width>=900px){.calc-side{gap:var(--space-4);top:var(--space-4);flex-direction:column;align-self:start;min-width:0;display:flex;position:sticky}.calc-side .calc-total{position:static}}@media (width>=1100px){.calc-body,.calc-body.with-3d{grid-template-columns:minmax(0, 1fr) minmax(var(--side-w), 38%);gap:var(--space-6)}.house3d.compact{padding:var(--space-3);margin-bottom:0}.house3d.compact h2{margin-bottom:var(--space-2);font-size:1rem}.house3d.compact .actions{margin:0 0 var(--space-2)}.house3d.compact .viewport{aspect-ratio:4/3}}.examples{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.example{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);display:flex}.example-text{gap:var(--space-0-5);flex-direction:column;min-width:0;display:flex}.example-name{font-weight:600}.example-note{color:var(--muted);font-size:.85rem}.example .btn{flex:none}.examples.compact .example{padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3)}@media (width<=420px){.example{flex-direction:column;align-items:stretch}.examples.compact .example{flex-direction:row;align-items:center}}.wizard-steps{gap:var(--space-1);margin:0 0 var(--space-2);padding:0;list-style:none;display:flex}.wizard-steps li{align-items:center;gap:var(--space-2);padding:0 0 var(--space-2);border-bottom:var(--border-3) solid var(--line);color:var(--muted);flex:1;min-width:0;font-size:.9rem;display:flex}.wizard-steps li.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.wizard-steps li.done{color:var(--text);border-bottom-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.wizard-dot{font-variant-numeric:tabular-nums;border:1px solid;border-radius:50%;flex:none;place-items:center;width:1.375rem;height:1.375rem;font-size:.75rem;display:inline-grid}.wizard-steps li.active .wizard-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.wizard-progress{color:var(--muted);margin:0 0 var(--space-3);font-size:.9rem}.wizard-shapes{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));display:grid}.wizard-examples h3,.wizard-sub{margin:0 0 var(--space-2);font-size:.95rem}.dialog-actions .wizard-skip{margin-right:auto}.examples-card .hint{margin-top:0}.dialog:has(.wizard-steps){width:min(40rem,100%)}.plan-angles{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.check-inline{align-items:center;gap:var(--space-2);min-height:var(--space-10);cursor:pointer;font-size:.95rem;display:inline-flex}.check-inline input{width:1.125rem;height:1.125rem;accent-color:var(--accent);margin:0}.check-inline:has(input:disabled){opacity:.5;cursor:default}.plan-guide{stroke:var(--accent);stroke-width:1.25px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.85}.plan-guide.axis{stroke:var(--plan-height)}.plan-guide.parallel{stroke-dasharray:2 4}.plan-warnings{margin:var(--space-3) 0 0;gap:var(--space-1-5);padding:0;list-style:none;display:grid}.plan-warning{align-items:center;gap:var(--space-2-5);padding:var(--space-1-5) var(--space-1-5) var(--space-1-5) var(--space-2-5);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.plan-warning.error{border-color:color-mix(in srgb, var(--plan-error) 45%, var(--line));background:var(--plan-error-bg)}.plan-warning-icon{background:var(--plan-height);width:1.375rem;height:1.375rem;color:var(--surface);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.plan-warning.error .plan-warning-icon{background:var(--plan-error);color:var(--danger-text)}.plan-warning-text{font:inherit;text-align:left;padding:var(--space-1) 0;color:var(--text);cursor:pointer;background:0 0;border:0;min-width:0}.plan-warning-text:disabled{cursor:default}.plan-warning-text:not(:disabled):hover{text-decoration:underline}.plan-fix{white-space:nowrap;min-height:2.25rem}.turn-field{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;min-width:0;display:grid}.turn-choices{gap:var(--space-1-5);flex-wrap:wrap;display:flex}.turn-choices .btn{min-height:var(--space-10);padding:var(--space-1-5) var(--space-2-5);font-size:.9rem}.turn-other{font-size:.8rem}.turn-diagram{justify-items:center;gap:var(--space-0-5);color:var(--muted);margin:0;display:grid}.turn-diagram svg{width:3.25rem;height:2.375rem}.turn-diagram line{stroke-width:3px;stroke-linecap:round}.turn-diagram-in{stroke:var(--line)}.turn-diagram-out{stroke:var(--accent)}.turn-diagram circle{fill:var(--text)}.turn-diagram figcaption{white-space:nowrap;font-size:.7rem}.tidy-list{margin:var(--space-2) 0;padding-left:var(--space-5);gap:var(--space-1);max-height:40vh;display:grid;overflow:auto}@media (width<=480px){.plan-warning{grid-template-columns:auto minmax(0,1fr)}.plan-fix{grid-column:1/-1;justify-content:center}.turn-field{grid-template-columns:minmax(0,1fr)}.turn-diagram{place-items:center start;gap:var(--space-2);grid-template-columns:auto auto}}.plan-tools{gap:var(--space-1-5);padding-top:var(--space-2-5);border-top:1px dashed var(--line);flex-wrap:wrap;display:flex}.plan-tools .btn{min-height:2.25rem;padding:var(--space-1-5) var(--space-2-5);font-size:.9rem}.plan-tools .btn:disabled,.plan-actions .btn:disabled{opacity:.5;cursor:default}.tools-gap{margin-top:var(--space-3)}.plan-underlay-img{pointer-events:none}.plan-fill.traced{fill:color-mix(in srgb, var(--accent) 6%, transparent)}.plan-diag{stroke:var(--plan-error);stroke-width:1.5px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;pointer-events:none}.plan-diag.ok{stroke:var(--success)}.plan-pill.diag rect{fill:var(--surface);stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:1}.plan-pill.diag text{fill:var(--text)}.plan-pick{fill:var(--plan-height);stroke:var(--surface);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.plan-diag-check{align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.plan-diag-result{padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-md);background:var(--plan-error-bg);color:var(--plan-error);margin:0;font-size:.9rem}.plan-diag-result.ok{background:var(--success-bg);color:var(--text)}.key-entry{gap:var(--space-2) var(--space-3);margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;display:grid}.key-entry .btn{min-height:var(--space-10);white-space:nowrap}.key-entry input[aria-invalid=true]{border-color:var(--plan-error)}.key-entry-hint{grid-column:1/-1;margin:0;font-size:.85rem}.plan-underlay{margin-top:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);padding:0 var(--space-3);background:var(--bg)}.plan-underlay summary{cursor:pointer;padding:var(--space-3) 0;align-items:center;min-height:2.75rem;font-weight:600;display:flex}.plan-underlay[open]{padding-bottom:var(--space-3)}.plan-underlay .actions{margin:var(--space-2) 0}.underlay-pick{padding:var(--space-2) var(--space-2-5);border-radius:var(--radius-md);background:color-mix(in srgb, var(--plan-height) 14%, var(--surface))}.underlay-pick p{margin:0}.underlay-scale{gap:var(--space-2) var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.underlay-opacity{margin-top:var(--space-2);max-width:22.5rem}.underlay-opacity input[type=range]{width:100%;accent-color:var(--accent);min-height:var(--space-8)}.shape-base{align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.shape-base .hint{margin:0}@media (width<=480px){.plan-toolbar-row{flex-direction:column;align-items:stretch}.plan-angles{justify-content:space-between}.key-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.key-entry .btn{grid-column:1/-1;justify-content:center}.underlay-scale{grid-template-columns:minmax(0,1fr)}}.plan-head-actions{gap:var(--space-1-5);flex-wrap:wrap;justify-content:flex-end;display:flex}.plan-head-actions .btn{min-height:2.375rem}.plan-head-actions .btn.icon{justify-content:center;min-width:2.375rem;padding:0;font-weight:700}p.plan-hint{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 8%, var(--surface));color:var(--text);border-left:var(--border-3) solid var(--accent);font-size:.9rem;line-height:1.4}.plan-tips{margin:var(--space-3) 0 0;gap:var(--space-1-5);padding:0;list-style:none;display:grid}.plan-tips li{padding:var(--space-2) var(--space-3) var(--space-2) 2.125rem;border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--line);color:var(--text);font-size:.9rem;line-height:1.4;position:relative}.plan-tips li:before{content:"i";left:var(--space-2-5);width:var(--space-4);height:var(--space-4);background:var(--accent);color:var(--accent-text);border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:grid;position:absolute;top:.5625rem}.shortcuts{gap:0;margin:0;display:grid}.shortcut-row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);display:grid}.shortcut-row:last-child{border-bottom:0}.shortcut-row dt,.shortcut-row dd{margin:0}.shortcut-row kbd{font:inherit;padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-sm);border:1px solid var(--line);border-bottom-width:var(--border-2);background:var(--bg);white-space:normal;font-size:.85rem;font-weight:600}.guide-step{margin:0 0 var(--space-2);color:var(--muted);font-size:.85rem}.guide-body{gap:var(--space-4);grid-template-columns:7.5rem minmax(0,1fr);align-items:start;display:grid}.guide-title{margin:0 0 var(--space-1-5);font-size:1rem}.guide-body p{margin:0;line-height:1.5}.guide-pic{width:7.5rem;height:5rem}.guide-house{fill:color-mix(in srgb, var(--accent) 10%, var(--surface));stroke:var(--text);stroke-width:2px}.guide-accent{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:5 3;stroke-linecap:round}.guide-arrow{fill:var(--accent)}.guide-dots{gap:var(--space-1-5);margin:var(--space-4) 0 0;justify-content:center;padding:0;list-style:none;display:flex}.guide-dots li{width:var(--space-2);height:var(--space-2);background:var(--line);border-radius:50%}.guide-dots li.active{background:var(--accent);width:var(--space-5);border-radius:var(--radius-xs)}@media (width<=480px){.plan-head{flex-wrap:wrap}.plan-head-actions{justify-content:flex-start;width:100%}.guide-body{grid-template-columns:minmax(0,1fr)}.shortcut-row{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}.feedback-fab{font:inherit;align-items:center;gap:var(--space-2);min-height:2.75rem;margin-top:var(--space-2);padding:var(--space-2) .875rem;text-align:left;cursor:pointer;color:var(--accent);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-pill);font-size:.9rem;line-height:1.25;display:inline-flex}.feedback-fab:hover{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.feedback-fab:focus-visible{outline:var(--border-3) solid var(--accent);outline-offset:var(--border-2)}.feedback-fab-icon{flex:none}@media (width>=900px){.calc{--fab-space:5.5rem;padding-bottom:var(--fab-space)}.feedback-fab{z-index:40;bottom:var(--space-4);width:17.5rem;max-width:calc(100vw - var(--space-8));right:max(var(--space-4), calc((100vw - 75rem) / 2 + var(--space-4)));color:var(--accent-text);background:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-2);margin:0;position:fixed}.feedback-fab:hover{background:var(--accent-hover)}.calc-side{max-height:calc(100vh - var(--space-8) - var(--fab-space));overflow-y:auto}}.feedback-form{gap:var(--space-3);display:grid}.feedback-form textarea,.feedback-form input[type=email]{font:inherit;padding:var(--space-2);box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);width:100%;min-height:2.75rem;color:var(--text)}.feedback-form textarea{resize:vertical;min-height:7.5rem}.feedback-form [aria-invalid=true]{border-color:var(--warn)}.feedback-form .hint{margin:0}.feedback-count{font-variant-numeric:tabular-nums;align-self:flex-end;font-size:.85rem}.feedback-check{min-height:2.75rem;padding-top:var(--space-2-5);align-items:flex-start}.feedback-note{margin:calc(-1 * var(--space-2)) 0 0 1.625rem;font-size:.85rem}.feedback-hp{width:1px;height:1px;position:absolute;left:-625rem;overflow:hidden}.feedback-error p{margin:var(--space-1) 0}.feedback-done{font-size:1.05rem;font-weight:600}.dialog:has(.feedback-form){width:min(35rem,100%)}@media print{.feedback-fab{display:none!important}}.theme-switch .btn{min-width:0}.calc-skeleton,.calc-skeleton-body{gap:var(--space-4);display:grid}@media (width>=1100px){.calc-skeleton-body{grid-template-columns:minmax(0, 1fr) var(--side-w)}}.simple .hint{margin-top:0}.simple-steps{counter-reset:q;gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.simple-steps>li{counter-increment:q;gap:var(--space-2);display:grid}.simple-steps h3{align-items:center;gap:var(--space-2);font-size:var(--fs-base);font-weight:var(--fw-semibold);margin:0;display:flex}.simple-steps h3:before{content:counter(q);width:var(--space-6);height:var(--space-6);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-bold);flex:none;place-items:center;display:inline-grid}.simple-steps .grid{margin-bottom:0}.simple-openings{align-items:flex-end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.breakdown{gap:var(--space-2);width:100%;display:grid}.breakdown-bar{height:var(--space-2);border-radius:var(--radius-pill);background:var(--surface-2);gap:var(--space-0-5);display:flex;overflow:hidden}.breakdown-seg{min-width:var(--space-1);transition:flex-grow var(--dur-slow) var(--ease);flex-basis:0}.seg-panels{background:var(--accent)}.seg-accessories{background:var(--accent-2)}.seg-subsystem{background:var(--n-6)}.seg-works{background:var(--success)}.breakdown-legend{gap:var(--space-1);font-size:var(--fs-sm);margin:0;padding:0;list-style:none;display:grid}.breakdown-legend li{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr auto;display:grid}.breakdown-legend .tnum{color:var(--text)}.breakdown-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill)}@media (width<=899px){.calc-total .breakdown-legend{display:none}.calc-total .breakdown{order:10}}@media (width>=900px){.calc-side .calc-total{order:-1}}.shape-name{hyphens:auto;overflow-wrap:break-word;font-size:var(--fs-sm)}@media (width<=480px){.calc-head .segmented.theme-switch,.calc-head .segmented.mode{display:inline-flex}.calc-head .btn{min-height:var(--tap)}}.tabs{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.simple .wizard-shapes{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));display:grid}.compare-pickers{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.compare-variant{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);display:grid}.compare-table{border-collapse:collapse;inline-size:100%}.compare-table th,.compare-table td{border-bottom:1px solid var(--line);padding:var(--space-1) var(--space-2);text-align:start}.compare-table td{text-align:end}.table-scroll{max-inline-size:100%;overflow-x:auto}.file-btn{cursor:pointer}.file-btn:focus-within{outline:var(--border-2) solid var(--accent);outline-offset:var(--border-2)}.price-lists,.price-lists-new,.price-import{gap:var(--space-2);margin-block-end:var(--space-3);display:grid}.offer-form{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin-block-end:var(--space-3);display:grid}.offer-form textarea{inline-size:100%;font:inherit;padding:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:inherit}.offer-logo-field{gap:var(--space-2);align-content:start;display:grid}.offer-logo-preview{object-fit:contain;max-block-size:4rem;max-inline-size:12rem}.offer-line{display:block}@media print{.offer-head{gap:var(--space-4);align-items:flex-start;margin-block-end:var(--space-3);display:flex}.offer-logo{object-fit:contain;max-block-size:20mm;max-inline-size:50mm}.offer-req{margin:var(--space-1) 0 0;font-size:9pt}}.opening>summary{cursor:pointer;align-items:center;min-height:2.75rem;font-weight:600;display:flex}.facade .exclusion-rect{fill:var(--surface);fill-opacity:.85;stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.facade .exclusion-rect.balcony{stroke:var(--accent)}.facade-actions{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;display:flex}@media (width<=899px){html:has(.calc-total){scroll-padding-bottom:16rem}}@media (pointer:coarse){.btn,.btn-sm,.plan-warning-text,.check-inline,summary{min-height:var(--tap)!important}.btn.icon,.stepper-row .btn{min-width:var(--tap)!important}input:not([type=checkbox]):not([type=radio]):not([type=range]),select{min-height:var(--tap)!important}}@media (forced-colors:active){.plan-wall,.facade .wall,.facade .opening-rect{stroke:canvastext}.plan-wall.selected,.plan-wall-g:focus-visible .plan-wall,.facade .opening-rect.selected,.facade .opening-g:focus-visible .opening-rect{stroke:highlight}.plan-vertex{stroke:canvastext;fill:canvas}.plan-vertex-g.selected .plan-vertex,.plan-vertex-g:focus-visible .plan-vertex{fill:highlight}.plan-pill rect{fill:canvas;stroke:canvastext}.plan-pill text{fill:canvastext}.btn:focus-visible{outline-color:highlight}}.hatch-line,.plan-hatch-line,.ground-hatch-line{stroke:var(--n-6)}.opening-hatch-line{stroke:color-mix(in srgb, var(--text) 22%, transparent)}.plan-wall-band{opacity:var(--opacity-muted);pointer-events:none;stroke-linecap:square}.plan-wall{stroke-width:2px}.facade .wall{stroke-width:1.5px}.facade .ground-line{stroke:var(--text);stroke-width:2px;vector-effect:non-scaling-stroke}.facade .ground-hatch{opacity:var(--opacity-muted)}.facade .opening-rect{stroke-width:1px;vector-effect:non-scaling-stroke}.dimension .dim-line,.dim .dim-line{stroke:var(--muted);stroke-width:1px;vector-effect:non-scaling-stroke}.dim-tick{stroke:var(--text);stroke-width:1.5px;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.dimension .dim-text{fill:var(--muted);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--bg);stroke-width:.1875rem}.plan-overlay{left:var(--space-2);bottom:var(--space-2);align-items:flex-end;gap:var(--space-3);pointer-events:none;display:flex;position:absolute}.north-arrow{color:var(--text);font-size:var(--fs-xs);font-weight:var(--fw-bold);flex-direction:column;align-items:center;line-height:1;display:inline-flex}.north-arrow-icon{transition:transform var(--dur) var(--ease);display:inline-flex}.scale-bar{gap:var(--space-0-5);color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex-direction:column;display:inline-flex}.scale-bar-line{height:var(--space-1-5);border:1px solid;border-top:0;display:block}.drawing-foot{margin-top:var(--space-1);justify-content:flex-end;display:flex}.print-plan{display:none}@media print{.print-sheet .print-plan{width:70mm;height:70mm;margin:var(--space-2) 0;color:var(--print-ink);display:block}.print-plan-wall{fill:none}.print-plan-outline{fill:none;stroke:var(--print-ink);stroke-width:.3px}.print-plan .hatch-line{stroke:var(--print-ink)}.print-plan .north-arrow path{fill:none;stroke:var(--print-ink);stroke-width:1.5px}.print-plan .scale-bar path{fill:none;stroke:var(--print-ink);stroke-width:.3px}.print-plan .scale-bar text{fill:var(--print-ink)}.print-sheet .title-block{width:auto;margin-left:auto;margin-top:var(--space-4);break-inside:avoid;font-size:9pt}.print-sheet .title-block th{width:6em;font-weight:var(--fw-regular)}}@media (forced-colors:active){.hatch-line,.plan-hatch-line,.ground-hatch-line,.opening-hatch-line,.dim-tick,.facade .ground-line,.dimension .dim-line{stroke:canvastext}.dimension .dim-text{fill:canvastext;stroke:canvas}.north-arrow,.scale-bar{color:canvastext}}.before-after{align-items:center;gap:var(--space-2);min-height:2.75rem;display:inline-flex}.before-after input[type=range]{inline-size:10rem;max-inline-size:100%;accent-color:var(--accent)}
