:root{--ink-900:#14171a;--ink-800:#1b1e21;--ink-700:#23272b;--ink-600:#2d3236;--ink-500:#3b4147;--line:#f0ebe21c;--line-strong:#f0ebe233;--paper:#f1ece3;--paper-dim:#f1ece3a8;--paper-faint:#f1ece3a3;--oak:#c9a273;--oak-soft:#c9a27329;--rail-w:296px;--r-sm:6px;--r-md:10px;--r-lg:14px;--ease:cubic-bezier(.22, .61, .24, 1);--dur:.22s;--font:"Satoshi", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--ink-900);color:var(--paper);font-family:var(--font);-webkit-font-smoothing:antialiased;grid-template-columns:1fr var(--rail-w);margin:0;font-size:15px;line-height:1.5;display:grid;overflow:hidden}body.render-mode{grid-template-columns:1fr}body.render-mode .rail,body.render-mode .brand,body.render-mode .hud,body.render-mode .sheet-handle,body.render-mode .skip,body.render-mode .labels{display:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a{color:var(--oak);border-bottom:1px solid var(--oak-soft);text-decoration:none}a:hover{border-bottom-color:var(--oak)}body[data-modality=keyboard] :focus-visible{outline:2px solid var(--oak);outline-offset:2px;border-radius:3px}.skip{z-index:50;background:var(--ink-700);border:1px solid var(--line-strong);border-radius:var(--r-sm);transition:top var(--dur) var(--ease);padding:8px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.stage{background:#20242a;position:relative;overflow:hidden}.canvas-host,.labels{position:absolute;inset:0}.canvas-host canvas{width:100%;height:100%;display:block}body[data-modality=keyboard] .canvas-host:focus-visible{outline:2px solid var(--oak);outline-offset:-2px}.labels{pointer-events:none;overflow:hidden}.framing-callout{color:#f7f2ea;background:#15181be6;border:1px solid #f7f2ea47;border-left:3px solid #b6432f;border-radius:5px;gap:2px;max-width:210px;padding:6px 8px;font-size:10px;line-height:1.25;display:grid;transform:translate(-50%,-100%);box-shadow:0 5px 16px #00000042}.framing-callout-secondary{border-left-color:#5f9e6b}.framing-callout strong{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:9.5px;font-weight:500}.framing-callout span{color:#f7f2eab3}.brand{background:color-mix(in oklab, var(--ink-800) 78%, transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border:1px solid var(--line);border-radius:var(--r-md);pointer-events:none;align-items:center;gap:11px;padding:9px 15px 9px 11px;display:flex;position:absolute;top:18px;left:20px}.mark{color:var(--oak);place-items:center;display:grid}.brand-text{line-height:1.25;display:grid}.brand-text h1{letter-spacing:.005em;margin:0;font-size:14px;font-weight:700}.brand-text span{font-family:var(--mono);letter-spacing:.04em;color:var(--paper-dim);text-transform:uppercase;font-size:10.5px}.hud{pointer-events:none;flex-wrap:wrap;align-items:baseline;gap:12px;max-width:min(520px,100% - 40px);display:flex;position:absolute;bottom:18px;left:20px}.hud-view{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper);background:color-mix(in oklab, var(--ink-800) 82%, transparent);border:1px solid var(--line);border-left:2px solid var(--oak);border-radius:var(--r-sm);padding:5px 11px;font-size:11px}.hud-hint{color:var(--paper-dim);border-radius:var(--r-sm);background:color-mix(in oklab, var(--ink-900) 72%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:5px 10px;font-size:12px}.loading{z-index:5;transition:opacity .4s var(--ease);background:#20242a;place-items:center;display:grid;position:absolute;inset:0}.loading span{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);font-size:11px}.loading.done{opacity:0;pointer-events:none}.block-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.block-heading .block-title{margin-bottom:0}.render-badge{font-family:var(--mono);letter-spacing:.08em;color:var(--oak);border:1px solid var(--oak-soft);border-radius:999px;padding:2px 6px;font-size:12px}.render-intro,.render-caution{color:var(--paper-dim);margin:9px 0 0;font-size:12px;line-height:1.45}.render-group-title{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);margin:14px 0 0;font-size:12px;font-weight:500}.render-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.render-card{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--ink-700);color:var(--paper);transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease);text-decoration:none;display:grid;overflow:hidden}.render-card:hover{border-color:color-mix(in oklab, var(--oak) 60%, transparent);transform:translateY(-1px)}.render-card-wide{grid-column:1/-1}.render-card img{aspect-ratio:16/9;object-fit:cover;background:var(--ink-600);width:100%;display:block}.render-card>span{gap:1px;padding:7px 8px 8px;display:grid}.render-card strong{font-size:12px;font-weight:500}.render-card small{font-family:var(--mono);color:var(--paper-faint);font-size:12px}.render-caution{border-left:2px solid var(--oak);padding-left:8px}.framing-summary{color:var(--paper-dim);margin:10px 0 0;font-size:12px;line-height:1.5}.framing-warning{color:#f7e4d4d1;border-left-color:#c65b45}.gallery-modal{z-index:100;position:fixed;inset:0}.gallery-modal[hidden]{display:none}.gallery-backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080a0cf5;position:absolute;inset:0}.gallery-dialog{z-index:1;background:color-mix(in oklab, var(--ink-900) 82%, transparent);grid-template-rows:auto minmax(0,1fr) auto;width:100vw;height:100svh;display:grid;position:relative}.gallery-header{padding:max(18px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) 16px max(22px, env(safe-area-inset-left));border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.gallery-heading{min-width:0}.gallery-kind{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--oak);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.gallery-heading h2{margin:0;font-size:clamp(18px,2vw,25px);line-height:1.2}.gallery-heading p{max-width:720px;color:var(--paper-dim);margin:5px 0 0;font-size:12px}.gallery-actions{flex:none;align-items:center;gap:8px;display:flex}.gallery-download,.gallery-close,.gallery-nav{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--ink-700);min-height:44px;color:var(--paper);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);justify-content:center;align-items:center;padding:8px 13px;font-size:12px;text-decoration:none;display:inline-flex}.gallery-download:hover,.gallery-close:hover,.gallery-nav:hover{background:var(--ink-600);border-color:color-mix(in oklab, var(--oak) 58%, transparent)}.gallery-stage{--gallery-stage-pad:clamp(10px, 2vw, 24px);min-width:0;min-height:0;margin:0;position:relative;overflow:hidden}.gallery-stage img{inset:var(--gallery-stage-pad);width:calc(100% - var(--gallery-stage-pad) - var(--gallery-stage-pad));height:calc(100% - var(--gallery-stage-pad) - var(--gallery-stage-pad));object-fit:contain;display:block;position:absolute}.gallery-footer{min-height:66px;padding:12px max(22px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));border-top:1px solid var(--line);grid-template-columns:minmax(96px,1fr) auto minmax(96px,1fr);align-items:center;gap:14px;display:grid}.gallery-nav:first-child{justify-self:start}.gallery-nav:last-child{justify-self:end}.gallery-count{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);font-variant-numeric:tabular-nums;font-size:12px}.dim-label{background:color-mix(in oklab, var(--ink-900) 88%, transparent);border:1px solid var(--line-strong);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:5px;flex-direction:column;align-items:center;gap:1px;padding:3px 7px;display:flex}.dim-value{font-family:var(--mono);letter-spacing:.03em;color:var(--paper);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:500}.dim-note{letter-spacing:.07em;text-transform:uppercase;color:var(--paper-faint);font-size:9.5px}.rail{background:var(--ink-800);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex;position:relative}.rail-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ink-500) transparent;flex-direction:column;gap:22px;padding:20px 18px 26px;display:flex;overflow-y:auto}.rail-scroll::-webkit-scrollbar{width:8px}.rail-scroll::-webkit-scrollbar-thumb{background:var(--ink-500);border-radius:4px}.block-title{font-family:var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--paper-faint);margin:0 0 10px;font-size:10px;font-weight:500}.views{grid-template-columns:1fr 1fr;gap:6px;display:grid}.view-btn{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--ink-700);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);text-align:left;align-items:center;gap:8px;min-height:40px;padding:9px 10px;font-size:13px;display:flex}.view-btn kbd{font-family:var(--mono);color:var(--paper-faint);border:1px solid var(--line);border-radius:3px;margin-left:auto;padding:0 4px;font-size:9.5px}.view-btn:hover{background:var(--ink-600);border-color:var(--line-strong)}.view-btn[aria-pressed=true]{background:var(--oak-soft);color:#f6e9d6;border-color:#c9a2738c}.view-btn[aria-pressed=true] kbd{color:var(--oak);border-color:#c9a27366}.eye-views-title{margin-top:18px}.eye-views{grid-template-columns:1fr 1fr}.eye-view-hint{margin-top:9px!important}.option-note{margin-top:12px!important}.toggle:disabled{opacity:.55;cursor:not-allowed}.gallery-update-note{color:var(--paper-dim);font-size:12px;line-height:1.5}.toggles{flex-direction:column;gap:2px;display:flex}.toggle{border-radius:var(--r-sm);width:100%;min-height:42px;transition:background var(--dur) var(--ease);align-items:center;gap:10px;padding:9px 8px;font-size:13.5px;display:flex}.toggle:hover{background:var(--ink-700)}.switch{background:var(--ink-500);border:1px solid var(--line);width:32px;height:18px;transition:background var(--dur) var(--ease);border-radius:9px;flex:none;position:relative}.switch:after{content:"";background:var(--paper-dim);width:12px;height:12px;transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.toggle[aria-pressed=true] .switch{background:#c9a2736b;border-color:#c9a27380}.toggle[aria-pressed=true] .switch:after{background:var(--oak);transform:translate(14px)}.toggle .t-sub{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-faint);margin-left:auto;font-size:9.5px}.toggle-label{text-align:left;flex:1;min-width:0;line-height:1.25}.legend{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.legend li{color:var(--paper-dim);align-items:center;gap:10px;font-size:12.5px;display:flex}.sw{border:1px solid var(--line-strong);border-radius:4px;flex:none;width:22px;height:22px}.sw-siding{background:repeating-linear-gradient(90deg,#4b5158 0 4px,#2f343a 4px 5px)}.sw-metal{background:linear-gradient(105deg,#2c3036,#121417)}.sw-oak{background:linear-gradient(105deg,#d0a97a,#b98c58)}.sw-smoked{background:linear-gradient(105deg,#8f6f50,#6f5238)}.sw-cabinet{background:#e3ddd3}.sw-walnut{background:linear-gradient(105deg,#8b5a31,#5e371c)}.sw-concrete{background:#b7b4ad}.sw-fabric{background:linear-gradient(105deg,#d9cdb3,#a89474)}.select-block{flex-direction:column;gap:6px;margin:4px 0 10px;display:flex}.select-label{color:var(--paper-dim);justify-content:space-between;align-items:baseline;gap:8px;padding:0 8px;font-size:12px;display:flex}.select-label .select-hint{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-faint);font-size:9.5px}.seg-group{border-radius:var(--r-sm);background:color-mix(in oklab, var(--ink-900) 72%, transparent);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.seg{min-height:44px;color:var(--paper-dim);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);cursor:pointer;background:0 0;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:7px 4px;display:flex}.seg:hover{background:var(--ink-700)}.seg[aria-checked=true]{background:var(--oak-soft);color:var(--paper);box-shadow:inset 0 0 0 1px #c9a2736b}.seg-label{font-size:12.5px;line-height:1.2}.seg-sub{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper-faint);font-size:9px}.seg[aria-checked=true] .seg-sub{color:var(--oak)}.legend strong{color:var(--paper);font-weight:500}@media (width<=600px){.dim-mobile-hide{display:none}.framing-callout{border-left-width:2px;gap:0;max-width:142px;padding:4px 6px;font-size:8px;line-height:1.15}.framing-callout strong{letter-spacing:.035em;font-size:8px}.framing-callout span,.framing-callout-secondary{display:none}}.assume{color:var(--paper-dim);font-size:12.5px;line-height:1.55}.assume p{margin:0 0 10px}.assume strong{color:var(--paper)}.facts{border-top:1px solid var(--line);flex-direction:column;gap:7px;margin:0 0 10px;padding-top:10px;display:flex}.facts>div{grid-template-columns:82px 1fr;gap:8px;display:grid}.facts dt{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper-faint);padding-top:2px;font-size:9.5px}.facts dd{color:var(--paper);margin:0;font-size:12px}.src{color:var(--paper-faint);border-top:1px solid var(--line);padding-top:9px;font-size:11.5px}.sheet-handle{display:none}@media (width<=900px){body{grid-template-rows:1fr;grid-template-columns:1fr}.stage{grid-row:1}.rail{z-index:20;border-left:0;border-top:1px solid var(--line-strong);background:color-mix(in oklab, var(--ink-800) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:54svh;transition:transform .32s var(--ease);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0;transform:translateY(calc(100% - 54px))}.rail.open{transform:translateY(0)}.rail-scroll{padding:8px 16px calc(18px + env(safe-area-inset-bottom));max-height:calc(54svh - 54px);overflow-y:auto}.sheet-handle{width:100%;height:54px;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);border-bottom:1px solid var(--line);order:-1;justify-content:center;align-items:center;gap:8px;font-size:10.5px;display:flex}.sheet-handle svg{transition:transform var(--dur) var(--ease)}.rail.open .sheet-handle svg{transform:rotate(180deg)}.views{grid-template-columns:1fr 1fr 1fr}.eye-views{grid-template-columns:1fr 1fr}.view-btn kbd{display:none}.toggles{grid-template-columns:1fr 1fr;gap:6px;display:grid}.toggle{padding:8px 10px}.toggle .t-sub{display:none}.hud{bottom:66px;left:14px}.hud-hint{display:none}.eye-level-view .hud-hint{max-width:min(340px,100vw - 28px);font-size:12px;line-height:1.45;display:block}.brand{padding:7px 12px 7px 9px;top:12px;left:12px}.facts>div{grid-template-columns:76px 1fr}.gallery-header{padding:max(14px, env(safe-area-inset-top)) 14px 12px;gap:12px;display:grid}.gallery-actions{width:100%}.gallery-download{flex:1}.gallery-heading p{font-size:12px}.gallery-stage{--gallery-stage-pad:8px}.gallery-footer{min-height:58px;padding:9px 14px max(9px, env(safe-area-inset-bottom))}}@media (width<=420px){.views{grid-template-columns:1fr 1fr}.brand-text span{font-size:9.5px}.gallery-download,.gallery-close,.gallery-nav{min-height:44px;padding:7px 10px;font-size:12px}.gallery-footer{grid-template-columns:1fr auto 1fr;gap:8px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.framing-inspect-controls{border-top:1px solid var(--line);padding-top:12px}.framing-inspect-controls label{margin-bottom:4px;font-size:14px;font-weight:500;display:block}.framing-inspect-controls select{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--ink-700);width:100%;min-width:0;min-height:44px;color:var(--paper);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:8px;font:14px ui-sans-serif,system-ui,sans-serif}.framing-hover,.framing-inspector{z-index:8;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--ink-800);color:var(--paper);font-family:ui-sans-serif,system-ui,sans-serif;position:absolute}.framing-hover{pointer-events:none;max-width:min(300px,100% - 16px);padding:8px 12px;font-size:12px}.framing-inspector{overscroll-behavior:contain;width:min(360px,100% - 32px);max-height:min(460px,100% - 96px);padding:16px;font-size:14px;line-height:1.5;bottom:16px;left:16px;overflow-y:auto}.inspector-heading{align-items:flex-start;gap:8px;display:flex}.inspector-heading>div{flex:1;min-width:0}.framing-inspector h2{margin:0;font-size:16px;font-weight:600;line-height:1.4}.framing-inspector h3{margin:12px 0 4px;font-size:14px;font-weight:600}.framing-inspector p{margin:0 0 12px}.framing-inspector p:last-child{margin-bottom:0}.inspector-heading p,.inspector-muted{color:var(--paper-dim);font-size:12px}.inspector-heading p{margin-bottom:4px}#framing-inspector-close{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--ink-700);flex-shrink:0;width:44px;height:44px;font-size:24px;line-height:1}#framing-inspector-close:hover{background:var(--ink-600)}.framing-inspector .inspector-status{border-radius:var(--r-sm);border:1px solid var(--line);color:var(--paper-dim);margin:12px 0;padding:8px;font-size:12px}.framing-inspector dl{margin:0 0 4px}.framing-inspector dt{color:var(--paper-dim);font-size:12px}.framing-inspector dd{margin:2px 0 0;font-weight:500}.inspector-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.has-framing-selection .hud,.sheet-open .framing-inspector,.sheet-open .framing-hover,.gallery-open .framing-inspector,.gallery-open .framing-hover,.render-mode .framing-inspector,.render-mode .framing-hover{display:none}@media (width<=900px){.framing-inspector{left:12px;bottom:calc(66px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-height:min(44svh,100% - 152px);padding:12px}}[hidden],.toggle[hidden]{display:none!important}:focus-visible{outline:2px solid var(--oak);outline-offset:2px}.brand{max-width:calc(100% - 24px)}.brand-text{min-width:0}.brand-text span{letter-spacing:0;font-size:12px}.review-status,.control-help{color:var(--paper-dim);margin:0 0 10px;font-size:12px;line-height:1.5}.review-status{background:var(--oak-soft);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--paper);padding:8px 10px}.view-state{color:var(--paper-dim);justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:12px;display:flex}#reset-view{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--ink-700);flex-shrink:0;min-height:44px;padding:8px;font-size:12px}#reset-view:disabled{opacity:.5;cursor:default}.view-btn,.toggle{min-height:44px}.block-title,.dim-value,.dim-note,.hud-view,.loading span,.sheet-handle,.view-btn kbd,.toggle .t-sub,.facts dt,.src{font-size:12px}.seg-sub{font-family:var(--font);letter-spacing:0;text-transform:none;overflow-wrap:anywhere;font-size:12px}.framing-callout,.framing-callout strong{font-size:12px}.framing-callout{border-left:1px solid var(--line-strong)}@media (width<=900px){.sheet-handle{color:var(--paper);letter-spacing:.08em;flex:0 0 54px}.rail:not(.open) .rail-scroll{visibility:hidden}.rail-scroll{min-height:0}.brand-text span{font-size:12px}.hud{max-width:calc(100% - 28px)}}
