.st-page{--st-ink:#1c2622;--st-trace:#c0602f;--st-snap:#1f6fb2;--st-glass:#9cc9de;--st-door:#8a5a2b;--st-gold:#d99a2b;--st-gold-soft:#fbefd6;--st-ok-glow:#2a9d5573;--st-principal:#c0602f;--st-secondary:#4f7ea3;--st-blank:var(--text-faint);--st-table:#f8faf7;--st-drawing-ink:#33413b;height:100dvh;min-height:640px;overflow:hidden}.st-main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.st-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.st-hint{color:var(--text-muted);font-size:var(--text-xs);margin:0;line-height:1.45}.st-link{color:var(--text);font:inherit;font-size:var(--text-xs);text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0}.st-link:hover{text-decoration-color:currentColor}.st-link:disabled{opacity:.5;cursor:not-allowed}.st-btn{border:1px solid var(--rule-strong);border-radius:var(--radius-pill);background:var(--surface);min-height:34px;color:var(--text);font:500 var(--text-sm)/1 var(--font-ui);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.st-btn:hover:not(:disabled){background:var(--surface-hover);box-shadow:var(--shadow-1)}.st-btn:active:not(:disabled){transform:translateY(1px)}.st-btn:disabled{opacity:.45;cursor:not-allowed}.st-btn.is-primary{background:var(--st-ink);border-color:var(--st-ink);color:#fff}.st-btn.is-primary:hover:not(:disabled){background:var(--accent-hover)}.st-btn.is-ghost{width:34px;font-family:var(--font-mono);padding:0;font-weight:600}.st-btn.is-small{min-height:28px;font-size:var(--text-xs);padding:0 11px}.st-btn:focus-visible,.st-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.st-seg,.st-page .ui-seg{border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--surface-muted);gap:2px;padding:2px;display:inline-flex}.st-seg>button,.st-page .ui-seg>button{border-radius:var(--radius-pill);min-height:26px;color:var(--text-muted);font:500 var(--text-xs)/1 var(--font-ui);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.st-seg>button:hover:not([aria-pressed=true]):not(:disabled){color:var(--text)}.st-seg>button[aria-pressed=true],.st-page .ui-seg>button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.st-seg>button:disabled{opacity:.45;cursor:not-allowed}.st-seg>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.st-chip{border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--surface);min-height:28px;color:var(--text-muted);font:500 var(--text-xs)/1 var(--font-ui);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);align-items:center;gap:6px;padding:0 11px;display:inline-flex}.st-chip[aria-pressed=true]{color:var(--text);background:#eaf3fb;border-color:#b9d1e6}.st-chip .st-icon.is-on{color:var(--st-snap)}.st-check{font-size:var(--text-xs);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.st-check input{accent-color:var(--st-ink)}.st-head{background:var(--surface);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.st-back{border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-sm);border:1px solid var(--rule);transition:all var(--duration-fast) var(--ease-out);align-items:center;gap:6px;padding:6px 12px 6px 8px;text-decoration:none;display:inline-flex}.st-back:hover{color:var(--text);background:var(--surface-hover)}.st-title{flex-direction:column;flex:0 auto;min-width:0;display:flex}.st-eyebrow{font-family:var(--font-title);font-size:var(--text-2xs);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--st-trace);font-weight:600}.st-title h1{font-family:var(--font-title);font-size:var(--text-lg);white-space:nowrap;text-overflow:ellipsis;max-width:34ch;margin:0;font-weight:600;line-height:1.2;overflow:hidden}.st-meter{flex:360px;align-items:center;gap:12px;min-width:280px;max-width:560px;margin:0 auto;display:flex}.st-meter-score{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.st-meter-score b{font-size:var(--text-xl);color:var(--text);font-weight:600}.st-meter-stages{flex:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.st-meter-stage{cursor:help;flex-direction:column;gap:4px;min-width:0;display:flex}.st-meter-bar{border-radius:var(--radius-pill);background:var(--surface-hover);height:8px;display:block;overflow:hidden;box-shadow:inset 0 1px 2px #1018141f}.st-meter-bar>span{height:100%;width:var(--fill,0%);border-radius:inherit;background:linear-gradient(90deg,#e7a364,var(--st-trace));transition:width var(--duration-slow) var(--ease-out);display:block}.st-meter-stage[data-done] .st-meter-bar>span{background:linear-gradient(90deg,#4fbf7b,var(--state-ok-mark));box-shadow:0 0 8px #2a9d5580}.st-meter-name{font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.st-meter-stage[data-done] .st-meter-name{color:var(--state-ok);font-weight:600}.st-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.st-keep{font-size:var(--text-xs);align-items:center;gap:6px;max-width:16em;display:inline-flex}.st-version-field input,.st-version-field select{font:inherit;font-size:var(--text-sm);border:1px solid var(--rule-strong);border-radius:var(--radius-pill);background:var(--surface);min-width:11em;min-height:34px;padding:0 12px}.st-help{z-index:40;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-l);width:min(440px,100vw - 32px);box-shadow:var(--shadow-3);animation:st-pop var(--duration-base) var(--ease-out);padding:14px 16px;position:absolute;top:118px;right:16px}.st-help h2{font-family:var(--font-title);font-size:var(--text-sm);margin:0 0 8px}.st-help dl{grid-template-columns:1fr 1fr;gap:4px 14px;margin:0 0 8px;display:grid}.st-help dl div{font-size:var(--text-xs);align-items:center;gap:8px;display:flex}.st-help dd{color:var(--text-muted);margin:0}.st-help kbd{border:1px solid var(--rule-strong);background:var(--surface-muted);min-width:24px;height:22px;font:600 var(--text-2xs)/1 var(--font-mono);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;display:inline-grid}.st-notices:empty{display:none}.st-notices{flex-direction:column;display:flex}.st-notice{border-bottom:1px solid var(--warn-border);background:var(--warn-surface);font-size:var(--text-sm);margin:0;padding:8px 16px}.st-notice.is-ok{background:var(--state-ok-bg);color:var(--state-ok);animation:st-slide var(--duration-base) var(--ease-out);border-color:#cfe7d6}.st-notice-quiet{border-bottom:1px solid var(--rule);background:var(--surface);padding:6px 16px}.st-missing{max-width:640px;margin:40px auto}.st-loading{color:var(--text-muted);flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.st-spinner{border:2px solid var(--rule);border-top-color:var(--st-trace);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite st-spin}.st-body{min-height:0;transition:grid-template-columns var(--duration-slow) var(--ease-out);flex:1;grid-template-columns:minmax(0,1fr) 384px;display:grid}.st-centre{flex-direction:column;min-width:0;min-height:0;display:flex}.st-side{border-left:1px solid var(--rule);background:var(--surface-muted);scrollbar-width:thin;flex-direction:column;gap:8px;min-height:0;padding:8px 10px 24px;display:flex;overflow-y:auto}.st-stage{flex-direction:column;flex:1;min-height:0;display:flex}.st-stage-bar{border-bottom:1px solid var(--rule);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.st-levels{border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--rule);gap:4px;padding:3px;display:flex}.st-level{border-radius:var(--radius-pill);min-height:28px;color:var(--text-muted);font:500 var(--text-xs)/1 var(--font-ui);cursor:pointer;transition:all var(--duration-base) var(--ease-out);background:0 0;border:0;align-items:center;gap:6px;padding:0 12px 0 4px;display:inline-flex}.st-level small{border-radius:var(--radius-pill);background:var(--st-gold-soft);color:#8a5a0b;min-width:16px;height:16px;font:600 10px/1 var(--font-mono);place-items:center;padding:0 4px;display:inline-grid}.st-level-no{background:var(--surface);border:1px solid var(--rule);width:22px;height:22px;font:600 var(--text-2xs)/1 var(--font-mono);border-radius:50%;place-items:center;display:inline-grid}.st-level:hover{color:var(--text)}.st-level[aria-selected=true]{background:var(--st-ink);color:#fff;box-shadow:var(--shadow-1)}.st-level[aria-selected=true] .st-level-no{background:var(--st-trace);border-color:var(--st-trace);color:#fff}.st-level:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.st-stage-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.st-drawing-bar{border-bottom:1px solid var(--rule);background:var(--st-table);font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 12px;display:flex}.st-file{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;max-width:22ch;font-weight:600;display:inline-flex;overflow:hidden}.st-fact{color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.st-fact b{color:var(--text);font-weight:600}.st-fact select,.st-fact input[type=number]{font:inherit;border:1px solid var(--rule-strong);border-radius:var(--radius-xs);background:var(--surface);min-height:26px;padding:0 6px}.st-fact input[type=number]{width:5.5em}.st-fade input{width:90px;accent-color:var(--st-ink)}.st-layers{border:0;flex-wrap:wrap;flex-basis:100%;gap:4px;margin:0;padding:0;display:flex}.st-layer{border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--surface);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out);align-items:center;gap:5px;padding:2px 9px 2px 6px;display:inline-flex}.st-layer[data-off]{opacity:.55}.st-layer small{color:var(--text-faint);font-family:var(--font-mono)}.st-layer input{accent-color:var(--st-ink);margin:0}.st-work{min-height:0;transition:grid-template-columns var(--duration-slow) var(--ease-out);flex:1;grid-template-columns:auto minmax(0,1fr) 0fr;display:grid}.st-work[data-view=split]{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}.st-work[data-view="3d"]{grid-template-columns:auto 0fr minmax(0,1fr)}.st-work[data-view="3d"] .st-plan{visibility:hidden;overflow:hidden}.st-dock{border-right:1px solid var(--rule);background:var(--surface);scrollbar-width:none;z-index:4;flex-direction:column;gap:10px;padding:10px 8px;display:flex;overflow-y:auto}.st-dock-group{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding-bottom:10px;display:flex}.st-dock-group:last-child{border-bottom:0}.st-dock-btn{width:38px;height:38px;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:11px;place-items:center;padding:0;display:grid;position:relative}.st-dock-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text);transform:translateY(-1px)}.st-dock-btn:active:not(:disabled){transform:scale(.94)}.st-dock-btn[aria-pressed=true]{background:var(--st-ink);color:#fff;box-shadow:0 3px 10px #1c262247}.st-dock-btn.is-primary{background:var(--st-trace);color:#fff;box-shadow:0 3px 10px #c0602f59}.st-dock-btn.is-primary:hover:not(:disabled){color:#fff;background:#a8521f}.st-dock-btn:disabled{opacity:.32;cursor:not-allowed}.st-dock-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.st-dock-btn:after{content:attr(data-tip) "  " attr(data-key);background:var(--st-ink);color:#fff;font:500 var(--text-xs)/1.2 var(--font-ui);white-space:pre;pointer-events:none;opacity:0;transition:all var(--duration-fast) var(--ease-out);z-index:30;border-radius:7px;padding:5px 9px;position:absolute;top:50%;left:calc(100% + 10px);transform:translate(-4px,-50%)}.st-dock-btn:hover:after,.st-dock-btn:focus-visible:after{opacity:1;transform:translateY(-50%)}.st-dock-busy{border:2px solid #ffffff80;border-top-color:#fff;border-radius:9px;animation:.8s linear infinite st-spin;position:absolute;inset:4px}.st-plan{flex-direction:column;min-width:0;min-height:0;display:flex}.st-prompt{border-bottom:1px solid var(--rule);background:var(--surface);min-height:40px;font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 12px;display:flex}.st-prompt-text{flex:260px;line-height:1.4}.st-problem{color:var(--state-bad)}.st-length{animation:st-pop var(--duration-base) var(--ease-out);align-items:center;gap:8px;display:inline-flex}.st-length label{align-items:center;gap:6px;display:inline-flex}.st-length input{width:6.5em;font:inherit;font-family:var(--font-mono);border:1.5px solid var(--st-snap);border-radius:var(--radius-s);background:var(--surface);min-height:28px;padding:0 8px}.st-viewport{touch-action:none;background:radial-gradient(130% 120% at 50% 40%,#fbfcfa 0%,var(--st-table) 55%,#eef2ec 100%);outline:none;flex:1;min-height:240px;position:relative;overflow:hidden}.st-viewport:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-ring)}.st-viewport[data-tool=pan]{cursor:grab}.st-viewport[data-tool=outline],.st-viewport[data-tool=rooms],.st-viewport[data-tool=scale],.st-viewport[data-tool=check],.st-viewport[data-tool=turn]{cursor:crosshair}.st-viewport[data-tool=openings],.st-viewport[data-tool=shape]{cursor:copy}.st-drawing-canvas,.st-svg{width:100%;height:100%;position:absolute;inset:0}.st-drawing-canvas{pointer-events:none}.st-svg{-webkit-user-select:none;user-select:none;display:block}.st-grid{fill:none;stroke:#e3e9e1;stroke-width:1px}.st-grid-fine{stroke:#eef2ec}.st-grid-major{stroke:#d3dccf}.st-footprint{fill:#c0602f0f;stroke:none}.st-trace{fill:none;stroke:var(--st-trace);stroke-width:2px;stroke-dasharray:6 4;animation:.9s linear infinite st-march}.st-trace.is-closed{fill:#c0602f0d;stroke-dasharray:none;animation:none}.st-room{fill:color-mix(in srgb,var(--room) 34%,transparent);stroke:color-mix(in srgb,var(--room) 80%,#1c2622);stroke-width:1.4px;transition:fill var(--duration-base) var(--ease-out)}.st-room[data-selected=true]{fill:color-mix(in srgb,var(--room) 55%,transparent);stroke:var(--st-ink);stroke-width:2.4px;filter:drop-shadow(0 3px 6px #1c262240)}.st-room-ghost{fill:color-mix(in srgb,var(--room) 40%,transparent);stroke:var(--st-ink);stroke-width:1.6px;stroke-dasharray:5 3;pointer-events:none}.st-room-label{pointer-events:none;font:600 12px var(--font-ui);fill:var(--text);paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;stroke-linejoin:round}.st-room-area{font:500 11px var(--font-mono);fill:var(--text-muted)}.st-ndss rect{fill:var(--state-ok-bg);stroke:var(--state-ok-mark);stroke-width:1px}.st-ndss text{font:600 9.5px var(--font-ui);fill:var(--state-ok);stroke:none}.st-ndss[data-ok=false] rect{fill:var(--state-bad-bg);stroke:var(--state-bad-mark)}.st-ndss[data-ok=false] text{fill:var(--state-bad)}.st-edge{fill:none;stroke:var(--st-principal);stroke-width:4px;stroke-linecap:round;transition:stroke var(--duration-base) var(--ease-out)}.st-edge[data-tag=secondary]{stroke:var(--st-secondary);stroke-width:3px;stroke-dasharray:8 5}.st-edge[data-tag=blank]{stroke:var(--st-blank);stroke-width:2.2px}.st-edge[data-party]{stroke:#5c6a63;stroke-width:5px;stroke-dasharray:2 3}.st-edge-selected{fill:none;stroke:var(--st-gold);stroke-width:11px;stroke-linecap:round;opacity:.55}.st-edge-no circle{fill:var(--surface);stroke:var(--rule-strong)}.st-edge-no text{font:600 10px var(--font-mono);fill:var(--text-muted)}.st-opening-case{stroke:var(--surface);stroke-width:9px;stroke-linecap:butt}.st-opening-pane{stroke:var(--st-glass);stroke-width:5px;stroke-linecap:butt}.st-opening[data-kind=door] .st-opening-pane{stroke:var(--st-door)}.st-opening[data-glazing=obscure] .st-opening-pane{stroke:#c9d6dc;stroke-dasharray:3 2}.st-opening[data-glazing=high] .st-opening-pane{stroke:#6aa5c4}.st-opening[data-selected=true] .st-opening-case{stroke:var(--st-gold);stroke-width:13px}.st-opening-ghost{stroke:var(--st-glass);stroke-width:7px;opacity:.65;stroke-linecap:round;pointer-events:none;animation:.9s ease-in-out infinite st-blink}.st-opening-ghost[data-kind=door]{stroke:var(--st-door)}.st-room-trace{fill:color-mix(in srgb,var(--room,#8fb3dc) 22%,transparent);stroke:var(--st-ink);stroke-width:1.6px;stroke-dasharray:5 3}.st-corner{fill:#fff;stroke:var(--st-trace);stroke-width:2px;transition:r var(--duration-fast) var(--ease-out)}.st-corner.is-first{fill:var(--st-trace);animation:1s ease-in-out infinite st-throb}.st-corner.is-room{stroke:var(--st-ink)}.st-pick{fill:#fff;stroke:var(--st-snap);stroke-width:2px}.st-pick-line{fill:none;stroke:var(--st-snap);stroke-width:1.6px;stroke-dasharray:4 3}.st-guide{fill:none;stroke:var(--st-snap);stroke-width:1px;stroke-dasharray:3 4;opacity:.8;pointer-events:none}.st-guide[data-kind=wall]{stroke:#7a6aa8}.st-band path{fill:none;stroke:var(--st-trace);stroke-width:1.6px;stroke-dasharray:4 3}.st-band-pill rect,.st-dim-live rect{fill:var(--st-ink);stroke:none;filter:drop-shadow(0 2px 4px #1c26224d)}.st-band-pill text,.st-dim-live text{font:600 11.5px var(--font-mono);fill:#fff}.st-band-pill.is-typing rect{fill:var(--st-snap)}.st-dim-live{pointer-events:none}.st-dim{cursor:text}.st-dim rect{fill:var(--surface);stroke:var(--rule-strong);stroke-width:1px;transition:all var(--duration-fast) var(--ease-out)}.st-dim text{font:600 10.5px var(--font-mono);fill:var(--text)}.st-dim:hover rect,.st-dim[data-editing] rect{fill:#eaf3fb;stroke:var(--st-snap)}.st-dim.is-room rect{fill:#ffffffeb}.st-dim-input{z-index:6;width:84px;font:600 12px var(--font-mono);text-align:center;border:2px solid var(--st-snap);border-radius:var(--radius-pill);min-height:26px;box-shadow:var(--shadow-2);animation:st-pop var(--duration-fast) var(--ease-out);background:#fff;padding:0 6px;position:absolute;transform:translate(-50%,-50%)}.st-snap{pointer-events:none}.st-snap rect{fill:none;stroke:var(--st-snap);stroke-width:2px}.st-snap-pulse{fill:#1f6fb21f;stroke:#1f6fb273;stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:1.1s ease-out infinite st-magnet}.st-snap[data-kind=grid] rect,.st-snap[data-kind=align] rect{stroke-width:1.3px}.st-snap[data-kind=grid] .st-snap-pulse{display:none}.st-snap[data-kind=close] rect{stroke:var(--st-trace)}.st-snap-tag rect{fill:var(--st-snap);stroke:none}.st-snap[data-kind=close] .st-snap-tag rect{fill:var(--st-trace)}.st-snap[data-kind=grid] .st-snap-tag rect{fill:#7c8a83}.st-snap-tag text{font:600 10px var(--font-ui);fill:#fff}.st-readout{pointer-events:none;font:500 var(--text-2xs) var(--font-mono);color:var(--text-muted);flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:8px;left:10px}.st-readout span{border-radius:var(--radius-pill);border:1px solid var(--border);background:#ffffffe0;padding:3px 8px}.st-typed{color:#fff!important;background:var(--st-snap)!important;border-color:var(--st-snap)!important}.st-minimap{z-index:3;border:1px solid var(--rule);box-shadow:var(--shadow-2);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity var(--duration-base) var(--ease-out);opacity:.82;background:#ffffffe6;border-radius:10px;position:absolute;top:10px;right:10px}.st-minimap:hover{opacity:1}.st-minimap-drawing{fill:#f1f4f0;stroke:#d7dfd4;stroke-width:1px}.st-minimap-room{opacity:.75}.st-minimap-outline{fill:none;stroke:var(--st-trace);stroke-width:1.6px}.st-minimap-frame{fill:#1f6fb214;stroke:var(--st-snap);stroke-width:1.4px;rx:2}.st-basis{border-top:1px solid var(--rule);background:var(--surface);font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 12px;display:flex}.st-basis .ui-label{font-family:var(--font-title);font-size:var(--text-2xs);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-muted);font-weight:600}.st-gea{margin-left:auto}.st-gea b{font-family:var(--font-mono)}.st-palette{border-top:1px solid var(--rule);background:linear-gradient(180deg,var(--surface) 0%,var(--surface-muted) 100%);scrollbar-width:thin;align-items:stretch;gap:10px;padding:8px 12px;display:flex;overflow-x:auto}.st-palette-group{gap:6px;display:flex}.st-palette-rule{background:var(--rule);flex:none;width:1px}.st-tile{border:1px solid var(--rule);background:var(--surface);min-width:74px;color:var(--text);cursor:grab;font:500 var(--text-2xs)/1.15 var(--font-ui);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 6px 5px;display:flex}.st-tile:hover:not(:disabled){box-shadow:var(--shadow-2);border-color:var(--rule-strong);transform:translateY(-3px)rotate(-1deg)}.st-tile:active:not(:disabled){cursor:grabbing;transform:scale(.96)}.st-tile[aria-pressed=true]{border-color:var(--st-ink);box-shadow:0 0 0 2px var(--st-ink)}.st-tile:disabled{opacity:.4;cursor:not-allowed}.st-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.st-tile-swatch{background:linear-gradient(135deg,color-mix(in srgb,var(--tile) 70%,#fff),var(--tile));border-radius:6px;place-items:center;width:32px;height:22px;display:grid;box-shadow:inset 0 -2px #0000001f,0 1px 2px #10181426}.st-tile-swatch.is-opening{color:var(--st-snap);background:#eaf3fb}.st-tile-swatch.is-opening[data-kind=door]{color:var(--st-door);background:#f5ebe0}.st-tile-name{white-space:nowrap}.st-tile-size{font-family:var(--font-mono);color:var(--text-faint);font-size:9.5px}.st-3d-pane{border-left:1px solid var(--rule);min-width:0;min-height:0;animation:st-fade var(--duration-slow) var(--ease-out);position:relative;overflow:hidden}.st3d{background:linear-gradient(#e9eff0 0%,#f2f5f1 60%,#e5ece2 100%);position:absolute;inset:0}.st3d-host{position:absolute;inset:0}.st3d-canvas{cursor:grab;display:block;width:100%!important;height:100%!important}.st3d-canvas:active{cursor:grabbing}.st3d-status{text-align:center;color:var(--text-muted);font-size:var(--text-sm);place-items:center;margin:0;padding:24px;display:grid;position:absolute;inset:0}.st3d-badge{border-radius:var(--radius-pill);border:1px solid var(--rule);font-size:var(--text-2xs);color:var(--text-muted);background:#ffffffe0;margin:0;padding:4px 10px;position:absolute;top:12px;left:12px}.st3d-controls{border:1px solid var(--rule);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-xs);background:#ffffffe6;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.st3d.is-compact .st3d-controls{gap:6px 8px;padding:6px 8px}.st3d-range{color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.st3d-range input{width:110px;accent-color:var(--st-trace)}.st-section{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-l);box-shadow:var(--shadow-1);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base)}.st-section[data-tone=live]{border-color:var(--st-gold);box-shadow:0 0 0 3px #d99a2b2e}.st-section-head{margin:0}.st-section-head button{width:100%;color:var(--text);cursor:pointer;font:600 var(--text-xs)/1 var(--font-title);letter-spacing:var(--label-tracking);text-transform:uppercase;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.st-section-head button>span:first-of-type{flex:1}.st-section-head .st-icon{color:var(--text-muted)}.st-section[data-tone=live] .st-section-head .st-icon{color:var(--st-gold)}.st-count{border-radius:var(--radius-pill);background:var(--surface-hover);min-width:22px;height:20px;font:600 10.5px/1 var(--font-mono);letter-spacing:0;text-transform:none;color:var(--text-muted);place-items:center;padding:0 6px;display:inline-grid}.st-section[data-tone=ok] .st-count{background:var(--state-ok-bg);color:var(--state-ok)}.st-section[data-tone=warn] .st-count{background:var(--state-warn-bg);color:var(--state-warn)}.st-section[data-tone=bad] .st-count{background:var(--state-bad-bg);color:var(--state-bad)}.st-caret{color:var(--text-faint);transition:transform var(--duration-base) var(--ease-out);transform:rotate(-90deg)}.st-section[data-open] .st-caret{transform:none}.st-section-head button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-l)}.st-section-body{animation:st-slide var(--duration-base) var(--ease-out);padding:0 12px 12px}.st-fields{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.st-field{min-width:0;font-size:var(--text-2xs);color:var(--text-muted);flex-direction:column;gap:3px;display:flex}.st-field.is-wide,.st-check.is-wide{grid-column:1/-1}.st-field input,.st-field select{font:inherit;font-size:var(--text-sm);color:var(--text);border:1px solid var(--rule-strong);border-radius:var(--radius-s);background:var(--surface);width:100%;min-width:0;min-height:30px;padding:0 8px}.st-field input:focus,.st-field select:focus{outline:2px solid var(--focus-ring);outline-offset:0;border-color:#0000}.st-field input[type=range]{accent-color:var(--st-trace);border:0;padding:0}.st-derived{border-top:1px solid var(--rule);flex-direction:column;gap:8px;margin:12px 0 0;padding-top:10px;display:flex}.st-derived dt{font-family:var(--font-title);font-size:var(--text-2xs);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-muted);font-weight:600}.st-derived dd{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:2px 0 0}.st-derived dd small{font-family:var(--font-ui);font-size:var(--text-2xs);color:var(--text-faint);display:block}.st-derived dd .st-link{font-family:var(--font-ui)}.st-stages{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.st-stages li{font-size:var(--text-xs);border-radius:8px;align-items:flex-start;gap:8px;margin:0 -6px;padding:4px 6px;display:flex}.st-stages small{color:var(--text-muted);display:block}.st-stage-dot{border:1.5px solid var(--rule-strong);color:#fff;width:18px;height:18px;transition:all var(--duration-base);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.st-stages li[data-done] .st-stage-dot{background:var(--state-ok-mark);border-color:var(--state-ok-mark)}.st-massing{flex-direction:column;gap:10px;display:flex}.st-roofs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.st-roof-card{border:1px solid var(--rule);background:var(--surface);cursor:pointer;font:500 var(--text-xs)/1 var(--font-ui);color:var(--text-muted);transition:all var(--duration-fast) var(--ease-out);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;display:flex}.st-roof-card:hover:not(:disabled){box-shadow:var(--shadow-1);transform:translateY(-2px)}.st-roof-card[aria-pressed=true]{border-color:var(--st-trace);color:var(--text);box-shadow:0 0 0 2px #c0602f40}.st-roof-card:disabled{opacity:.4;cursor:not-allowed}.st-roof-slope{fill:#b0603f}.st-roof-wall{fill:#efe6d8;stroke:#c9bba5}.st-pitch b{font-family:var(--font-mono);color:var(--text)}.studio-inspector.is-empty{padding:2px 0}.studio-editor{flex-direction:column;gap:8px;display:flex}.studio-editor-title{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.studio-editor-title small{color:var(--text-muted);font-family:var(--font-mono)}.studio-editor .st-field{font-size:var(--text-2xs)}.studio-editor .ui-seg{align-self:flex-start}.studio-proposals ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.studio-proposals li{background:var(--surface-muted);font-size:var(--text-xs);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.studio-proposals li>span{flex:180px}.studio-proposals-all{gap:6px;display:inline-flex}.st-swatch{background:var(--room);vertical-align:-1px;border-radius:4px;flex:none;width:12px;height:12px;margin-right:6px;display:inline-block;box-shadow:inset 0 -1px #00000026}.st-swatch.is-large{border-radius:6px;width:18px;height:18px;margin-right:0}.studio-elev{contain:inline-size;border:1px solid var(--border);scrollbar-width:thin;background:linear-gradient(#eef4f7,#f7f9f6);border-radius:10px;min-width:0;margin:0 0 10px;overflow-x:auto}.studio-elev svg{display:block}.studio-elev-ground{stroke:#7b8a6f;stroke-width:2px}.studio-elev-wall{cursor:pointer;outline:none}.studio-elev-band{fill:#fffaf2;stroke:var(--st-principal);stroke-width:2px}.studio-elev-wall[data-tag=secondary] .studio-elev-band{stroke:var(--st-secondary);stroke-width:1.4px;stroke-dasharray:5 3}.studio-elev-wall[data-tag=blank] .studio-elev-band{fill:#f1f2ef;stroke:var(--st-blank);stroke-width:1px}.studio-elev-party{stroke:none}.studio-elev-hatch{stroke:var(--text-faint);stroke-width:1px}.studio-elev-wall[data-selected] .studio-elev-band{stroke:var(--st-gold);stroke-width:3px}.studio-elev-wall:focus-visible .studio-elev-band{stroke:var(--focus-ring);stroke-width:3px}.studio-elev-pane{fill:var(--st-glass);stroke:var(--st-ink);stroke-width:.8px}.studio-elev-pane[data-glazing=obscure]{fill:#e4e9e6;stroke-dasharray:2 1.5}.studio-elev-pane[data-kind=door]{fill:#8a5a2b73}.studio-elev-pane[data-kind=door][data-glazing]{fill:var(--st-glass);stroke:var(--st-door);stroke-width:1.4px}.studio-elev-no{font:600 10px var(--font-mono);fill:var(--text-muted)}.studio-elev-wall[data-selected] .studio-elev-no{fill:var(--st-gold)}.studio-walls{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.studio-wall{font-size:var(--text-xs);transition:background var(--duration-base) var(--ease-out);border-radius:10px;grid-template-columns:24px 60px minmax(0,1fr);grid-template-areas:"no len tag"".marks marks"".source source"".reason reason";align-items:center;gap:3px 8px;padding:6px;display:grid}.studio-wall[data-selected]{background:var(--st-gold-soft)}.studio-wall-no{background:var(--surface);border:2px solid var(--st-principal);width:22px;height:22px;font:600 10px/1 var(--font-mono);color:var(--text);cursor:pointer;border-radius:50%;grid-area:no;place-items:center;padding:0;display:grid}.studio-wall-no:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.studio-wall[data-tag=principal] .studio-wall-no{background:var(--st-principal);color:#fff}.studio-wall[data-tag=secondary] .studio-wall-no{border-color:var(--st-secondary);border-style:dashed}.studio-wall[data-tag=blank] .studio-wall-no{border-color:var(--st-blank);border-width:1px}.studio-wall-len{font-family:var(--font-mono);font-variant-numeric:tabular-nums;grid-area:len}.studio-wall select{min-width:0;font:inherit;border:1px solid var(--rule-strong);border-radius:var(--radius-s);background:var(--surface);min-height:26px;color:var(--text);grid-area:tag;padding:0 6px}.studio-wall-marks{color:var(--text-muted);grid-area:marks}.studio-wall-source{color:var(--text-faint);font-size:var(--text-2xs);grid-area:source}.studio-wall-source .st-link{font-size:var(--text-2xs)}.studio-wall[data-source=hand] .studio-wall-source{color:var(--text-muted)}.studio-wall-reason{color:var(--state-warn);font-size:var(--text-2xs);flex-direction:column;grid-area:reason;gap:3px;margin-top:3px;font-weight:600;display:flex}.studio-wall-reason input{font:inherit;font-weight:400;font-size:var(--text-xs);border:1px solid var(--warn-border);border-radius:var(--radius-s);background:var(--surface);min-height:28px;color:var(--text);padding:0 8px}.studio-rooms-table{font-size:var(--text-xs);width:100%}.studio-rooms-table caption{text-align:left;font-family:var(--font-title);font-size:var(--text-2xs);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-muted);padding:6px 0 4px;font-weight:600}.studio-rooms-table caption span{font-family:var(--font-mono);text-transform:none;letter-spacing:0;margin-left:6px}.studio-rooms-table td small{color:var(--text-faint);font-size:var(--text-2xs);display:block}.studio-rooms-table td .st-link{text-align:left}.studio-room-message{margin-top:2px;line-height:1.35;color:var(--state-warn)!important}.st-problems{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.st-problems li{font-size:var(--text-xs);background:var(--state-warn-bg);color:var(--state-warn);border-radius:8px;padding:6px 8px 6px 26px;line-height:1.4;position:relative}.st-problems li:before{content:"!";background:var(--state-warn-mark);color:#fff;width:14px;height:14px;font:700 10px/1 var(--font-ui);border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;left:7px}.st-problems li[data-level=error]{background:var(--state-bad-bg);color:var(--state-bad)}.st-problems li[data-level=error]:before{background:var(--state-bad-mark)}.st-versions{font-size:var(--text-xs);flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.st-versions li[aria-current]{font-weight:600}.st-version-note{color:var(--text-muted)}.st-tick{animation:st-tick .42s var(--ease-out) both;display:inline-block}.st-meter-stage[data-fresh] .st-meter-bar>span{animation:st-glow 1.6s var(--ease-out)}.st-stages li[data-fresh]{animation:st-lit 1.8s var(--ease-out)}.st-meter-ready{white-space:nowrap;border-radius:var(--radius-pill);background:var(--state-ok-bg);color:var(--state-ok);font:600 var(--text-xs)/1 var(--font-ui);animation:st-fade var(--duration-slow) var(--ease-out);align-items:center;gap:6px;padding:4px 12px 4px 6px;display:inline-flex}.st-meter-ready .st-tick,.st-ready-note .st-tick{background:var(--state-ok-mark);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:inline-grid}.st-btn.is-ready{background:var(--state-ok-mark);border-color:var(--state-ok-mark);color:#fff;box-shadow:0 0 0 3px #2a9d552e}.st-btn.is-ready:hover:not(:disabled){background:#23874a}.st-ready-note{background:var(--state-ok-bg);color:var(--state-ok);font-size:var(--text-xs);border-radius:10px;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;font-weight:600;display:flex}.st-details{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin:0;padding:8px 0 0;list-style:none;display:flex}.st-details li{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:8px;display:flex}.st-details li[data-done]{color:var(--text)}.st-detail-mark{border:1px solid var(--rule-strong);width:16px;height:16px;color:var(--text-faint);border-radius:4px;place-items:center;font-size:10px;display:inline-grid}.st-details li[data-done] .st-detail-mark{border-color:var(--state-ok-mark);color:var(--state-ok)}@keyframes st-tick{0%{opacity:0;transform:scale(.3)rotate(-20deg)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:none}}@keyframes st-glow{0%{box-shadow:0 0 #2a9d5500}35%{box-shadow:0 0 14px var(--st-ok-glow)}to{box-shadow:0 0 8px #2a9d5580}}@keyframes st-lit{0%,40%{background:var(--state-ok-bg)}to{background:0 0}}@keyframes st-march{to{stroke-dashoffset:-20px}}@keyframes st-throb{50%{r:9}}@keyframes st-blink{50%{opacity:.3}}@keyframes st-magnet{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}@keyframes st-spin{to{transform:rotate(360deg)}}@keyframes st-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@keyframes st-slide{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes st-fade{0%{opacity:0}to{opacity:1}}@media (max-width:1180px){.st-body{grid-template-columns:minmax(0,1fr) 320px}.st-meter{flex-basis:100%;order:5;max-width:none}}@media (max-width:860px){.st-page{height:auto;overflow:visible}.st-main{overflow:visible}.st-body{grid-template-columns:1fr}.st-side{border-left:0;border-top:1px solid var(--rule)}.st-viewport{min-height:58vh}.st-work{grid-template-columns:auto minmax(0,1fr)}.st-work[data-view=split],.st-work[data-view="3d"]{grid-template-rows:auto 320px;grid-template-columns:auto minmax(0,1fr)}.st-work[data-view="3d"] .st-plan{visibility:visible}.st-3d-pane{border-left:0;border-top:1px solid var(--rule);grid-column:1/-1}.st-dock{gap:6px;padding:6px 4px}.st-dock-btn{width:34px;height:34px}.st-dock-btn:after{display:none}.st-head{gap:8px;padding:8px 12px}.st-title h1{max-width:22ch}.st-actions{margin-left:0}}@media (prefers-reduced-motion:reduce){.st-trace,.st-corner.is-first,.st-opening-ghost,.st-snap-pulse,.st-section-body,.st-3d-pane,.st-tick,.st-stages li[data-fresh],.st-meter-stage[data-fresh] .st-meter-bar>span{animation:none}.st-body,.st-work,.st-meter-bar>span{transition:none}.dr-sel{animation:none}}.st-page{--fp-ink:#1c2622;--fp-poche:#2f3431;--fp-poche-party:#5a605c;--fp-poche-light:#8e9490;--fp-glass:#d7ebf5;--fp-fixture:#fff;--fp-fixture-dark:#9aa09c;--fp-paper:#fff;--fp-roof:#ece6dc;--dr-select:#1f6fb2}.st-modes>button{min-height:30px;font-size:var(--text-sm);padding:0 14px}.dr-work{grid-template-columns:auto minmax(0,1fr) 264px 0fr}.dr-work[data-view=split]{grid-template-columns:auto minmax(0,1fr) 264px minmax(0,1fr)}.dr-work[data-view="3d"]{grid-template-columns:auto 0fr 264px minmax(0,1fr)}.dr-viewport{background:#fdfdfb}.dr-viewport[data-tool=wall],.dr-viewport[data-tool=dim],.dr-viewport[data-tool=leader],.dr-viewport[data-tool=stair],.dr-viewport[data-tool=fixture]{cursor:crosshair}.dr-viewport[data-tool=door],.dr-viewport[data-tool=window],.dr-viewport[data-tool=room],.dr-viewport[data-tool=note],.dr-viewport[data-tool=level]{cursor:copy}.dr-grid path{fill:none;stroke-width:1px}.dr-grid-fine{stroke:#f2f4f0}.dr-grid-minor{stroke:#e8ece6}.dr-grid-major{stroke:#dde3da}.fp-text{fill:var(--fp-ink);font-family:var(--font-ui);pointer-events:none;paint-order:stroke;stroke:#ffffffd9;stroke-width:2.5px;stroke-linejoin:round}.fp-labels .fp-text{letter-spacing:.02em}.fp-room-area{fill:#4f5b55}.fp-is-fail{fill:var(--state-bad);font-weight:600}.fp-dims .fp-text{font-family:var(--font-mono);fill:#3a4741}.fp-layer path[data-sel=true]{stroke:var(--dr-select)}.dr-sel{fill:#1f6fb214;stroke:var(--dr-select);stroke-width:1.6px;stroke-dasharray:5 3;pointer-events:none;animation:.9s linear infinite st-march}.dr-grip{fill:#fff;stroke:var(--dr-select);stroke-width:2px}.dr-ghost path{fill:#1f6fb212;stroke:var(--dr-select);stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.dr-ghost-opening{stroke:#1f6fb28c;stroke-linecap:butt;pointer-events:none}.dr-ghost-opening[data-party]{stroke:#c434348c}.dr-chain{fill:none;stroke:var(--st-trace);stroke-width:2px;stroke-dasharray:6 4}.dr-chain-pt{fill:#fff;stroke:var(--st-trace);stroke-width:2px}.dr-snap rect{fill:none;stroke:var(--st-snap);stroke-width:2px}.dr-snap{pointer-events:none}.dr-readout{gap:12px;display:flex}.dr-note-input{text-align:left;width:220px;font-family:var(--font-ui);transform:translate(-4px,-50%)}.dr-options{align-items:center;gap:8px;display:inline-flex}.dr-options small{font-family:var(--font-mono);opacity:.75}.dr-opt{align-items:center;gap:6px;display:inline-flex}.dr-opt select{font:inherit;border:1px solid var(--rule-strong);border-radius:var(--radius-s);background:var(--surface);min-height:28px;padding:0 8px}.dr-side{border-left:1px solid var(--rule);background:var(--surface);flex-direction:column;min-height:0;display:flex}.dr-tabs{align-self:stretch;margin:8px;display:flex}.dr-tabs>button{flex:1;justify-content:center}.dr-panel{scrollbar-width:thin;flex:1;min-height:0;padding:4px 12px 16px;overflow-y:auto}.dr-inspect{flex-direction:column;gap:10px;display:flex}.dr-inspect h3{font-family:var(--font-title);font-size:var(--text-sm);margin:4px 0 0;font-weight:600}.dr-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dr-field{font-size:var(--text-xs);color:var(--text-muted);flex-direction:column;gap:4px;display:flex}.dr-field.is-wide{grid-column:1/-1}.dr-field small{color:var(--text-faint)}.dr-field input,.dr-field select{font:inherit;font-size:var(--text-sm);color:var(--text);border:1px solid var(--rule-strong);border-radius:var(--radius-s);background:var(--surface);width:100%;min-height:30px;padding:0 8px}.dr-field input[type=number]{font-family:var(--font-mono)}.dr-field .st-seg{flex-wrap:wrap;align-self:flex-start}.dr-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dr-remove{align-self:flex-start}.dr-figures{grid-template-columns:1fr 1fr;gap:6px;margin:0;display:grid}.dr-figures div{border-radius:var(--radius-s);background:var(--surface-muted);padding:6px 8px}.dr-figures dt{font-size:var(--text-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--label-tracking)}.dr-figures dd{font:600 var(--text-sm) var(--font-mono);margin:2px 0 0}.dr-checks{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.dr-check{font-size:var(--text-xs);align-items:baseline;gap:6px;line-height:1.4;display:flex}.dr-check>span{color:var(--state-ok);font-weight:700}.dr-check[data-ok=false]>span{color:var(--state-bad)}.dr-check .st-link{text-align:left}.dr-lib-group h4{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--text-muted);margin:10px 0 6px}.dr-lib-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.dr-lib-item{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:500 10.5px/1.15 var(--font-ui);text-align:center;cursor:grab;transition:all var(--duration-fast) var(--ease-out);flex-direction:column;align-items:center;gap:3px;padding:6px 4px;display:flex}.dr-lib-item:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-1);transform:translateY(-1px)}.dr-lib-item[aria-pressed=true]{border-color:var(--dr-select);background:#eaf3fb}.dr-lib-icon{color:var(--fp-ink)}.dr-layer{font-size:var(--text-sm);border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:8px;padding:6px 2px;display:flex}.dr-layer input{accent-color:var(--st-ink)}.dr-swatch{border:1px solid var(--rule-strong);background:var(--surface);border-radius:3px;width:14px;height:14px}.dr-swatch[data-layer=walls]{background:var(--fp-poche)}.dr-swatch[data-layer=rooms]{background:#f4e1cb}.dr-swatch[data-layer=openings]{background:var(--fp-glass)}.dr-swatch[data-layer=stairs]{background:#d6b68c}.dr-swatch[data-layer=dims]{background:linear-gradient(90deg,#0000 45%,#3a4741 45% 55%,#0000 55%)}.st-ndss-overall{font-size:var(--text-xs);border-radius:var(--radius-s);background:var(--surface);margin:0 0 8px;padding:8px 10px;line-height:1.45}.st-ndss-overall[data-ok=true]{background:var(--state-ok-bg)}.st-ndss-overall[data-ok=false]{background:var(--state-bad-bg)}.st-ndss-table{border-collapse:collapse;width:100%;font-size:var(--text-xs);margin:0 0 8px}.st-ndss-table caption{text-align:left;padding:4px 0;font-weight:600}.st-ndss-table th{text-align:left;padding:3px 0;font-weight:500}.st-ndss-table td{text-align:right;font-family:var(--font-mono);white-space:nowrap;padding:3px 0 3px 8px}.st-ndss-table tr[data-ok=true] td:last-child{color:var(--state-ok)}.st-ndss-table tr[data-ok=false] td:last-child{color:var(--state-bad);font-weight:600}.st-ndss-table tr+tr th,.st-ndss-table tr+tr td{border-top:1px solid var(--border)}.dr-modal-back{z-index:80;animation:st-fade var(--duration-base) var(--ease-out);background:#1218156b;place-items:center;display:grid;position:fixed;inset:0}.dr-modal{background:var(--surface);border-radius:var(--radius-l);width:min(1200px,100vw - 32px);height:min(860px,100dvh - 32px);box-shadow:var(--shadow-3);animation:st-pop var(--duration-base) var(--ease-out);outline:none;flex-direction:column;display:flex;overflow:hidden}.dr-modal-head{border-bottom:1px solid var(--rule);align-items:center;gap:12px;padding:10px 14px;display:flex}.dr-modal-head h2{font-family:var(--font-title);font-size:var(--text-base);margin:0 auto 0 0}.dr-modal-body{flex:1;grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.dr-sheet-controls{border-right:1px solid var(--rule);flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.dr-fieldset{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.dr-fieldset legend{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--text-muted);margin-bottom:4px}.dr-sheet-preview{background:#e9ece7;place-items:center;min-width:0;min-height:0;padding:18px;display:grid;overflow:auto}.dr-sheet-preview svg{background:#fff;width:100%;height:auto;max-height:100%;box-shadow:0 6px 24px #1018142e}.dr-sheet-preview.is-axo svg{width:auto;max-width:100%;height:100%;box-shadow:none;background:0 0}@media (max-width:1180px){.dr-work{grid-template-columns:auto minmax(0,1fr) 232px 0fr}}@media (max-width:860px){.dr-work,.dr-work[data-view=split],.dr-work[data-view="3d"]{grid-template-rows:minmax(320px,1fr) auto auto;grid-template-columns:auto minmax(0,1fr)}.dr-work[data-view="3d"] .st-plan{visibility:visible}.dr-side{border-left:0;border-top:1px solid var(--rule);grid-column:1/-1;max-height:360px}.dr-modal-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.dr-sheet-controls{border-right:0;border-bottom:1px solid var(--rule)}}
