:root{--ink:#243b36;--muted:#65756e;--bronze:#96613b;--line:#e0e3dc;--paper:#faf9f5;font-family:"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}button:hover{color:var(--bronze)}button:focus-visible,input:focus-visible,textarea:focus-visible,#stage:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}button:active{transform:translateY(1px)}[hidden]{display:none!important}.configurator{height:100dvh;overflow:hidden;display:grid;grid-template-rows:45px minmax(0,1fr) 55px;background:#fff}.toolbar,.toolbar>div,.selection-bar,.actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.toolbar{padding:0 20px;border-bottom:1px solid var(--line);font-size:12px}.toolbar>div{gap:13px}.brand{font:23px Georgia,serif;color:var(--bronze);border-right:1px solid var(--line);padding-right:14px}.text-button{min-height:42px;padding:4px 5px;font-size:12px}.workspace{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:0}.settings{padding:24px 22px;border-right:1px solid var(--line);min-height:0;overflow:auto;scrollbar-width:thin}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--bronze)}.settings h1{font:400 29px/1.12 Georgia,serif;letter-spacing:-.6px;margin:12px 0 29px}.size-fields{display:grid;gap:24px}.dimension-field{display:grid;grid-template-columns:1fr 94px;gap:11px;align-items:center}.dimension-field label{font-size:13px}.dimension-field label span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.dimension-field input[type=number]{width:94px;background:#f7f6f1;border:1px solid #dce1d9;text-align:right;padding:10px 9px;min-height:44px;font-size:19px;font-variant-numeric:tabular-nums}.dimension-field input[type=range]{grid-column:1/-1;width:100%;height:22px;accent-color:var(--bronze);cursor:pointer;margin:0}.fixed-note{font-size:11px;color:var(--muted);margin:14px 0 24px}.finishes{border:0;padding:0;margin:0 0 20px}.finishes legend{font-size:12px;margin-bottom:11px}.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.swatches button{display:grid;place-items:center;gap:7px;min-height:64px;padding:5px;font-size:10px;border:1px solid transparent}.swatches button[aria-pressed=true]{border-color:var(--bronze);background:#faf5ed}.swatches i{width:27px;height:27px;border-radius:50%;box-shadow:inset 0 0 0 1px #0002}.steel{background:linear-gradient(100deg,#8f9b9e,#e7e9e7 45%,#78888c)}.bronze{background:linear-gradient(100deg,#776049,#d3b18a 45%,#8c6743)}.graphite{background:linear-gradient(100deg,#202a28,#67736e 45%,#303f39)}.toggles{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.toggles label{display:grid;justify-items:center;gap:7px;cursor:pointer;font-size:11px;min-height:48px}.toggles input{accent-color:var(--bronze);width:17px;height:17px}.project-note{font-size:10px;color:var(--muted);line-height:1.5;margin-top:23px;padding-top:13px;border-top:1px solid var(--line)}.validation{font-size:11px;color:#825732}.preview{display:grid;grid-template-rows:minmax(0,1fr) 79px;min-width:0;min-height:0}#stage{position:relative;overflow:hidden;background:#f1efe7;min-height:0;touch-action:pan-y}#stage canvas{display:block;width:100%;height:100%;touch-action:pan-y}.scene-meta{position:absolute;left:23px;top:20px;display:grid;gap:6px;pointer-events:none}.scene-meta span{font-size:10px;color:#6e776e;letter-spacing:.7px}.scene-meta strong{font-size:13px;font-weight:500}.drag-hint{position:absolute;bottom:14px;left:22px;font-size:10px;color:#57655d;pointer-events:none}.orbit-controls{display:flex;gap:5px;position:absolute;bottom:9px;right:14px}.orbit-controls button{width:40px;height:40px;background:#fff9;color:var(--ink);font-size:24px}.human-label{position:absolute;padding:4px 7px;font-size:10px;background:#fffc;pointer-events:none;transform:translate(-50%,0)}.view-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:5px 17px}.caption{display:grid;gap:6px;min-width:0}.caption strong{font:22px Georgia,serif;white-space:nowrap}.caption span{font-size:10px;color:var(--muted)}.view-tabs{display:flex;gap:6px}.view-tabs button{display:grid;place-items:center;gap:4px;width:67px;min-height:65px;border:1px solid var(--line);padding:3px 4px;font-size:9px;color:var(--muted)}.view-tabs button[aria-pressed=true]{background:#fbf5eb;border-color:var(--bronze);color:var(--bronze)}.view-tabs svg{width:51px;height:35px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.selection-bar{padding:6px 20px;border-top:1px solid var(--line)}.selection-bar p{font-size:10px;color:var(--muted);line-height:1.5;margin:0}.selection-bar p span{display:block}.actions{gap:16px}.primary{min-height:41px;padding:8px 17px;display:inline-flex;align-items:center;justify-content:space-between;gap:23px;background:var(--bronze);color:#fff;font-size:12px}.primary:hover{background:#754928;color:#fff}.primary span{font-size:21px}#drawing-view{position:absolute;inset:0;background:#fffefa;display:grid;place-items:center;padding:18px}#drawing-view svg{width:100%;height:100%;object-fit:contain}.loading,.failure{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f4f2ea;color:var(--muted);font-size:12px}.loading strong{font:24px Georgia,serif;color:var(--ink)}.loading-line{width:90px;height:2px;background:linear-gradient(90deg,#d8d4c7,var(--bronze),#d8d4c7);animation:loading 1.5s ease infinite}.failure{text-align:center;padding:30px}.failure h2{font:25px Georgia,serif}.failure button{min-height:44px;text-decoration:underline}.loading[hidden]{display:none}@keyframes loading{50%{opacity:.35}}dialog{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 28px);border:1px solid var(--line);padding:30px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#17342d99}dialog .close{position:absolute;right:12px;top:6px;width:40px;height:40px;font-size:29px}dialog h2{font:30px Georgia,serif;margin:15px 0 22px}dialog dl{display:grid;grid-template-columns:1fr 1.4fr;gap:13px;font-size:12px;padding:18px;background:#fff}dialog dt{color:var(--muted)}dialog dd{margin:0}dialog label{font-size:12px;display:block;margin:20px 0 8px}dialog textarea{width:100%;padding:12px;background:white;border:1px solid var(--line);resize:vertical;font-size:12px}.dialog-actions{display:flex;justify-content:space-between;gap:15px;margin-top:18px}.dialog-note{font-size:10px;color:var(--muted);line-height:1.5;margin:16px 0 0}#toast{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 18px;font-size:12px;z-index:5;max-width:90%}#print-sheet{display:none}
@media(max-height:730px) and (min-width:701px){.settings{padding:14px 18px}.settings h1{font-size:26px;margin:8px 0 17px}.size-fields{gap:13px}.fixed-note{margin:9px 0 15px}.finishes{margin-bottom:13px}.project-note{margin-top:12px;padding-top:10px}.preview{grid-template-rows:minmax(0,1fr) 72px}.view-tabs button{min-height:59px}.view-tabs svg{height:29px}}
@media(max-width:700px){.configurator{grid-template-rows:40px minmax(0,1fr) 49px}.toolbar{padding:0 11px;font-size:10px}.toolbar>div{gap:8px}.brand{font-size:19px;padding-right:9px}.toolbar .text-button{font-size:10px}.workspace{display:flex;flex-direction:column}.settings{order:1;padding:9px 12px;border-right:0;border-top:1px solid var(--line);overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;flex:none}.settings-title,.fixed-note,.project-note,.validation{display:none}.size-fields{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:17px}.dimension-field{grid-template-columns:1fr 76px;gap:3px 7px}.dimension-field label{font-size:11px}.dimension-field label span{display:inline;margin-left:4px}.dimension-field input[type=number]{width:76px;padding:7px;font-size:16px;min-height:38px}.dimension-field input[type=range]{height:20px}.finishes{margin:0}.finishes legend{display:none}.swatches{gap:3px}.swatches button{min-height:44px;gap:4px;font-size:8px;padding:3px}.swatches i{width:19px;height:19px}.toggles{align-items:center;gap:3px}.toggles label{font-size:9px;min-height:40px;gap:3px}.toggles input{width:15px;height:15px}.preview{flex:1;grid-template-rows:minmax(0,1fr) 61px}.view-strip{padding:3px 10px;gap:8px}.caption strong{font-size:16px}.caption span{font-size:8px}.view-tabs{gap:3px}.view-tabs button{width:43px;min-height:51px;font-size:8px;gap:1px;padding:2px}.view-tabs svg{width:35px;height:27px}.scene-meta{left:13px;top:12px}.scene-meta strong{font-size:11px}.scene-meta span{font-size:9px}.drag-hint{left:12px;bottom:11px;font-size:8px}.orbit-controls{right:8px;bottom:4px}.orbit-controls button{width:34px;height:34px}.selection-bar{padding:4px 11px;gap:8px}.selection-bar p{font-size:8px;max-width:113px}.selection-bar p span{display:none}.actions{gap:7px}.actions .text-button{font-size:10px}.primary{min-height:36px;padding:7px 10px;font-size:10px;gap:9px}.primary span{font-size:16px}.loading strong{font-size:20px}.human-label{font-size:8px}dialog{padding:23px}dialog dl{padding:12px;gap:10px;font-size:11px}}
@media(max-height:510px) and (min-width:600px){.configurator{grid-template-rows:35px minmax(0,1fr) 42px}.workspace{display:grid;grid-template-columns:210px minmax(0,1fr)}.settings{display:block;order:0;padding:8px 12px;overflow:auto}.settings-title,.fixed-note,.project-note{display:none}.size-fields{display:grid;grid-template-columns:1fr;gap:8px}.dimension-field{gap:3px 7px}.dimension-field input[type=number]{min-height:31px;padding:3px 8px;font-size:16px}.dimension-field input[type=range]{height:15px}.finishes{margin:9px 0 5px}.finishes legend{display:none}.swatches button{min-height:41px;gap:2px;font-size:8px}.swatches i{width:18px;height:18px}.toggles label{min-height:32px;font-size:9px;gap:2px}.toggles input{width:13px;height:13px}.preview{grid-template-rows:minmax(0,1fr) 52px}.view-tabs button{min-height:43px;width:44px;font-size:8px}.view-tabs svg{height:24px;width:34px}.caption strong{font-size:17px}.caption span{font-size:8px}.selection-bar{padding:2px 12px}.primary{min-height:33px}.text-button{min-height:32px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A3 landscape;margin:0}html,body{width:420mm;height:297mm;background:white}.configurator,dialog,noscript,#toast{display:none!important}#print-sheet{display:block;width:420mm;height:297mm}#print-sheet svg{display:block;width:420mm;height:297mm}}

@media(max-height:700px) and (min-width:701px){.settings h1{display:none}.settings-title{margin-bottom:20px}.dimension-field{gap:6px}.dimension-field input[type=number]{min-height:40px;padding:7px 9px}.dimension-field input[type=range]{height:18px}.size-fields{gap:17px}.project-note{margin-top:15px}}
@media(max-height:600px) and (min-width:701px){.project-note{display:none}}

/* Compact settings retain all controls at the actual embedded viewport height. */
.scene-meta{background:rgba(250,249,245,.78);backdrop-filter:blur(7px);padding:9px 12px;left:15px;top:14px;border:1px solid #ffffff70}
.drag-hint{background:#faf9f5bb;padding:5px 8px;left:15px;bottom:10px}
.human-label{background:#faf9f5dd;border:1px solid #e0e3dc;font-variant-numeric:tabular-nums}
#validation:empty{display:none}
@media(max-height:700px) and (min-width:701px){
 .settings{padding:12px 18px}.settings-title{margin-bottom:14px}
 .settings h1,.project-note{display:none}.size-fields{gap:12px}
 .dimension-field{gap:5px}.dimension-field input[type=number]{min-height:38px;padding:6px 9px}
 .dimension-field input[type=range]{height:18px}.fixed-note{margin:8px 0 13px}
 .finishes{margin-bottom:10px}.finishes legend{margin-bottom:8px}
 .swatches button{min-height:56px;gap:5px}.swatches i{width:25px;height:25px}
 .toggles label{min-height:40px;gap:5px}.validation{margin:8px 0 0;font-size:10px}
}
@media(max-height:560px) and (min-width:701px){
 .settings{padding:10px 15px}.settings-title{margin-bottom:10px}.size-fields{gap:8px}
 .dimension-field input[type=number]{min-height:34px;padding:4px 8px;font-size:18px}
 .dimension-field input[type=range]{height:16px}.fixed-note{margin:6px 0 8px;font-size:10px}
 .finishes legend{margin-bottom:5px}.swatches button{min-height:48px}
 .swatches i{width:22px;height:22px}.finishes{margin-bottom:7px}.toggles label{min-height:34px}
}
@media(max-height:430px) and (min-width:701px){
 .settings-title,.fixed-note{display:none}.size-fields{gap:5px}
 .dimension-field input[type=number]{min-height:30px}.dimension-field input[type=range]{height:13px}
 .finishes{margin-top:7px}.finishes legend{display:none}.swatches button{min-height:39px}
}
@media(max-width:700px){.scene-meta{padding:6px 8px;left:9px;top:8px}.drag-hint{left:8px;bottom:6px;padding:4px 6px}}

/* The three finishes fill the freed row after removing scene toggles. */
@media(max-width:700px){.finishes{grid-column:1/-1}.swatches button{display:flex;justify-content:center;gap:9px;min-height:44px;font-size:10px}}


.mounting-options summary{cursor:pointer;padding:12px 10px;background:#f1ede6;border:1px solid #c8b49d;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#704b2f}
.mounting-options summary::after{content:"＋";font-size:22px;line-height:1}
.mounting-options[open] summary::after{content:"−"}
.mounting-options summary:focus-visible{outline:2px solid #986439;outline-offset:2px}
.mounting-grid{padding-top:10px}
@media(max-width:767px),(max-height:500px){.mounting-options summary{min-height:44px;font-weight:600}.settings-toggle{font-size:13px}}
