:root{--primary:#7a5131;--secondary:#b78e65;--background:#ece8e1;--surface:#fffdfa;--text:#27231f;--muted:#6f6861;--font-family:Inter,system-ui,sans-serif;--display-font:Georgia,serif;--radius:20px;--shadow:0 22px 65px rgba(40,32,25,.13);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--background);color:var(--text);font:16px/1.5 var(--font-family)}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 48%,transparent);outline-offset:3px}
.topbar{height:72px;padding:0 max(20px,calc((100vw - 1440px)/2));display:flex;justify-content:space-between;align-items:center;background:color-mix(in srgb,var(--surface) 90%,transparent);border-bottom:1px solid #00000012;position:relative;z-index:20}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:inherit}.brand-mark{width:40px;height:40px;border-radius:11px;background:var(--text);color:var(--surface);display:grid;place-items:center;font-size:12px;font-weight:800;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff}.brand>span:last-child{display:grid}.brand small{color:var(--muted);font-size:11px}.top-actions{display:flex;align-items:center;gap:12px}.locale select,.project-bar input{border:1px solid #0002;border-radius:10px;background:var(--surface);padding:9px 11px}.link-button,.project-bar button,.project-bar a,.summary-head button{border:1px solid #0002;background:var(--surface);border-radius:10px;padding:9px 12px;text-decoration:none}
.screen{display:none}.screen.is-active{display:grid}.hero-screen{min-height:calc(100vh - 72px);max-width:1440px;margin:auto;grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr)}.hero-copy{padding:clamp(45px,7vw,105px);display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--primary)}h1,h2{font:400 clamp(2.3rem,5vw,4.8rem)/1.02 var(--display-font);letter-spacing:-.035em;margin:.2em 0}.hero-copy>p,.lead{color:var(--muted);font-size:1.05rem;max-width:680px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.button{min-height:50px;border-radius:13px;border:1px solid #0001;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-weight:750;font-size:.86rem}.button.primary{background:var(--text);color:var(--surface)}.button.secondary{background:var(--surface)}.preset-area{display:grid;gap:10px;margin-top:10px}.preset-row{display:flex;flex-wrap:wrap;gap:7px}.preset-row button{border:1px solid #0002;border-radius:999px;background:var(--surface);padding:8px 11px;font-size:.76rem}.demo-note,.local-note{font-size:.78rem;color:var(--muted)}.hero-visual{padding:32px 32px 32px 0;display:flex}.visual-shell{width:100%;background:var(--surface);border-radius:calc(var(--radius) + 10px);padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column}.visual{position:relative;overflow:hidden;border-radius:var(--radius);background:#e4dfd7;min-height:320px}.hero-visual .visual{flex:1;min-height:540px}.visual canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.visual-meta,.preview-caption{display:flex;justify-content:space-between;gap:12px;padding:12px 6px 2px;font-size:.8rem}
.configurator{max-width:1440px;width:100%;grid-template-columns:minmax(0,1fr);margin:auto;padding:22px 28px 110px}.project-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.project-bar label{flex:1;min-width:180px}.project-bar input{width:100%}.project-bar span{font-size:.8rem;color:var(--primary)}.progress-area{margin:18px 0}.progress-area>div:first-child{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.progress-track{height:3px;background:#0001;margin-top:7px}.progress-track i{display:block;height:100%;background:var(--primary);transition:width .25s}.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:22px;align-items:start}.step-panel,.preview-sticky{background:var(--surface);border-radius:calc(var(--radius) + 5px);box-shadow:var(--shadow)}.step-panel{min-height:650px}.step{display:none;padding:clamp(26px,4vw,58px)}.step.is-active{display:block}.step h2{font-size:clamp(2rem,4vw,3.35rem)}.preview-sticky{position:sticky;top:16px;padding:10px}.preview-sticky .visual{aspect-ratio:16/10}.wizard-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;padding:10px max(20px,calc((100vw - 1380px)/2));display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);border-top:1px solid #0002}.wizard-nav p{margin:0;text-align:center;color:#a13f32;font-size:.8rem}
fieldset{border:0;padding:0;margin:25px 0}legend{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:11px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.geometry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice{min-height:58px;text-align:left;border:1px solid #0002;border-radius:14px;background:var(--background);padding:11px 13px;font-size:.84rem;font-weight:700}.choice.is-selected,.mode-row button.is-selected,.unit-row button.is-selected,.advanced button.is-selected,.extra button.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface));box-shadow:inset 0 0 0 1px var(--primary)}.choice small{display:block;color:var(--muted);font-weight:400}.mode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.mode-row button,.unit-row button,.advanced button,.extra button{min-height:43px;border:1px solid #0002;border-radius:11px;background:var(--background);padding:8px 12px}.unit-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.unit-row span{font-weight:800;font-size:.8rem;margin-right:8px}.field-grid,.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:20px 0}.field-grid label,.contact-grid label,form>label{display:grid;gap:6px;font-size:.8rem;font-weight:750}.field-grid input,.field-grid select,.contact-grid input,.contact-grid select,form textarea{min-height:46px;border:1px solid #0002;border-radius:11px;background:#fff;padding:10px 12px;width:100%}.suggestion,.technical-panel,.validation{margin-top:14px;padding:14px;border-radius:13px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));font-size:.84rem}.suggestion button{margin-left:10px}.technical-panel dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.technical-panel dl div{border-top:1px solid #0001;padding-top:7px}.technical-panel dt{color:var(--muted);font-size:.72rem}.technical-panel dd{margin:0;font-weight:800}.technical-panel p{font-size:.76rem;color:var(--muted)}.validation{color:#9d392e;background:#fff0ed}.advanced{display:grid;gap:10px}.advanced section>strong{display:block;font-size:.75rem;text-transform:uppercase;margin-bottom:7px}.advanced section>div{display:flex;gap:7px;flex-wrap:wrap}.extras{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.extra{border:1px solid #0002;border-radius:13px;padding:12px}.extra strong{display:block;font-size:.82rem;margin-bottom:8px}.extra div{display:flex;gap:5px}.extra button{flex:1}.upload-panel{border:1px dashed color-mix(in srgb,var(--primary) 50%,transparent);padding:18px;border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.upload-panel small{display:block;color:var(--muted)}#fileStatus{grid-column:1/-1}.file-row{display:flex;align-items:center;gap:8px;margin-top:6px}.file-row img{width:52px;height:52px;object-fit:cover;border-radius:8px}.file-row button{margin-left:auto}
.summary-head{display:flex;justify-content:space-between;gap:18px}.summary-head>div:last-child{display:flex;gap:7px;align-items:start}.summary-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.summary-card,.summary-stack article{border:1px solid #0001;border-radius:14px;padding:15px}.summary-card dl{margin:0}.summary-card dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #0001;padding:8px 0;font-size:.8rem}.summary-card dt{color:var(--muted)}.summary-card dd{margin:0;text-align:right;font-weight:750}.summary-stack{display:grid;gap:8px}.summary-stack article small{color:var(--primary);font-weight:800}.summary-stack strong{display:block;margin-top:5px}.summary-stack p{font-size:.78rem}.contact-grid{grid-template-columns:repeat(2,1fr)}form{border-top:1px solid #0001;margin-top:25px;padding-top:22px}form h3{font-size:.8rem;color:var(--primary);letter-spacing:.12em}.consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;margin:15px 0}.consent input{width:18px;height:18px}.honeypot{position:absolute!important;left:-10000px}.form-error{color:#9d392e}.success{text-align:center;place-content:center;min-height:570px}.success-mark{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#dce8de;color:#386441;margin:auto;font-size:2rem}.vendor-footer{text-align:center;padding:18px;font-size:.74rem;color:var(--muted)}
.three-loading,.three-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center}.three-controlbar{position:absolute;z-index:4;left:10px;right:10px;top:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;pointer-events:none}.three-controlbar>*{pointer-events:auto;min-height:35px;border:1px solid #0002;border-radius:9px;background:#fffdfad9;padding:6px 9px;font-size:.72rem;backdrop-filter:blur(8px)}.three-dimensions{position:absolute;z-index:3;left:10px;bottom:10px;display:grid;gap:5px}.three-dimensions span{background:#202622d9;color:white;border-radius:6px;padding:5px 8px;font-size:.7rem}.visual:fullscreen{border-radius:0;background:#ddd}.visual:fullscreen canvas{width:100%;height:100%}
@media(max-width:980px){.hero-screen{grid-template-columns:minmax(0,1fr)}.hero-copy{padding:45px 35px 20px}.hero-visual{padding:0 25px 35px}.hero-visual .visual{min-height:420px}.workspace{grid-template-columns:minmax(0,1fr)}.preview-panel,.step-panel{min-width:0}.preview-caption>*{min-width:0;overflow-wrap:anywhere}.preview-panel{order:-1}.preview-sticky{position:relative;top:0}.preview-sticky .visual{max-height:420px}.step-panel{min-height:0}}
@media(max-width:560px){body{font-size:16px}.topbar{height:64px;padding:0 12px}.brand strong{font-size:.9rem}.brand small,.link-button{display:none}.locale select{max-width:94px}.hero-screen{min-height:calc(100vh - 64px)}.hero-copy{padding:32px 18px 12px}.hero-copy h1{font-size:2.55rem}.hero-copy>p{font-size:.93rem}.hero-actions{display:grid}.button{width:100%}.hero-visual{padding:0 9px 16px}.hero-visual .visual{min-height:285px}.visual-shell{padding:7px}.configurator{padding:10px 8px 100px}.project-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;width:100%}.project-bar>*{min-width:0;max-width:100%}.project-bar input{min-width:0}.project-bar button{width:100%;white-space:normal;overflow-wrap:anywhere}.project-bar label,.project-bar span{grid-column:1/-1}.local-note{margin:5px}.workspace{gap:8px}.preview-sticky{padding:6px}.preview-sticky .visual{min-height:245px;aspect-ratio:auto}.step{padding:24px 15px}.step h2{font-size:2.15rem}.geometry-grid,.choice-grid{grid-template-columns:1fr 1fr}.field-grid,.contact-grid,.summary-layout,.extras{grid-template-columns:1fr}.technical-panel dl{grid-template-columns:1fr 1fr}.summary-head{display:block}.summary-head>div:last-child{margin-bottom:12px}.summary-head button{flex:1}.upload-panel{grid-template-columns:1fr}.wizard-nav{padding:8px;grid-template-columns:102px 1fr 124px;gap:5px}.wizard-nav p{display:none}.three-controlbar{left:6px;right:6px;top:6px;gap:4px}.three-controlbar>*{font-size:.66rem;padding:5px 7px}.three-dimensions{bottom:6px;left:6px}.vendor-footer{padding-bottom:82px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* V5.0.1 regression hotfix: restore premium staircase banner without advisor artwork. */
.hero-screen{gap:18px;padding:18px 18px 30px;min-height:auto;align-items:stretch}
.premium-hero-banner{grid-column:1/-1;position:relative;margin:0;width:100%;height:clamp(210px,25vw,340px);overflow:hidden;border-radius:calc(var(--radius) + 10px);background:#1f1b18;box-shadow:var(--shadow)}
.premium-hero-banner picture,.premium-hero-banner img{display:block;width:100%;height:100%}
.premium-hero-banner img{object-fit:cover;object-position:center;filter:saturate(.94) contrast(1.02)}
.premium-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,13,.78) 0%,rgba(18,15,13,.46) 31%,rgba(18,15,13,.08) 63%,rgba(18,15,13,0) 100%);pointer-events:none}
.premium-hero-banner figcaption{position:absolute;z-index:2;left:clamp(22px,4.5vw,68px);top:50%;transform:translateY(-50%);width:min(520px,58%);display:grid;gap:10px;color:#fff}
.premium-hero-banner figcaption .eyebrow{color:#e4c6a5}
.premium-hero-banner figcaption strong{font-family:var(--display);font-weight:500;font-size:clamp(1.55rem,3vw,3rem);line-height:1.02;text-shadow:0 2px 16px rgba(0,0,0,.26)}
.hero-copy{padding:clamp(32px,5vw,72px)}
.hero-visual{padding:20px 20px 20px 0}
@media(max-width:980px){.hero-screen{padding:14px;gap:10px}.premium-hero-banner{height:clamp(190px,38vw,290px)}.hero-visual{padding:0 10px 20px}.hero-copy{padding:34px 24px 18px}}
@media(max-width:640px){.hero-screen{padding:8px}.premium-hero-banner{height:210px;border-radius:18px}.premium-hero-banner img{object-position:64% center}.premium-hero-shade{background:linear-gradient(90deg,rgba(18,15,13,.76),rgba(18,15,13,.20))}.premium-hero-banner figcaption{left:18px;width:72%;gap:6px}.premium-hero-banner figcaption strong{font-size:1.55rem}.hero-copy{padding:28px 12px 12px}.hero-visual{padding:0 2px 14px}}

/* Graceful visual fallback for browsers/devices where WebGL is unavailable. */
.three-visual[data-render-state="fallback"],.three-visual[data-render-state="error"]{background-color:#2b241f;background-image:linear-gradient(90deg,rgba(21,18,16,.34),rgba(21,18,16,.06)),url("hero-banner-1280.webp");background-size:cover;background-position:center}
.three-visual[data-render-state="fallback"] .three-fallback,.three-visual[data-render-state="error"] .three-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:80%;padding:10px 14px;border-radius:999px;background:rgba(255,253,250,.9);box-shadow:0 8px 24px rgba(0,0,0,.16);color:#29231f;font-weight:700;text-align:center}

.three-visual[data-render-state="fallback"] .three-fallback,.three-visual[data-render-state="error"] .three-fallback{inset:auto auto 16px 16px;left:16px;top:auto;right:auto;bottom:16px;transform:none;width:auto;max-width:calc(100% - 32px);border-radius:10px;padding:8px 11px;font-size:.78rem;background:rgba(255,253,250,.92)}

/* Stable print buffer: never participates in screen layout. */
.three-print-snapshot{display:none!important}.three-visual{min-width:0}.hero-visual,.visual-shell,.preview-sticky{min-width:0}.hero-visual .visual{height:540px;flex:1 1 auto}.commercial-offer{max-width:1404px;margin:16px auto;padding:18px 24px;background:var(--surface);border:1px solid #0002;border-radius:16px;display:flex;gap:24px;align-items:center;justify-content:space-between}.commercial-offer p{margin:4px 0;font-size:14px}.commercial-offer strong{font-size:18px}.commercial-offer details{max-width:560px}.commercial-offer summary{cursor:pointer;font-size:15px;font-weight:700}.commercial-offer a{color:var(--primary)}@media(max-width:980px){.hero-visual .visual{height:420px;min-height:420px}.commercial-offer{margin:12px 14px;align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:560px){.hero-visual .visual{height:285px;min-height:285px}.commercial-offer{padding:14px}.commercial-offer strong{font-size:16px}}

/* Explicit visibility and history actions. */
#leonPricing[hidden],.topbar[hidden]{display:none!important}.history-controls{display:flex;gap:8px}.history-controls button:disabled{opacity:.4;cursor:not-allowed}
.preview-sticky .visual{width:100%;min-width:0;max-width:100%}

/* LE0N STAIRS ENGINE V6.2 */
#componentMaterialChoices { margin-top: 1rem; }
.leon-engine-card { border:1px solid rgba(44,36,30,.14); border-radius:18px; background:rgba(255,253,249,.78); padding:16px; box-shadow:0 12px 30px rgba(35,29,24,.05); }
.leon-engine-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.leon-engine-card__head strong { font-size:.92rem; letter-spacing:.03em; }
.leon-engine-card__head small { color:var(--muted,#766c64); max-width:520px; line-height:1.4; }
.component-material-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.component-material-grid fieldset { min-width:0; border:1px solid rgba(44,36,30,.1); border-radius:14px; padding:12px; margin:0; }
.component-material-grid legend { padding:0 6px; font-weight:700; font-size:.84rem; }
.component-material-grid label { display:grid; grid-template-columns:1fr minmax(120px,1.2fr); align-items:center; gap:10px; font-size:.82rem; margin:8px 0; }
.component-material-grid select { width:100%; min-height:38px; border:1px solid rgba(44,36,30,.18); border-radius:10px; background:#fff; padding:7px 9px; color:inherit; }
#stairEngineDiagnostics { margin-top:14px; }
.diagnostics-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 10px; }
.diagnostics-card dl div { border-radius:12px; padding:10px; background:rgba(44,36,30,.045); }
.diagnostics-card dt { color:var(--muted,#766c64); font-size:.72rem; margin-bottom:5px; }
.diagnostics-card dd { margin:0; font-weight:750; font-size:.88rem; }
.engine-status { border-radius:999px; padding:5px 9px; font-size:.69rem; font-weight:800; letter-spacing:.06em; background:rgba(50,120,75,.1); }
.diagnostics-card.is-warning .engine-status { background:rgba(180,100,30,.13); }
.diagnostics-card.is-warning { border-color:rgba(180,100,30,.3); }
@media(max-width:720px){.component-material-grid,.diagnostics-card dl{grid-template-columns:1fr}.component-material-grid label{grid-template-columns:1fr}.leon-engine-card__head{display:block}.leon-engine-card__head small{display:block;margin-top:6px}}

/* V6.4 technical rule engine */
.diagnostics-card h4{margin:16px 0 8px;font-size:.83rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#766c64)}
.engine-rules{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
.engine-rule{padding:8px 10px;border:1px solid rgba(44,36,30,.09);border-radius:11px;background:rgba(255,255,255,.55)}
.engine-rule dd{display:flex;align-items:center;justify-content:space-between;gap:8px}.engine-rule dd span{font-size:.68rem;font-weight:800;letter-spacing:.04em}
.engine-rule--warning dd span{color:#93651f}.engine-rule--error dd span{color:#a13f35}.engine-rule--ok dd span{color:#2d7251}
.diagnostics-card.is-error{border-color:rgba(161,63,53,.42)}.diagnostics-card.is-warning{border-color:rgba(147,101,31,.35)}.diagnostics-card.is-ok{border-color:rgba(45,114,81,.3)}
@media(max-width:720px){.engine-rules{grid-template-columns:1fr!important}}

/* Structural slab controls V9.1 (separate from presentation-room mode) */
.three-controlbar .leon-slab-toggle{background:rgba(21,64,54,.95);color:#fff;border:1px solid rgba(255,255,255,.5);font-weight:700;min-height:44px;padding:9px 12px;cursor:pointer;white-space:nowrap}
.three-controlbar .leon-slab-toggle[aria-pressed="false"]{background:rgba(37,40,49,.9);color:#fff}
.three-controlbar .leon-slab-toggle:focus-visible{outline:3px solid #d9a75c;outline-offset:2px}
.three-controlbar .leon-slab-indicative{background:rgba(30,32,39,.78);color:#fff;min-height:0;line-height:1.25;padding:5px 8px;border-radius:5px;max-width:125px}
.three-controlbar [hidden]{display:none!important}
@media(max-width:560px){.three-controlbar .leon-slab-toggle{min-height:44px;font-size:12px;padding:8px 10px}.three-controlbar .leon-slab-indicative{max-width:110px;font-size:10px}}

/* V9.2: accessible real geometry plan when WebGL is unavailable */
.three-visual[data-render-state^="fallback"]{display:flex;flex-direction:column;justify-content:flex-start;background:#12202d;min-height:320px;overflow:hidden}
.three-visual .leon-fallback-explainer{position:relative;bottom:auto;left:auto;right:auto;box-sizing:border-box;transform:none;padding:10px 13px;background:#1d303e;color:#e2eff4;border:0;border-radius:0;font-size:12px;line-height:1.35;order:2}
.leon-plan2d{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;width:100%;order:1}
.leon-plan2d-tools{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:10px 12px;background:#0c1824}
.leon-plan2d-tools button{border:1px solid #7993a9;border-radius:7px;background:#294457;color:#f7f9fb;min-height:44px;padding:9px 12px;font:600 13px/1.2 system-ui,sans-serif;cursor:pointer}
.leon-plan2d-tools button[aria-pressed="false"]{background:#242933;color:#dee3e7}
.leon-plan2d-tools button:focus-visible{outline:3px solid #f0c795;outline-offset:2px}
.leon-plan2d-tools button:disabled{opacity:.55;cursor:not-allowed}
.leon-plan2d-canvas{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden;align-items:center;justify-content:center;color:#ecf3f5}
.leon-plan2d-canvas svg{height:100%;max-height:100%;max-width:100%;width:auto;object-fit:contain}
@media(max-width:560px){.leon-plan2d-tools{justify-content:stretch}.leon-plan2d-tools button{font-size:11px;flex:1}.leon-plan2d-canvas{min-height:0}}

.three-visual .leon-fallback-explainer{flex-shrink:0}.leon-plan2d-tools{flex-shrink:0}

/* Customer-facing geometric incompatibility; no new panel or decorative controls. */
.leon-solid-clearance-note{margin:14px 0;padding:12px 14px;border:1px solid #c58c60;border-left:4px solid #b36c35;border-radius:9px;background:#fff7ed;color:#6a341f;font-size:14px;line-height:1.55;}
.leon-solid-clearance-note[hidden]{display:none!important;}

/* Release 10: controls occupy their own row, never the model area. */
.three-controlbar{position:relative;inset:auto;z-index:4;width:100%;padding:8px;gap:6px;box-sizing:border-box;background:#eae6df;border-radius:12px;pointer-events:auto}
.three-controlbar button,.three-controlbar select{min-height:44px;min-width:44px;font-size:12px}
.three-controlbar [data-leon-room-control] button{min-height:40px!important}
.three-visual:fullscreen>.three-controlbar{position:absolute;top:0;left:0}
.workspace,.preview-panel,.step-panel,.field-grid>label{min-width:0}
.step-panel{padding-bottom:100px}
button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #986a3d;outline-offset:3px}
@media(max-width:760px){.project-bar{flex-wrap:wrap}.project-bar input{min-width:0;width:100%}.three-controlbar{gap:4px}.preview-panel{max-width:100%}.wizard-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))}.step-panel{padding-bottom:115px}.three-controlbar button,.three-controlbar select{font-size:11px}}
/* World update: the preview owns most desktop space and a useful mobile height. */
@media(min-width:1000px){.workspace{grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:24px}.step-panel{padding:30px}.preview-sticky{top:16px}#wizardVisualizer{height:clamp(450px,64vh,760px);min-height:450px}.step h2{font-size:clamp(32px,3.3vw,52px)}}
@media(max-width:999px){#wizardVisualizer{height:440px;min-height:440px}.preview-panel{margin-bottom:24px}}
@media(max-width:520px){#wizardVisualizer{height:400px;min-height:400px}.three-controlbar{padding:6px;gap:4px}.three-controlbar select{max-width:calc(50% - 8px)}.geometry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-panel{padding:20px 16px 110px}}
.three-controlbar{background:#f5f2ec;border:1px solid #dfd8cd;border-radius:14px 14px 0 0;display:flex;flex-wrap:wrap;align-items:center}
.three-controlbar select{background:#fffdf9;color:#24332c;border:1px solid #c8c8bc;border-radius:8px;padding:7px;max-width:200px}
.three-controlbar .leon-slab-indicative{background:transparent;color:#625a4f;font-size:10px}
.three-context-message{position:absolute;inset:35% 12%;background:#183a32;color:white;padding:24px;border-radius:12px;z-index:8}
.leon-expert{margin:12px 0;border:1px solid #d6d0c6;border-radius:12px;padding:12px;background:#faf8f3;font-size:13px}.leon-expert>summary{cursor:pointer;min-height:32px;line-height:32px;font-weight:650}.leon-geometry-icon{width:58px;height:44px;display:block;margin:0 0 8px;color:#356154}.choice-grid button{transition:border-color .15s,background-color .15s}.choice-grid button:hover{border-color:#547d6e}.choice-grid button.is-selected{box-shadow:inset 0 0 0 1px #527462}
/* Launcher stays clear of the fixed wizard navigation; avatar assets and drag logic unchanged. */
@media(max-width:600px){.leon-advisor{bottom:90px!important}.leon-advisor .advisor-panel{max-height:calc(100dvh - 112px)!important}}
@media(prefers-reduced-motion:reduce){.choice-grid button{transition:none}}
