:root{--brand-primary: #5c4033;--brand-primary-dark: #3d2a22;--text: #1c1917;--bg: #f5f2ed;--bg-accent: #ebe6df;--panel-bg: #fffcf8;--panel-border: #e5e0d8;--border: #e8e4de;--muted: #6b6560;--price-accent: #5c4033;--surface: #ffffff;--shadow-sm: 0 1px 3px rgba(28, 25, 23, .06);--shadow-card: 0 8px 28px rgba(28, 25, 23, .08);--shadow-card-hover: 0 14px 36px rgba(28, 25, 23, .12);--radius-md: 12px;--radius-sm: 8px;--mobile-viewer-height: 42vh;--space-xs: .35rem;--space-sm: .65rem;--space-md: 1rem;--space-lg: 1.25rem;--space-xl: 1.75rem;--transition-fast: .15s ease;--transition-view: .2s ease;--font-display: "Manrope", "Helvetica Neue", sans-serif;--font-body: "Source Sans 3", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(ellipse 110% 70% at 50% -15%,#fff9f2 0%,transparent 55%),linear-gradient(165deg,var(--bg) 0%,var(--bg-accent) 100%);color:var(--text);font-family:var(--font-body)}body{display:flex;flex-direction:column;min-height:100dvh}#product-type-step{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem 3rem;gap:2rem}body.flow-workspace #product-type-step,#product-type-step[hidden]{display:none!important}.step1-header{max-width:36rem;text-align:center}.step1-header .eyebrow{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.step1-header h1{margin:0 0 .65rem;font-family:var(--font-display);font-size:clamp(1.65rem,3vw,2.15rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.step1-header .lede{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.45}.step1-cards{display:grid;grid-template-columns:repeat(2,minmax(0,20rem));gap:1.15rem;width:100%;max-width:42rem}.step1-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--panel-border);border-radius:var(--radius-md);background:var(--panel-bg);box-shadow:var(--shadow-card);padding:1.5rem 1.35rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.65rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);font:inherit;color:inherit}.step1-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:color-mix(in srgb,var(--brand-primary) 35%,var(--panel-border))}.step1-card:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}.step1-card__title{font-family:var(--font-display);font-size:1.15rem;font-weight:800;line-height:1.25}.step1-card__body{font-size:.95rem;color:var(--muted);line-height:1.4}@media(max-width:720px){.step1-cards{grid-template-columns:1fr;max-width:22rem}}.workspace-chrome{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.25rem;padding:.65rem 1rem;background:#fffcf8f5;border-bottom:1px solid var(--panel-border);box-shadow:var(--shadow-sm);z-index:100}.workspace-steps{display:flex;gap:0}.workspace-step{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--brand-primary);background:transparent;color:var(--brand-primary);font-family:var(--font-display);font-size:.88rem;font-weight:700;letter-spacing:.02em;padding:.5rem 1.1rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.workspace-step:first-child{border-radius:6px 0 0 6px}.workspace-step:last-child{border-radius:0 6px 6px 0}.workspace-step+.workspace-step{margin-left:-2px}.workspace-step.is-active{background:var(--brand-primary);color:#fff}.workspace-step:not(.is-active):hover{background:color-mix(in srgb,var(--brand-primary) 10%,white)}.change-product-type{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:.25rem .35rem}.change-product-type:hover{color:var(--brand-primary)}.workspace-body{display:grid;grid-template-columns:320px 1fr;flex:1;min-height:0}.workspace-body>#views,.workspace-body>#embed-live{grid-column:2;grid-row:1;min-height:0;min-width:0}#app{display:flex;flex-direction:column;flex:1;min-height:0}#app[hidden],body.flow-step1 #app{display:none!important}#sidebar{display:flex;flex-direction:column;min-height:0;background:var(--panel-bg);border-right:1px solid var(--panel-border);overflow:hidden}#setup-panel,#options,#embed-panel{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}body.workspace-preview .section-configure,body.workspace-embed .section-configure,body.view-customer .setup-only,body.workspace-configure .section-preview,body.workspace-embed .section-preview,body.view-setup .customer-only,body.workspace-configure .section-embed,body.workspace-preview .section-embed{display:none!important}body.workspace-configure #setup-panel{display:flex!important}body.workspace-preview #options{display:flex}body.workspace-embed #embed-panel{display:flex!important}body.workspace-preview .mode-toggle,body.view-customer .mode-toggle,body.mode-compose .setup-single-only,body.workspace-preview.mode-single #viewport-2d,body.view-customer.mode-single #viewport-2d{display:none!important}body.workspace-preview.mode-single #views,body.view-customer.mode-single #views{grid-template-columns:1fr}body.workspace-preview .section-configure-only,body.workspace-embed .section-configure-only{display:none!important}#embed-live{display:flex;flex-direction:column;min-height:0;background:var(--bg)}#embed-live[hidden]{display:none!important}.embed-live-bar{flex-shrink:0;padding:.65rem 1rem;border-bottom:1px solid var(--panel-border);background:var(--panel-bg)}.embed-live-label{margin:0;font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}.embed-live-frame-wrap{flex:1;min-height:0;padding:.75rem}#embed-live-frame{width:100%;height:100%;min-height:640px;border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:#fff}.embed-snippet{width:100%;box-sizing:border-box;margin:0 0 .65rem;padding:.55rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.4;border:1px solid var(--border);border-radius:2px;background:#fff;color:var(--text);resize:vertical}html.embed-mode,html.embed-mode body{height:900px;max-height:900px;overflow:hidden;background:var(--panel-bg)}body.embed-mode{min-height:0}body.embed-mode #product-type-step,body.embed-mode .workspace-chrome,body.embed-mode .prototype-badge,body.embed-mode .embed-hide,body.embed-mode #setup-panel,body.embed-mode #embed-panel,body.embed-mode #embed-live{display:none!important}body.embed-mode #app{display:flex!important;flex-direction:column;height:900px;max-height:900px;flex:none;min-height:0}body.embed-mode #app[hidden]{display:flex!important}body.embed-mode .workspace-body{grid-template-columns:320px 1fr;flex:1;min-height:0}body.embed-mode.view-customer.mode-single #views{grid-template-columns:1fr}.setup-embed-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin-top:.25rem;padding:.55rem .75rem;border:1px solid var(--brand-primary);border-radius:2px;background:var(--brand-primary);color:#fff;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer}.setup-embed-btn:hover{background:var(--brand-primary-dark);border-color:var(--brand-primary-dark)}#admin-copy-embed-status:not([hidden]){display:block;color:var(--brand-primary);font-weight:600}#options,#setup-panel,#embed-panel{background:var(--panel-bg);color:var(--text);padding:var(--space-lg) var(--space-lg) 0;overflow:hidden;display:flex;flex-direction:column;min-height:0;height:100%}.panel-scroll{flex:1;overflow-y:auto;padding:var(--space-sm) 0 var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.panel-scroll>label,.panel-scroll>.hint,.panel-scroll>.facts,.panel-scroll>.single-shape-picker,.panel-scroll>.compose-section,.panel-scroll>#bed-list,.panel-scroll>.compose-add-btn,.panel-scroll>.compose-reset-btn,.panel-scroll>#compose-notes{margin-bottom:0}.sticky-price{border-top:1px solid var(--panel-border);background:var(--surface);margin:0 calc(-1 * var(--space-lg));padding:var(--space-md) var(--space-lg) var(--space-lg);flex-shrink:0;box-shadow:0 -6px 20px #1c19170a}h1,h2{font-family:var(--font-display);font-weight:700;color:var(--text)}.panel-brand{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--panel-border)}.panel-brand .eyebrow{margin:0;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:var(--brand-primary);font-weight:700;font-family:var(--font-display)}.panel-brand h1{margin:.35rem 0 .45rem;font-family:var(--font-display);font-weight:800;font-size:1.45rem;letter-spacing:-.02em;color:var(--text);line-height:1.2}.lede{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.brand-logo{display:block;max-height:36px;max-width:160px;width:auto;height:auto;object-fit:contain;margin-bottom:.5rem}.tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.4rem .85rem;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.8rem;font-weight:600;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.tab:hover:not(.is-active){border-color:var(--brand-primary);color:var(--brand-primary)}.tab.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}#layer-buttons button,#compose-layer-buttons button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#fff;color:var(--text);padding:.2rem .55rem;border-radius:0;cursor:pointer;font:inherit;font-size:.78rem}#layer-buttons button.is-active,#compose-layer-buttons button.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.tab-panel{display:none}.tab-panel.is-active{display:block}#options label{display:grid;gap:.28rem;margin-bottom:var(--space-sm);font-size:.76rem;color:var(--muted);text-transform:uppercase;font-weight:600;letter-spacing:.05em}#options input{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:2px;padding:.5rem .65rem;font:inherit;font-size:1rem}#options select{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:2px;padding:.5rem .65rem;font:inherit;font-size:1rem;width:100%}.hint{font-size:.78rem;line-height:1.4;color:var(--muted)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin:var(--space-md) 0 0}.facts div{background:#e4e4e2;border:1px solid var(--border);border-radius:2px;padding:.5rem .6rem}.facts dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.facts dd{margin:.15rem 0 0;font-variant-numeric:tabular-nums}.bom{width:100%;border-collapse:collapse;font-size:.8rem}.bom th,.bom td{text-align:left;padding:.4rem .25rem;border-bottom:1px solid var(--border);vertical-align:top}.bom small{display:block;color:var(--muted)}.swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:2px}.total{margin-top:.9rem;font-weight:700}.price-display{font-size:1.8rem;font-weight:700;color:var(--price-accent);margin:.5rem 0}.delivery-note{font-size:.82rem;color:var(--brand-primary);font-weight:600;margin:.3rem 0}.price-disclaimer{font-size:.68rem;color:var(--muted);line-height:1.35;margin:0 0 .5rem;font-weight:400}.prototype-badge{position:fixed;bottom:.45rem;left:50%;transform:translate(-50%);max-width:min(560px,92vw);margin:0;font-size:.62rem;color:var(--muted);opacity:.8;text-align:center;line-height:1.4;z-index:9998;pointer-events:none}.request-design-btn,.add-to-basket{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--brand-primary);color:#fff;border:0;border-radius:var(--radius-sm);padding:.75rem 1.5rem;text-transform:uppercase;font-weight:700;font-size:.88rem;letter-spacing:.04em;cursor:pointer;width:100%;transition:background-color var(--transition-fast)}.request-design-btn:hover,.add-to-basket:hover{background:var(--brand-primary-dark)}.submit-redirect-note{margin:0 0 .45rem;font-size:.75rem;color:var(--muted);line-height:1.35}.request-design-btn--bespoke-link{text-transform:none;letter-spacing:.02em}.disclosure{font-size:.72rem;color:var(--muted);line-height:1.4;margin-top:.8rem;border-top:1px solid var(--border);padding-top:.6rem}#views{display:grid;grid-template-rows:1fr 1fr;min-width:0;overflow:hidden;min-height:0}body.mode-compose #views,body.single-3d-only #views{grid-template-columns:1fr;grid-template-rows:1fr}#views>.viewport[hidden]{display:none!important}body.single-3d-only #viewport-3d,body.mode-compose #viewport-compose{border-right:none;padding:1rem}body.single-3d-only #view3d,body.mode-compose .compose-viewer-body{max-width:980px;margin:0 auto;width:100%;flex:1;min-height:0;background:#fff;border:1px solid var(--border)}body.mode-compose .compose-viewer-body{position:relative}@media(min-width:1200px){#views{grid-template-columns:1fr 1fr;grid-template-rows:1fr}body.mode-compose #views,body.single-3d-only #views{grid-template-columns:1fr}.viewport{border-bottom:0;border-right:1px solid var(--border)}}.viewport{position:relative;min-height:0;border-bottom:1px solid var(--border);display:flex;flex-direction:column}.compose-viewer-body{position:relative;flex:1;min-height:0;touch-action:none}.compose-viewer-body>canvas,.compose-viewer-body>#compose-view3d{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity var(--transition-view)}.compose-viewer-body>canvas.is-view-active,.compose-viewer-body>#compose-view3d.is-view-active{opacity:1;pointer-events:auto}.compose-viewer-body>[hidden]{display:none!important}#viewport-3d #view3d{flex:1;min-height:0}.viewport-bar{position:absolute;z-index:2;left:.85rem;top:.7rem;right:.85rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;pointer-events:none}.viewport-bar--single-3d{justify-content:flex-end}.viewport-bar h2{margin:0;font-family:var(--font-display);font-size:1.05rem}.viewport-bar p,.layer-controls{margin:0;font-size:.75rem;color:var(--muted)}.layer-controls{display:flex;gap:.55rem;align-items:center;pointer-events:auto}#view3d,#compose-view3d,#plan,#compose-canvas{width:100%;height:100%;display:block}#view3d canvas,#compose-view3d canvas{width:100%;height:100%}.layer-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#fff;color:var(--text);padding:.2rem .55rem;border-radius:0;cursor:pointer;font:inherit;font-size:.78rem}.layer-btn.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.mode-toggle{display:flex;gap:.35rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.mode-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:transparent;color:var(--text);padding:.35rem .7rem;border-radius:0;cursor:pointer;font:inherit;font-size:.82rem}.mode-toggle button.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.compose-section{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--panel-border)}.compose-section h3{margin:0 0 .5rem;font-size:.82rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.param-hint{font-size:.72rem;line-height:1.35;color:var(--muted);margin:.15rem 0 0}.bed-accordion{border-bottom:1px solid var(--panel-border);margin-bottom:var(--space-xs)}.bed-group{border:1px solid var(--panel-border);background:#fff;margin-bottom:var(--space-sm);padding:.15rem .55rem .35rem}.bed-group-row{display:flex;align-items:center;gap:var(--space-sm);padding:.45rem 0}.bed-group-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;margin:0;display:flex;align-items:center;gap:var(--space-xs);flex:1;min-width:0;cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;color:var(--text);text-align:left}.bed-group-toggle:hover{color:var(--brand-primary)}.bed-group-height{display:flex;flex-direction:column;gap:.15rem;flex-shrink:0;margin:0;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.bed-group-height-control{display:flex;align-items:center;gap:.35rem}.bed-group-height input{width:3.2rem;padding:.25rem .35rem;font-size:.82rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text)}.bed-group-mixed{font-size:.68rem;font-weight:700;text-transform:none;letter-spacing:0;color:var(--brand-primary);white-space:nowrap}.bed-group-children{padding-left:.35rem;border-left:2px solid var(--brand-primary);margin:.15rem 0 .35rem .35rem}.bed-accordion--nested{border-bottom-color:#ecece8;margin-bottom:0}.bed-accordion--nested .bed-row{font-weight:600;font-size:.78rem;padding:.4rem 0}.bed-group.is-selected{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 8%,white);box-shadow:inset 3px 0 0 var(--brand-primary)}.bed-row.is-selected{background:color-mix(in srgb,var(--brand-primary) 8%,white);box-shadow:inset 3px 0 0 var(--brand-primary);color:var(--brand-primary-dark)}.bed-row.is-selected .bed-row-summary{color:inherit}.bed-accordion--nested .bed-row.is-selected{margin-left:-.15rem;padding-left:.15rem}.bed-row{display:flex;align-items:center;gap:var(--space-xs);padding:.55rem 0;cursor:pointer;font-size:.82rem;font-weight:600;transition:color var(--transition-fast),background var(--transition-fast)}.bed-row:hover{color:var(--brand-primary)}.bed-row-chevron{font-size:.7rem;flex-shrink:0;width:1em}.bed-row-summary{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bed-body{padding:0 0 var(--space-sm)}.bed-body[hidden]{display:none}.bed-header{display:flex;justify-content:space-between;align-items:center}.bed-remove-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#fff;color:var(--muted);width:24px;height:24px;border-radius:2px;cursor:pointer;font:inherit;font-size:.78rem;display:flex;align-items:center;justify-content:center;padding:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.bed-remove-btn:hover{background:#f5f5f5;border-color:var(--brand-primary);color:var(--brand-primary)}.toggle-label{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem;cursor:pointer}.toggle-label[hidden]{display:none!important}.toggle-label input[type=checkbox]{width:auto;accent-color:var(--brand-primary)}.compose-add-btn,.btn-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--brand-primary);color:#fff;border:0;border-radius:2px;padding:.6rem 1.25rem;text-transform:uppercase;font-weight:600;font-size:.82rem;letter-spacing:.04em;cursor:pointer;width:100%;margin-bottom:var(--space-sm);transition:background-color var(--transition-fast)}.compose-add-btn:hover,.btn-primary:hover{background:var(--brand-primary-dark)}.compose-reset-btn,.btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#fff;color:var(--text);padding:.45rem 1rem;border-radius:2px;cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;margin-bottom:var(--space-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.compose-reset-btn:hover,.btn-secondary:hover{background:#f5f5f5;border-color:var(--brand-primary)}.compose-note{font-size:.75rem;line-height:1.4;color:var(--text);margin:.3rem 0;padding:.5rem .7rem;background:#f0f7ed;border-radius:0;border-left:3px solid var(--brand-primary)}body.view-customer .compose-note{display:none}body.view-setup .compose-note{display:block}body.view-customer .setup-only,body.view-customer .admin-only{display:none!important}#compose-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}#compose-canvas:active{cursor:grabbing}.view3d-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;align-items:center;pointer-events:auto;max-width:100%}.viewport-bar--compose .view-mode-toggle{flex-shrink:0;pointer-events:auto}.view3d-controls--compose-secondary{margin-left:auto;flex-shrink:0}.fit-view-btn,.material-toggle{flex-shrink:0}.layout-hidden{display:none!important}.view-mode-toggle,.material-toggle{display:flex;gap:0;pointer-events:auto}.view-mode-toggle--primary .view-btn{padding:.45rem 1.1rem;font-size:.88rem;font-weight:700;letter-spacing:.03em;border-width:2px}.view-mode-toggle--primary .view-btn.is-active{box-shadow:0 1px 4px #5c403340}.material-toggle--secondary .mat-btn{padding:.15rem .45rem;font-size:.62rem;font-weight:600;opacity:.9}.fit-view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#ffffffeb;color:var(--text);padding:.18rem .55rem;border-radius:2px;cursor:pointer;font:inherit;font-size:.68rem;font-weight:600;line-height:1.2;pointer-events:auto;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.fit-view-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.view-btn,.mat-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#ffffffeb;color:var(--text);padding:.2rem .55rem;cursor:pointer;font:inherit;font-size:.7rem;font-weight:600;line-height:1.2;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.view-btn:first-child,.mat-btn:first-child{border-radius:2px 0 0 2px}.view-btn:last-child,.mat-btn:last-child{border-radius:0 2px 2px 0;border-left:0}.view-btn:hover:not(.is-active),.mat-btn:hover:not(.is-active){border-color:var(--brand-primary);color:var(--brand-primary)}.view-btn.is-active,.mat-btn.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.setup-panel-scroll{padding:0 var(--space-lg) var(--space-lg);overflow:auto}.setup-section-title{font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:1.1rem 0 .45rem}.setup-section-title:first-child,.setup-size-mode:first-child .setup-section-title{margin-top:0}.setup-size-mode{margin-bottom:.35rem}.setup-size-mode-cards{display:grid;grid-template-columns:1fr;gap:.65rem;margin:.55rem 0 .15rem}.setup-size-mode-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--panel-border);border-radius:var(--radius-md);background:var(--panel-bg);box-shadow:var(--shadow-card);padding:1rem .95rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.4rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);font:inherit;color:inherit}.setup-size-mode-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover);border-color:color-mix(in srgb,var(--brand-primary) 35%,var(--panel-border))}.setup-size-mode-card:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.setup-size-mode-card.is-active{border-color:var(--brand-primary);border-width:2px;padding:calc(1rem - 1px) calc(.95rem - 1px);box-shadow:var(--shadow-card-hover);background:color-mix(in srgb,var(--brand-primary) 6%,var(--panel-bg))}.setup-size-mode-card__title{font-family:var(--font-display);font-size:1.05rem;font-weight:800;line-height:1.25}.setup-size-mode-card__body{font-size:.82rem;color:var(--muted);line-height:1.4}.setup-collapse{margin:.85rem 0 .25rem;border:1px solid var(--border);border-radius:4px;background:#fff}.setup-collapse[hidden]{display:none!important}.setup-collapse__summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text);-webkit-user-select:none;user-select:none}.setup-collapse__summary::-webkit-details-marker{display:none}.setup-collapse__summary:after{content:"";width:.45rem;height:.45rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform var(--transition-fast);flex-shrink:0;margin-top:-.2rem}.setup-collapse[open]>.setup-collapse__summary:after{transform:rotate(-135deg);margin-top:.15rem}.setup-collapse__summary:hover{background:color-mix(in srgb,var(--brand-primary) 5%,#fff)}.setup-collapse__summary:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.setup-collapse__body{padding:0 .75rem .75rem;border-top:1px solid var(--border)}.setup-collapse__body>.setup-hint:first-child{margin-top:.55rem}.setup-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.55rem;font-size:.88rem}.setup-field span{display:flex;align-items:baseline;gap:.35rem;color:var(--muted);font-size:.8rem}.setup-field small{opacity:.7}.setup-field input,.setup-field select{width:100%;box-sizing:border-box;padding:.45rem .55rem;font:inherit;border:1px solid var(--border);border-radius:2px;background:#fff}.setup-check{display:flex;align-items:center;gap:.5rem;font-size:.92rem;cursor:pointer;margin:.35rem 0}.setup-check input{width:auto;margin:0}.setup-hint{font-size:.78rem;color:var(--muted);margin:.2rem 0 0;line-height:1.35}.finish-fieldset{border:none;margin:.75rem 0 .5rem;padding:0}.finish-fieldset legend{font-size:.8rem;color:var(--muted);margin-bottom:.35rem;padding:0}.finish-toggle{display:flex;gap:0}.finish-btn{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#fff;color:var(--text);font:inherit;font-weight:600;font-size:.88rem;padding:.45rem .6rem;cursor:pointer}.finish-btn:first-child{border-radius:2px 0 0 2px}.finish-btn:last-child{border-radius:0 2px 2px 0;margin-left:-1px}.finish-btn.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.dim-hint{display:block;font-size:.72rem;color:var(--muted);margin-top:.25rem;line-height:1.3}.dim-lede{margin:.35rem 0 .75rem;font-size:.82rem;color:var(--muted);line-height:1.4}.setup-limit-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .55rem}.admin-size-list{display:flex;flex-direction:column;gap:.55rem;margin:.35rem 0 .55rem}.admin-size-row{position:relative;border:1px solid var(--border);border-radius:2px;padding:.65rem .7rem .25rem;background:#fff;display:flex;flex-direction:column;gap:0;min-width:0}.admin-size-row__remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:.55rem;right:.65rem;z-index:1;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.75rem;line-height:1.2;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:.15rem 0}.admin-size-row__remove:hover:not(:disabled){color:#8b2e2e}.admin-size-row__remove:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.admin-size-row__name{margin-bottom:.45rem;min-width:0;padding-right:3.75rem;box-sizing:border-box}.admin-size-row__name input{width:100%;min-width:0;box-sizing:border-box}.admin-size-row__dims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .55rem;min-width:0}.admin-size-row__dims .setup-field{margin-bottom:.45rem;min-width:0}.admin-size-row__dims input[type=number]{width:100%;min-width:0;box-sizing:border-box;padding-inline:.45rem;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.admin-size-row__dims input[type=number]::-webkit-outer-spin-button,.admin-size-row__dims input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.admin-finish-list{display:flex;flex-direction:column;gap:.55rem;margin:.35rem 0 .55rem}.admin-finish-row{position:relative;border:1px solid var(--border);border-radius:2px;padding:.65rem .7rem .35rem;background:#fff;min-width:0}.admin-finish-row__name{margin-bottom:.45rem;min-width:0;padding-right:3.75rem;box-sizing:border-box}.admin-finish-row__meta{display:grid;grid-template-columns:auto 1fr;gap:.55rem .85rem;align-items:end}.admin-finish-row__meta input[type=color]{width:2.75rem;height:2rem;padding:.15rem;cursor:pointer}.admin-finish-row__wood{margin:0 0 .35rem}.setup-secondary-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin:.15rem 0 .35rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:2px;background:#fff;color:var(--text);font:inherit;font-weight:600;font-size:.85rem;cursor:pointer}.setup-secondary-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}body.mode-compose .setup-fixed-only,body.mode-compose .setup-custom-only{display:none!important}.catalog-field-label{font-size:.8rem;color:var(--muted);margin:.85rem 0 .4rem}.catalog-size-picker{display:flex;flex-wrap:wrap;gap:.4rem}.catalog-size-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#fff;color:var(--text);font:inherit;padding:.45rem .65rem;cursor:pointer;border-radius:2px;min-width:4.5rem;text-align:center;line-height:1.25}.catalog-size-btn__label{display:block;font-weight:700;font-size:.88rem}.catalog-size-btn__dims{display:block;font-size:.68rem;color:var(--muted);margin-top:.1rem}.catalog-size-btn.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.catalog-size-btn.is-active .catalog-size-btn__dims{color:#ffffffd9}.catalog-height-note{font-size:.78rem;color:var(--muted);margin:.45rem 0 0;line-height:1.35}.finish-swatch-row{display:flex;flex-wrap:wrap;gap:.55rem .75rem}.finish-swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.3rem;max-width:4.6rem;font:inherit;color:var(--text)}.finish-swatch__chip{width:1.65rem;height:1.65rem;border-radius:50%;border:2px solid transparent;box-shadow:inset 0 0 0 1px #0000002e;display:block}.finish-swatch.is-active .finish-swatch__chip{border-color:var(--brand-primary);box-shadow:inset 0 0 0 1px #0000001f,0 0 0 2px #ffffffe6}.finish-swatch__label{font-size:.68rem;line-height:1.2;text-align:center}.price-breakdown{margin:0 0 .35rem;padding:0;width:100%}.price-breakdown>div{display:flex;justify-content:space-between;gap:.75rem;font-size:.84rem;line-height:1.45;margin:.1rem 0}.price-breakdown dt{margin:0;color:var(--muted);font-weight:500}.price-breakdown dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}#landing{max-width:1040px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,4vw,2.5rem) 3rem;text-align:center}.landing-header{margin-bottom:clamp(1.75rem,4vw,2.75rem)}.landing-brand{display:flex;flex-direction:column;align-items:center;gap:.35rem}.landing-logo:not([hidden]){margin-bottom:.25rem}#landing h1{margin:0;font-family:var(--font-display);font-size:clamp(2.35rem,5.5vw,3.4rem);font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1.05}.landing-subtitle{margin:.55rem 0 0;font-size:1.05rem;color:var(--brand-primary);font-weight:700;font-family:var(--font-display);letter-spacing:.02em}.landing-intro{max-width:520px;margin:.85rem auto 0;font-size:1rem;line-height:1.55;color:var(--muted)}.landing-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;text-align:left}.landing-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);border:1px solid var(--panel-border);border-radius:var(--radius-md);padding:0;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:var(--text);display:flex;flex-direction:column;box-shadow:var(--shadow-card);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.landing-card:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}.landing-card:hover{border-color:color-mix(in srgb,var(--brand-primary) 35%,var(--panel-border));box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.landing-card-body{padding:1.35rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1;gap:.55rem}.landing-card-body h2{font-family:var(--font-display);font-weight:800;font-size:1.25rem;letter-spacing:-.02em;color:var(--text);margin:0}.landing-card-body>p{color:var(--muted);line-height:1.5;font-size:.92rem;margin:0;flex:1}.landing-card-cta{display:block;font-weight:700;font-size:.9rem;color:var(--brand-primary);margin-top:.35rem}.landing-shape-picker{display:flex;gap:0;margin:.15rem 0;border:1px solid var(--panel-border);border-radius:var(--radius-sm);overflow:hidden;width:fit-content;max-width:100%}.single-shape-picker{margin:0}.landing-shape-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--surface);margin:0;padding:.35rem .75rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--muted);cursor:pointer;line-height:1.2}.landing-shape-btn+.landing-shape-btn{border-left:1px solid var(--panel-border)}.landing-shape-btn:hover{color:var(--brand-primary-dark);background:color-mix(in srgb,var(--brand-primary) 8%,white)}.landing-shape-btn.is-active{background:var(--brand-primary);color:#fff}.landing-card-preview{position:relative;width:100%;aspect-ratio:16 / 10;min-height:180px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);overflow:hidden;background:linear-gradient(160deg,#e8e2d8,#d9d2c6)}.landing-card-preview.has-live-preview .landing-card-preview-label{display:none}.landing-card-preview-label{position:relative;z-index:1;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.75}.landing-card-preview canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;pointer-events:none}.landing-footer-note{font-size:.72rem;color:var(--muted);line-height:1.6}@media(max-width:760px){.landing-cards{grid-template-columns:1fr;gap:1.15rem}}.back-to-landing{display:none!important}.back-to-landing:hover{text-decoration:underline}@media(max-width:980px){#app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.workspace-body{grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:0}#views{order:-1;height:var(--mobile-viewer-height);max-height:var(--mobile-viewer-height);min-height:0;overflow:hidden}#options{order:0;min-height:0;overflow:hidden}body.single-3d-only #viewport-3d,body.mode-compose #viewport-compose{height:100%;max-height:100%}body.single-3d-only #view3d,body.mode-compose .compose-viewer-body{max-width:none;margin:0;border:0;background:transparent}body.single-3d-only #viewport-3d,body.mode-compose #viewport-compose{padding:0}body.mode-compose #options{padding-top:.55rem}body.mode-compose #options .back-to-landing{padding-bottom:.3rem;font-size:.75rem}body.mode-compose #options .panel-brand{margin-bottom:.35rem}body.mode-compose #options .panel-brand .eyebrow{font-size:.58rem;letter-spacing:.12em}body.mode-compose #options .panel-brand h1{margin:.05rem 0 0;font-size:1.15rem;line-height:1.15}body.mode-compose #options .panel-brand .lede{display:none}body.mode-compose #options .panel-scroll{padding-bottom:.35rem}body.mode-compose #compose-sticky-price{padding-top:.45rem;padding-bottom:.65rem}body.mode-compose #compose-sticky-price .price-disclaimer{font-size:.62rem;margin-bottom:.35rem}.landing-card--feature .landing-card-preview{min-height:160px}.landing-card--secondary{flex-direction:column}.landing-card--secondary .landing-card-preview{width:100%;flex:none;aspect-ratio:2 / 1;min-height:88px;border-right:0;border-bottom:1px solid var(--border)}}.compose-onboard{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .28s ease}.compose-onboard.is-visible{opacity:1}.compose-onboard__callout{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.45rem;max-width:11rem;text-align:center}.compose-onboard__callout--view3d{max-width:10.5rem}.compose-onboard__callout[hidden]{display:none!important}.compose-onboard__marker{display:flex;align-items:center;justify-content:center;transform:translateY(-50%);flex-shrink:0}.compose-onboard__label{margin:0;padding:.35rem .55rem;border-radius:2px;background:#fffffff0;border:1px solid rgba(92,64,51,.35);box-shadow:0 1px 6px #19191914;color:var(--brand-primary-dark);font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.02em;line-height:1.25}.compose-onboard__pulse{width:2.4rem;height:2.4rem;border-radius:50%;background:#5c403338;border:2px solid var(--brand-primary);box-shadow:0 0 #5c403359;animation:compose-onboard-pulse 1.6s ease-out infinite}.compose-onboard__handle{width:1.15rem;height:1.15rem;border-radius:2px;background:var(--brand-primary);border:2px solid #fff;box-shadow:0 0 0 1px #5c403373,0 1px 4px #19191926;animation:compose-onboard-handle-pulse 1.4s ease-in-out infinite}.compose-onboard__arrow{width:.55rem;height:1.35rem;background:linear-gradient(to top,var(--brand-primary),transparent);clip-path:polygon(50% 0,100% 100%,0 100%);animation:compose-onboard-nudge 1.2s ease-in-out infinite}.compose-onboard__got-it{position:absolute;right:.85rem;bottom:.85rem;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--brand-primary);background:#fffffff5;color:var(--brand-primary-dark);padding:.45rem .95rem;border-radius:2px;cursor:pointer;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.03em;box-shadow:0 1px 6px #1919191a;transition:background-color var(--transition-fast),color var(--transition-fast)}.compose-onboard__got-it:hover{background:var(--brand-primary);color:#fff}.compose-onboard-help{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:1.7rem;height:1.7rem;margin-left:.35rem;border:1px solid var(--border);border-radius:50%;background:#ffffffeb;color:var(--muted);cursor:pointer;font-family:var(--font-display);font-size:.78rem;font-weight:700;line-height:1;pointer-events:auto;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.compose-onboard-help:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.compose-view-cluster{display:flex;align-items:center;flex-shrink:0;pointer-events:auto}@keyframes compose-onboard-pulse{0%{transform:scale(.92);box-shadow:0 0 #5c403366}70%{transform:scale(1.08);box-shadow:0 0 0 12px #5c403300}to{transform:scale(.92);box-shadow:0 0 #5c403300}}@keyframes compose-onboard-handle-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.85}}@keyframes compose-onboard-nudge{0%,to{transform:translateY(0);opacity:.85}50%{transform:translateY(-4px);opacity:1}}@media(max-width:980px){.compose-onboard{z-index:8;overflow:hidden}.compose-onboard__callout{max-width:5.75rem;gap:.12rem}.compose-onboard__callout--move .compose-onboard__marker{display:none}.compose-onboard__callout--view3d{max-width:5.5rem}.compose-onboard__label{font-size:.52rem;padding:.14rem .28rem;line-height:1.15;letter-spacing:.01em}.compose-onboard__pulse{width:1.2rem;height:1.2rem;border-width:1.5px}.compose-onboard__handle{width:.75rem;height:.75rem}.compose-onboard__arrow{width:.35rem;height:.7rem}.compose-onboard__got-it{right:.4rem;bottom:.4rem;padding:.24rem .55rem;font-size:.6rem;letter-spacing:.02em;box-shadow:0 1px 4px #1919191f}body.mode-compose .compose-viewer-body,body.mode-compose #viewport-compose{overflow:hidden}}body.submit-review-open{overflow:hidden}.submit-review{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#19191973;opacity:0;transition:opacity .2s ease}.submit-review.is-visible{opacity:1}.submit-review__panel{width:min(520px,100%);max-height:min(90vh,780px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--panel-border);border-radius:2px;box-shadow:0 12px 40px #19191938;overflow:hidden}.submit-review__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border)}.submit-review__header h2{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--brand-primary-dark)}.submit-review__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.15rem .35rem}.submit-review__close:hover{color:var(--text)}.submit-review__body{padding:1rem 1.15rem .5rem;overflow:auto;flex:1;min-height:0}.submit-review__preview{margin:0 0 1rem;padding:0;border:1px solid var(--border);border-radius:2px;overflow:hidden;background:#eef1eb}.submit-review__preview img{display:block;width:100%;height:auto;max-height:200px;object-fit:contain;object-position:center}.submit-review__overview{margin-bottom:1.15rem}.submit-review__facts{display:grid;gap:.45rem 1rem;margin:0 0 .85rem}.submit-review__facts>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.35rem;font-size:.88rem}.submit-review__facts dt{margin:0;color:var(--muted);font-weight:600}.submit-review__facts dd{margin:0;color:var(--text);font-weight:600}.submit-review__price{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:0;padding:.65rem .75rem;background:color-mix(in srgb,var(--brand-primary) 8%,white);border:1px solid rgba(92,64,51,.2);border-radius:2px;font-size:.88rem}.submit-review__price span{color:var(--muted);font-weight:600}.submit-review__price strong{font-family:var(--font-display);font-size:1.2rem;color:var(--brand-primary-dark)}.submit-review__blocks h3{margin:0 0 .25rem;font-family:var(--font-display);font-size:.95rem;color:var(--text)}.submit-review__next{margin-top:.25rem}.submit-review__next h3{margin:0 0 .25rem;font-family:var(--font-display);font-size:.95rem;color:var(--text)}.submit-review__lede{margin:0 0 .75rem;font-size:.78rem;color:var(--muted);line-height:1.4}.submit-review__done-lead{margin:0 0 .85rem;font-size:.95rem;font-weight:600;color:var(--text);line-height:1.45}.submit-review__bom{width:100%}.submit-review__bom-total{margin:.55rem 0 0;font-size:.82rem;font-weight:600;color:var(--text)}.submit-review__empty{margin:0;font-size:.85rem;color:var(--muted)}.submit-review__footer{display:flex;gap:.65rem;padding:.9rem 1.15rem 1.1rem;border-top:1px solid var(--border);background:#fafafa}.submit-review__back{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:2px;padding:.65rem 1rem;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.submit-review__back:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.submit-review__confirm{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;border:0;background:var(--brand-primary);color:#fff;border-radius:2px;padding:.65rem 1rem;font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.submit-review__confirm:hover{background:var(--brand-primary-dark)}
