:root{--ink:#2d2825;--muted:#716a64;--line:#e9e1d8;--paper:#fffdfa;--brand:#65080f;--gold:#c09b66;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f7f3ed;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:300px;background:linear-gradient(180deg,#fffdfa,#f3eee7);min-height:100vh}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a9804a;outline-offset:3px}a{color:var(--brand)}.topbar{height:78px;padding:0 clamp(18px,5vw,76px);display:flex;align-items:center;gap:20px;border-bottom:1px solid #65080f15;background:#fffdfa}.brand{display:block;margin-right:auto}.brand-logo{display:block;width:205px;height:auto;max-height:48px;object-fit:contain}.demo-badge{display:inline-flex;align-items:center;padding:9px 13px;background:#f7dca6;border:1px solid #dfb56e;border-radius:7px;color:#6a280b;font-size:11px;font-weight:800;letter-spacing:.14em;box-shadow:0 2px 9px #a56f1520}.text-button{border:0;background:transparent;color:#70655c;padding:12px 4px;font-size:12px}.text-button span{font-size:18px;margin-left:6px}.page-shell{max-width:1430px;padding:38px 30px 20px;margin:auto}.intro{text-align:center;margin-bottom:32px}.eyebrow,.step-label,.tiny-label{font-size:10px;letter-spacing:.16em;color:#987044;font-weight:700}.intro h1{font:600 clamp(34px,4.3vw,54px)/1.13 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:11px 0 12px}.intro h1 em{color:var(--brand);font-weight:400}.intro p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.demo-note{margin:18px auto 0;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:9px 14px;border-radius:8px;background:#f5e8d4;border:1px solid #e4c99c;font-size:11px;line-height:1.5;color:#654b2e}.demo-note span{font-weight:800;font-size:10px;letter-spacing:.06em;white-space:nowrap}.configurator{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(385px,.8fr);gap:26px;align-items:start}.visual-column{min-width:0;position:sticky;top:16px}.preview-tabs{display:flex;gap:6px;background:#eae4db;padding:5px;border-radius:11px;width:max-content;max-width:100%;margin-bottom:12px}.preview-tabs button{border:0;background:transparent;padding:10px 18px;border-radius:7px;font-size:12px;color:#776e65}.preview-tabs button.is-selected{background:#fffdfa;box-shadow:0 2px 8px #5b44391a;color:var(--brand);font-weight:700}.scene{height:620px;position:relative;overflow:hidden;isolation:isolate;border-radius:18px;background:radial-gradient(ellipse at 50% 35%,#4a4e4b,transparent 70%),linear-gradient(120deg,#1b2326,#353d3e 55%,#162024);box-shadow:0 18px 40px #26211d20}.scene:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 16.5%,#e1ddce07 16.55% 16.7%,transparent 16.75% 33.3%);pointer-events:none}.scene:after{content:"";position:absolute;bottom:0;left:0;right:0;height:14%;background:linear-gradient(#19202305,#0a131980);border-top:1px solid #e0d1b90c;z-index:-1}.wall-line{width:2px;position:absolute;top:21%;bottom:24%;background:linear-gradient(transparent,#e3c59b55,transparent);box-shadow:0 0 14px #e3c59b33}.line-left{left:12%}.line-right{right:12%}.scene-topline{position:absolute;z-index:2;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.live-pill{background:#111b1caa;color:#f1e9dc;border:1px solid #ffffff24;border-radius:30px;padding:8px 10px;font-size:9px;letter-spacing:.09em;display:flex;align-items:center;gap:7px}.live-pill i{width:6px;height:6px;border-radius:50%;background:#b3c7a1;box-shadow:0 0 5px #b3c7a1}.scene-caption{color:#e5e6e1b0;font-size:10px}.mirror-anchor{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:1}.mirror-anchor canvas{display:block;width:100%;height:100%;transition:filter .2s}.size-badge{position:absolute;bottom:-34px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#fff5e8;font-size:11px;letter-spacing:.06em;background:#10191bb8;padding:6px 10px;border-radius:30px;border:1px solid #ffffff2b}.scene-bottomline{position:absolute;z-index:2;bottom:17px;left:20px;right:20px;display:flex;align-items:center;gap:9px;color:#eee7dc99;font-size:9px;letter-spacing:.03em}.scene-bottomline>span:first-child{color:#e4bd7e;font-weight:800;letter-spacing:.12em}.scene-divider{width:20px;height:1px;background:#ffffff4d}.reference-photo{display:block;width:100%;height:100%;padding:62px 25px 48px;object-fit:contain;position:absolute;inset:0;z-index:1}.photo-mode{background:#202625}.photo-mode .wall-line{display:none}.preview-status{min-height:16px;line-height:1.45;margin:10px 2px 0;color:#71695f;font-size:11px}.preview-status.has-error{padding:10px;background:#fff1e5;border:1px solid #e3b58a;border-radius:7px;color:#85421c}.preview-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 3px 0}.preview-footer>div:first-child{display:flex;flex-direction:column;gap:6px;min-width:0}.preview-footer strong{font-size:21px;font-weight:500;overflow-wrap:anywhere}.tiny-label{font-size:9px;color:#968577}.selection-summary{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;font-size:11px;color:#827568;text-align:right}.trust-note{font-size:11px;line-height:1.6;color:#807369;border-top:1px solid var(--line);margin-top:20px;padding:15px 3px}.control-panel{min-width:0;border:1px solid #e9dfd3;background:#fffefd;border-radius:18px;padding:24px;box-shadow:0 9px 30px #3b251209}.panel-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;border-bottom:1px solid var(--line);padding-bottom:20px}.panel-heading h2{font-size:23px;font-weight:600;letter-spacing:-.04em;line-height:1.16;margin:8px 0 0}.panel-count{font-size:10px;color:#746959;border:1px solid #e5d9ca;background:#fffaf3;border-radius:30px;padding:7px 9px;white-space:nowrap}.control-section{padding:21px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:700;line-height:1.5;margin:0 0 13px}.selected-name,.section-hint{color:#956f49;font-size:10px;font-weight:500;text-align:right}.selected-name{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-search{display:block;width:100%;height:41px;padding:0 12px;border:1px solid #dfd7cc;border-radius:8px;background:#fbf8f3;font-size:12px;margin-bottom:12px;color:var(--ink)}.model-search::placeholder{color:#958b80}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:342px;overflow-y:auto;overflow-x:hidden;padding:2px 3px 3px 2px;scrollbar-width:thin;scrollbar-color:#c5b49e #f6f1e9;overscroll-behavior:contain}.model-card{min-width:0;padding:0;background:#fff;border:1px solid #e7dfd6;border-radius:9px;overflow:hidden;text-align:left;transition:border-color .15s,box-shadow .15s}.model-card:hover{border-color:#b79b7a}.model-card.is-selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.model-photo{height:95px;position:relative;display:block;background:#e4dfd6;overflow:hidden}.model-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.checkmark{display:none;position:absolute;top:6px;right:6px;background:#fff8eb;color:var(--brand);height:19px;width:19px;border-radius:50%;font-size:12px;font-weight:bold;align-items:center;justify-content:center;box-shadow:0 1px 5px #0003}.is-selected .checkmark{display:flex}.model-label{display:block;padding:9px 7px 3px;font-size:11px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.model-subtitle{display:block;padding:0 7px 9px;color:#8a7d6d;font-size:9px;line-height:1.35;overflow-wrap:anywhere}.photo-placeholder,.missing-photo:after{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:#8a7b68}.missing-photo:after{content:"Görsel yüklenemedi"}.empty-search{font-size:12px;color:#7f6b58;text-align:center;padding:20px 0}.dimension-fields{display:grid;grid-template-columns:minmax(0,1fr) 17px minmax(0,1fr);align-items:end;gap:9px}.dimension-field{min-width:0;display:block;font-size:11px;color:#837566}.dimension-field>span:first-child{display:block;margin-bottom:7px}.dimension-input{height:44px;display:flex;align-items:center;gap:7px;border:1px solid #ded5c9;background:#fffdf9;border-radius:9px;padding:0 11px}.dimension-input:focus-within{border-color:#89513c;box-shadow:0 0 0 3px #65080f0c}.dimension-input input{min-width:0;width:100%;border:0;outline:none!important;background:transparent;font-size:16px;font-weight:600;color:#3c3028;padding:8px 0}.dimension-input b{font-size:10px;font-weight:400;color:#9d8e7c}.dimension-cross{padding-bottom:14px;text-align:center;color:#b7a58e;font-size:14px}.range-wrap{display:grid;grid-template-columns:56px minmax(0,1fr) 53px;align-items:center;gap:9px;margin-top:17px;font-size:10px;color:#857361}.range-wrap>span:last-child{text-align:right;white-space:nowrap;color:#5c4a3a}.range-wrap input{width:100%;margin:0;accent-color:var(--brand);cursor:pointer}.micro-copy{font-size:10px;line-height:1.55;color:#8b7c6b;margin:12px 0 0}.input-message{font-size:11px;line-height:1.4;margin:7px 0 0;color:#8c4c24;min-height:0}.input-message:empty{display:none}.led-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.led-option{min-height:46px;border:1px solid #dfd5c9;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 5px;font-size:11px;color:#665746}.led-option.is-selected,.button-option.is-selected{border-color:var(--brand);background:#fff8f2;box-shadow:0 0 0 1px var(--brand);color:var(--brand)}.swatch{width:17px;height:17px;border-radius:50%;border:1px solid #00000012;box-shadow:inset 0 0 4px #fff8}.cool{background:#e6f3ff}.neutral{background:#fff0c8}.warm{background:#ffc689}.light-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;padding-top:15px;border-top:1px dashed #e9dfd4}.light-toggle-row>div{display:flex;flex-direction:column;gap:5px}.light-toggle-row strong{font-size:11px;font-weight:600}.light-toggle-row span{font-size:10px;color:#96826c}.toggle{width:42px;height:24px;flex:0 0 42px;border:0;border-radius:30px;background:#c7bcae;padding:3px;display:flex;align-items:center;transition:background .2s}.toggle i{width:18px;height:18px;display:block;border-radius:50%;background:#fffdfa;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle.is-on{background:var(--brand)}.toggle.is-on i{transform:translateX(18px)}.button-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.button-option{min-height:47px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2d8cb;border-radius:8px;background:#fff;font-size:11px;color:#675645}.button-symbol{width:24px;flex:0 0 24px;text-align:center;font-size:21px;font-family:Arial,sans-serif;line-height:1}.touch-symbol{font-size:20px}.feature-options{display:flex;flex-wrap:wrap;gap:12px}.feature-options label{display:flex;align-items:center;gap:8px;min-height:40px;font-size:12px;cursor:pointer}.feature-options input{width:18px;height:18px;accent-color:var(--brand)}.offer-card{display:flex;gap:13px;padding:16px 14px;background:linear-gradient(110deg,#fff7eb,#f1e5d5);border:1px solid #e5d0b3;border-radius:11px;margin:23px 0 12px;align-items:center}.offer-icon{display:grid;place-items:center;width:37px;height:37px;flex:0 0 37px;border-radius:9px;background:var(--brand);color:#fff2dc;font-size:21px}.offer-card>div{display:flex;flex-direction:column;gap:5px;min-width:0}.offer-card>div>span{font-size:9px;letter-spacing:.1em;color:#9a7953;font-weight:700}.offer-card strong{font-size:23px;color:var(--brand);line-height:1.15}.offer-card small{font-size:10px;line-height:1.5;color:#8a7052}.primary-button,.secondary-button{width:100%;min-height:48px;border-radius:9px;padding:13px 18px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:15px;text-decoration:none}.primary-button{border:1px solid #5e070d;background:linear-gradient(130deg,#7b1018,#59050b);color:#fff8ed;box-shadow:0 7px 19px #65080f22}.primary-button:hover:not(:disabled){background:#7e1720;box-shadow:0 9px 23px #65080f30}.primary-button span{font-size:20px;font-weight:400}.secondary-button{background:#fffdf8;color:#6f5236;border:1px solid #ddc9ad}.secondary-button:hover{background:#fbf1e3}.fine-print{font-size:10px;line-height:1.5;text-align:center;color:#a08b73;margin:11px 0 0}.page-footer{display:flex;justify-content:space-between;gap:12px;margin-top:38px;padding:18px 1px 0;border-top:1px solid #e3d6c4;font-size:10px;color:#9d8b76}.page-footer>span{letter-spacing:.13em}.page-footer a{color:#877158;text-decoration:none}.load-state{background:#fffaf2;border:1px solid #e7d4b8;border-radius:12px;padding:30px;max-width:680px;margin:45px auto;text-align:center;color:#806344;font-size:14px;line-height:1.6}.load-state .secondary-button{width:auto;margin:20px auto 0}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#142024b3;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;overscroll-behavior:contain}.summary-modal{position:relative;width:min(510px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #e7d3b9;background:#fffdfa;border-radius:17px;padding:30px;box-shadow:0 28px 90px #0005}.modal-close{position:absolute;top:13px;right:13px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #e4d6c4;background:#faf2e8;color:#6f563c;font-size:24px}.summary-modal .step-label{display:block;margin-right:28px;line-height:1.6}.summary-modal h2{font-size:29px;letter-spacing:-.045em;margin:13px 0 10px}.modal-copy{font-size:12px;color:#8a765f;line-height:1.6;margin:0 0 19px}.modal-preview{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:12px;border:1px solid #e5d5bf;background:#f9f1e7;border-radius:10px}.modal-preview img{width:112px;height:145px;object-fit:contain;border-radius:6px;background:#20292d}.modal-preview>div{display:flex;flex-direction:column;gap:9px;min-width:0}.modal-preview strong{font-size:17px;line-height:1.3;overflow-wrap:anywhere}.modal-preview span{font-size:11px;color:#8b7155;line-height:1.6}.quote-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:21px 0;font-size:12px;color:#8d7153}.quote-row strong{font-size:20px;color:var(--brand);text-align:right}.summary-modal .secondary-button{margin-top:9px}.copy-status{min-height:16px;margin:12px 0 0;line-height:1.5;text-align:center;color:#7a654c;font-size:11px}
@media(min-width:1450px){.scene{height:690px}}
@media(max-width:1050px){.configurator{grid-template-columns:minmax(0,1fr) minmax(345px,.9fr);gap:18px}.control-panel{padding:20px}.page-shell{padding-left:22px;padding-right:22px}.scene{height:550px}.scene-caption{display:none}.model-photo{height:82px}.panel-heading h2{font-size:21px}.preview-footer{align-items:flex-start}.selection-summary{font-size:10px}}
@media(max-width:780px){.topbar{height:65px;padding:0 18px;gap:13px}.brand-logo{width:168px}.demo-badge{padding:7px 9px;font-size:9px}.text-button{font-size:11px}.page-shell{padding:24px 16px 20px}.intro{margin-bottom:24px}.intro h1{font-size:39px}.intro p{font-size:12px}.demo-note{font-size:10px;gap:7px;padding:8px 10px}.demo-note span{font-size:9px}.configurator{grid-template-columns:minmax(0,1fr);gap:18px}.visual-column{position:relative;top:auto}.scene{height:440px}.scene-caption{display:block}.preview-tabs{margin-bottom:10px}.preview-footer strong{font-size:18px}.trust-note{margin-top:13px;padding:11px 2px}.control-panel{padding:22px}.model-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:320px}.model-photo{height:108px}.model-label{font-size:12px}.model-subtitle{font-size:9px}.panel-heading h2{font-size:24px}.control-section{padding:22px 0}.section-title{font-size:13px}.led-option,.button-option{font-size:13px;min-height:49px}.button-option-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.button-option{flex-direction:column;justify-content:center;font-size:11px;padding:12px 4px;gap:8px}.fine-print{font-size:11px}.primary-button,.secondary-button{font-size:13px}.micro-copy{font-size:11px}.range-wrap{font-size:11px;grid-template-columns:65px minmax(0,1fr) 60px}.range-wrap input{height:26px}.light-toggle-row strong{font-size:13px}.light-toggle-row span{font-size:11px}}
@media(max-width:520px){.topbar{height:61px;padding:0 13px;gap:10px}.brand-logo{width:139px}.demo-badge{font-size:9px;padding:6px 8px}.text-button{font-size:10px;padding:10px 0;max-width:90px}.text-button span{margin-left:1px;font-size:15px}.page-shell{padding:22px 12px 18px}.intro .eyebrow{font-size:9px}.intro h1{font-size:35px;margin:9px 0}.intro p{font-size:11px}.demo-note{display:flex;flex-direction:column;gap:3px;max-width:350px;margin-top:14px;font-size:10px}.demo-note span{font-size:10px}.scene{height:355px;border-radius:13px}.scene-topline{top:13px;left:13px;right:13px}.live-pill{font-size:8px;padding:7px 8px}.scene-caption{font-size:9px}.scene-bottomline{left:12px;right:12px;bottom:12px;font-size:8px;gap:7px}.scene-divider{width:12px}.preview-tabs{width:100%;padding:4px}.preview-tabs button{flex:1;padding:10px;font-size:11px}.preview-footer{gap:10px}.preview-footer strong{font-size:17px}.selection-summary{max-width:45%;font-size:10px}.trust-note{font-size:10px;margin-bottom:0}.control-panel{border-radius:13px;padding:18px 15px}.panel-heading{padding-bottom:17px}.panel-heading h2{font-size:22px}.step-label{font-size:9px}.model-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:327px}.model-photo{height:93px}.model-label{font-size:11px;padding-top:8px}.model-subtitle{font-size:8px}.section-title{font-size:12px}.section-hint{font-size:9px}.model-search{font-size:16px}.dimension-input input{font-size:18px}.led-option{font-size:11px}.button-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-option{flex-direction:row;justify-content:flex-start;font-size:11px;padding:10px;gap:10px}.offer-card strong{font-size:24px}.offer-card small{font-size:10px}.modal-backdrop{padding:12px}.summary-modal{padding:25px 18px;max-height:calc(100dvh - 24px)}.modal-preview{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:10px}.modal-preview img{width:92px;height:125px}.modal-preview strong{font-size:16px}.quote-row strong{font-size:18px}.page-footer{margin-top:25px}.load-state{font-size:12px;padding:24px 18px}}
@media(max-width:340px){.brand-logo{width:119px}.topbar{gap:7px}.scene{height:315px}.scene-caption{display:none}.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-summary{display:none}.intro h1{font-size:31px}.panel-heading h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.aspect-note{display:flex;align-items:center;gap:7px;margin:14px 0 0;padding:9px 11px;color:#72502d;border:1px solid #ead8bf;background:#fcf5e9;border-radius:7px;font-size:11px;line-height:1.5}.aspect-note span{font-size:18px}.retry-drawing{border:1px solid #ddc9ad;background:#fff8ed;border-radius:7px;margin:7px 0;padding:10px 14px;font-size:12px;color:#6a381d}.mobile-preview{display:none}.model-card:focus-visible{outline-offset:-4px}.range-wrap{grid-template-columns:56px minmax(0,1fr) 73px}.model-photo img{object-fit:contain;background:#e7e1d9}.quote-row strong{overflow-wrap:anywhere}.offer-card strong{overflow-wrap:anywhere}.preview-tabs button{min-height:42px}
@media(max-width:780px){.range-wrap{grid-template-columns:60px minmax(0,1fr) 79px}.page-footer{padding-bottom:66px}.preview-away:not(.modal-open):not(.admin-preview) .mobile-preview{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:20;align-items:center;justify-content:space-between;gap:24px;width:min(310px,calc(100% - 32px));padding:12px 18px;border:1px solid #a36c50;border-radius:12px;background:#65080ff5;color:#fff7eb;box-shadow:0 8px 25px #2d171c44;text-align:left}.mobile-preview>span:first-child{display:flex;flex-direction:column;gap:4px}.mobile-preview b{font-size:12px}.mobile-preview small{font-size:10px;font-weight:400;color:#f2dcc4}.mobile-preview>span:last-child{font-size:23px}.dimension-input{padding:0 8px;gap:4px}}
.admin-preview .topbar,.admin-preview .intro,.admin-preview .page-footer,.admin-preview .trust-note,.admin-preview .model-section,.admin-preview .panel-heading,.admin-preview .offer-card,.admin-preview #openSummary,.admin-preview .fine-print{display:none}.admin-preview .page-shell{padding:12px}.admin-preview .configurator{grid-template-columns:minmax(0,1fr);gap:12px}.admin-preview .visual-column{position:static}.admin-preview .scene{height:400px}.admin-preview .control-panel{padding:0 15px}.admin-preview .control-section{padding:16px 0}.admin-preview .preview-footer{padding-bottom:8px}.admin-preview .model-grid{display:none}

.scale-reference{position:absolute;bottom:45px;left:20px;display:grid;gap:5px;color:#eee4d2;font-size:9px;pointer-events:none;z-index:2}.scale-reference>span{display:block;height:6px;border:1px solid #eee4d2;border-top:0}.scale-reference b{font-weight:400;text-align:center}.photo-mode .scale-reference{display:none}@media(max-width:540px){.scale-reference{left:12px;bottom:39px;font-size:8px}}

/* The room photograph stays fixed while the mirror changes physical size. */
.scene{background-color:#b2a28c;background-image:var(--room-background,none);background-position:center;background-size:cover}
.scene:before{background:linear-gradient(180deg,#21180b26,transparent 18%,transparent 80%,#241a1040)}
.scene:after{display:none}
.mirror-anchor{top:44%}
.live-pill{background:#30291ed6;color:#fff8ee;border-color:#ffffff30}
.scene-caption{color:#fff9ed;background:#30291e99;border-radius:20px;padding:6px 9px}
.scene-bottomline{color:#fff5e8;text-shadow:0 1px 3px #21190d}
.scene-bottomline>span:first-child{color:#ffe1ab}
.scale-reference{color:#fff8e9;text-shadow:0 1px 3px #21190d;background:#352a1c80;border-radius:5px;padding:6px}
.scale-reference>span{border-color:#fff8e9}
.size-badge{background:#30291ed9;border-color:#f7ead14d;bottom:-30px;font-size:10px}
.photo-mode{background-image:none;background-color:#202625}
.material-detail{display:flex;align-items:center;gap:22px;margin-top:20px;padding:18px 22px;background:#fffdf9;border:1px solid #e8ddcf;border-radius:16px}
.material-detail canvas{display:block;flex:0 0 112px;width:112px;height:112px;border-radius:50%;border:1px solid #d5c3a8;box-shadow:0 5px 15px #463a2414;background:#b4a792}
.material-detail h3{font:400 24px Georgia,serif;color:#65080f;margin:8px 0}
.material-detail p{max-width:340px;font-size:12px;line-height:1.7;color:#807365;margin:0}
.admin-preview .material-detail{display:none}
@media(max-width:520px){.material-detail{gap:14px;padding:14px;margin-top:14px}.material-detail canvas{flex-basis:82px;width:82px;height:82px}.material-detail h3{font-size:20px}.material-detail p{font-size:10px;line-height:1.6}.material-detail .tiny-label{font-size:8px}.scene-caption{font-size:8px}.scale-reference{bottom:38px;padding:4px}.size-badge{font-size:9px;bottom:-27px}}
.environment-picker{margin-bottom:14px;padding:16px 18px;border:1px solid #e3d7c8;border-radius:13px;background:#fffdf9}
.environment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.environment-options button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 6px;border:1px solid #ded4c6;background:#fffdf9;color:#6c5d4c;border-radius:9px;font-size:12px}
.environment-options button>span{font-size:19px;line-height:1}
.environment-options button.is-selected{background:#65080f;color:#fff8e9;border-color:#65080f;box-shadow:0 3px 10px #65080f20}
.environment-picker p{font-size:11px;line-height:1.5;color:#82715e;margin:10px 0 0;min-height:17px}
.environment-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.photo-mode .environment-canvas{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.preview-status:empty{display:none}
@media(max-width:780px){
  :root{--preview-height:clamp(110px,38svh,330px)}
  .configurator{display:block}
  .visual-column{position:sticky;top:0;z-index:20;background:#f7f3ed;padding:6px 0 10px;border-bottom:1px solid #ded4c7;box-shadow:0 7px 12px #30241912}
  .visual-column .scene{height:var(--preview-height);border-radius:12px}
  .visual-column .mirror-anchor{top:48%}
  .visual-column .reference-photo{padding:0;object-fit:contain}
  .visual-column .photo-mode .scene-topline{display:none}
  .visual-column .preview-tabs{margin:0 0 5px;width:100%;padding:3px}
  .visual-column .preview-tabs button{min-height:36px;padding:7px 12px}
  .visual-column .preview-footer{padding:7px 3px 0;gap:8px}
  .visual-column .preview-footer strong{font-size:14px;line-height:18px}
  .visual-column .preview-footer .tiny-label,.visual-column .selection-summary,.visual-column .material-detail,.visual-column .scene-bottomline,.visual-column .scene-caption,.visual-column .scale-reference{display:none}
  .visual-column .scene-topline{top:9px;left:10px}
  .visual-column .live-pill{font-size:7px;padding:5px 7px}
  .visual-column .size-badge{bottom:-24px;font-size:9px;padding:4px 7px}
  .control-panel{margin-top:16px}
  .control-panel input,.control-panel button,.control-section{scroll-margin-top:calc(var(--preview-height) + 100px)}
  .page-footer{padding-bottom:16px}
  .admin-preview .visual-column{position:static;box-shadow:none}
}
.scene[data-environment="dark"]:before{display:none}
@media(max-width:520px){.environment-picker{padding:12px;margin-bottom:12px}.environment-options{gap:6px}.environment-options button{font-size:11px;gap:5px;padding:9px 4px}.environment-options button>span{font-size:16px}.environment-picker p{font-size:10px}}

/* Viewport workbench: only the options column scrolls. */
html{height:100%;overflow:hidden}body{height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.topbar{height:64px;min-height:64px}.page-shell{width:100%;flex:1;min-height:0;margin:0 auto;padding:14px 24px 18px;display:flex;flex-direction:column}.intro{margin:0 0 14px}.intro h1{font-size:32px;margin:0}.intro .eyebrow,.intro p,.page-footer{display:none}
.configurator{flex:1;min-height:0;align-items:stretch;overflow:hidden;gap:22px}.visual-column{position:relative;top:auto;min-height:0;display:flex;flex-direction:column;padding:0;background:transparent;border:0;box-shadow:none}
.visual-column .scene{height:auto;min-height:70px;flex:1}.preview-tabs{flex-shrink:0;margin:0 0 8px}.visual-column .preview-footer{flex-shrink:0;padding-top:8px}.preview-footer strong{font-size:17px}.control-panel{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#baa78e transparent;margin:0;scroll-behavior:auto;scroll-padding:14px;padding:22px}
.control-panel input,.control-panel button,.control-section{scroll-margin:16px}.control-panel .material-detail{display:flex;margin-top:20px}.control-panel .material-detail canvas{width:90px;height:90px}.model-grid{max-height:320px;overscroll-behavior:auto}.mirror-anchor{touch-action:none;cursor:grab;user-select:none}.mirror-anchor.is-dragging{cursor:grabbing}.view-tools{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:9px 0 0;justify-content:center}.view-tools button{min-width:36px;min-height:36px;border:1px solid #dfd4c5;border-radius:8px;background:#fffdfa;color:#65080f;font-size:17px;touch-action:manipulation}.view-tools button:active{background:#f1e5d3}.zoom-tools,.position-tools{display:flex;align-items:center;gap:4px}.zoom-tools output{font-size:11px;min-width:43px;text-align:center;font-variant-numeric:tabular-nums}#resetView{font-size:11px;padding:0 10px}.button-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.button-model-card{padding:0;overflow:hidden;border:1px solid #e1d7c9;border-radius:10px;background:#fffdfa;color:#433428}.button-model-card>span{height:70px;display:grid;place-items:center;background:#383631}.button-model-card img{width:40px;height:40px;object-fit:contain}.button-model-card b{display:block;padding:10px 4px;font-size:11px}.button-model-card.is-selected{border-color:#65080f;box-shadow:0 0 0 1px #65080f}.feature-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(max-width:780px){.topbar{height:48px;min-height:48px;padding:0 12px;gap:10px}.brand-logo{width:125px}.demo-badge{padding:5px 7px;font-size:9px}.text-button{font-size:10px;padding:8px 0}.page-shell{padding:6px 8px max(5px,env(safe-area-inset-bottom))}.intro{display:none}.configurator{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,46%) minmax(0,1fr);gap:9px}.visual-column{z-index:1}.visual-column .scene{height:auto;border-radius:10px}.visual-column .preview-tabs{width:100%;margin:0 0 5px;padding:2px}.visual-column .preview-tabs button{min-height:30px;padding:5px 12px}.view-tools{padding-top:5px;gap:5px}.view-tools button{min-width:32px;min-height:32px}.zoom-tools,.position-tools{gap:3px}.zoom-tools output{min-width:37px}.visual-column .preview-footer{display:none}.preview-status{font-size:10px;margin:4px 2px 0}.control-panel{padding:16px;border-radius:12px}.control-panel .material-detail{display:flex}.panel-heading h2{font-size:19px}.model-photo{height:110px}.feature-options{grid-template-columns:1fr}.control-panel input,.control-panel button,.control-section{scroll-margin:12px}}
@media(max-height:500px) and (min-width:600px){.topbar{height:42px;min-height:42px}.intro{display:none}.page-shell{padding:6px 10px}.configurator{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);grid-template-rows:minmax(0,1fr);gap:10px}.view-tools{gap:5px}.view-tools button{min-width:30px;min-height:30px}.visual-column .preview-footer{display:none}}
.admin-preview .page-shell{padding:8px}.admin-preview .configurator{min-height:0}.admin-preview .visual-column{min-height:0}

/* The title shares the brand bar; camera zoom applies to the entire room. */
.topbar{position:relative;display:grid;grid-template-columns:1fr auto auto;gap:18px;padding:0 24px}.brand{margin:0;justify-self:start}.header-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;font:600 29px/1.1 Georgia,serif;white-space:nowrap;letter-spacing:-.03em}.header-title em{font-weight:400;color:#65080f}.page-shell{padding-top:10px;padding-left:16px;padding-right:16px}.configurator{grid-template-columns:minmax(0,1.5fr) minmax(370px,.8fr);gap:18px}.swatch.warm{background:#e7ad23}.scene{background:#211b15!important}.scene::before,.scene::after{display:none!important}.camera-label{font-size:11px;min-width:48px;text-align:center}.zoom-tools output.sr-only{min-width:0}.admin-preview .header-title{display:none}
@media(max-width:780px){.topbar{padding:0 9px;grid-template-columns:90px 1fr 38px;height:56px;min-height:56px;gap:4px}.brand-logo{width:88px}.header-title{font-size:18px;left:50%;max-width:55%;white-space:normal;text-align:center}.topbar .demo-badge{display:none}.topbar .text-button{grid-column:3;font-size:0;width:36px}.topbar .text-button span{font-size:24px;margin:0}.page-shell{padding:5px 6px}.configurator{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,54%) minmax(0,1fr);gap:8px}.camera-label{font-size:10px;min-width:44px}.visual-column .scene{min-height:80px}.view-tools{gap:5px}}
@media(max-height:500px) and (min-width:600px){.topbar{height:42px;min-height:42px}.configurator{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);grid-template-rows:minmax(0,1fr)}}
@media(max-width:360px){.brand-logo{width:72px}.header-title{font-size:16px}}

/* Loading feedback must never change the camera viewport or its physical scale. */
.preview-feedback{position:absolute;z-index:4;left:16px;right:16px;bottom:50px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.preview-feedback .preview-status{margin:0;min-height:0;max-width:100%;padding:7px 12px;border:1px solid #ffffff30;border-radius:8px;background:#24201be8;color:#fff7e9;font-size:11px;line-height:1.4;box-shadow:0 3px 12px #0002}.preview-feedback .preview-status.has-error{background:#fff1e5;color:#85421c;border-color:#e3b58a}.preview-feedback .retry-drawing{pointer-events:auto;margin:0;background:#fffdfa;padding:7px 12px}#viewTools[hidden]{display:flex!important;visibility:hidden;pointer-events:none}.visual-column .preview-footer{height:44px;min-height:44px;max-height:44px;overflow:hidden;align-items:center}.preview-footer strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preview-footer>div:first-child{flex:1}.preview-footer .selection-summary{flex-wrap:nowrap;white-space:nowrap;min-width:0;max-width:50%;overflow:hidden}.preview-footer .selection-summary span{overflow:hidden;text-overflow:ellipsis}
/* Balanced header columns keep the title centered without overlapping the logo or actions. */
.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:20px}.header-title{position:static;transform:none;max-width:none;margin:0;text-align:center;font:500 clamp(22px,2vw,28px)/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.02em;color:#65080f;white-space:nowrap}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0;justify-self:end}.header-actions .text-button{white-space:nowrap;max-width:none}.brand-logo{max-width:100%}
@media(max-width:1050px) and (min-width:781px){.topbar{column-gap:12px;padding:0 18px}.brand-logo{width:175px}.header-title{font-size:23px}.header-actions{gap:10px}.header-actions .demo-badge{font-size:9px;padding:6px 8px}.header-actions .text-button{font-size:11px}}
@media(max-width:780px){.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:0 12px}.header-title{font-size:18px;line-height:1.2;letter-spacing:-.025em;max-width:none}.header-actions{gap:0}.header-actions .text-button{width:36px;height:36px;padding:0;border:1px solid #e9e1d8;border-radius:50%;display:grid;place-items:center}.header-actions .text-button span{font-size:21px}.preview-feedback{left:9px;right:9px;bottom:12px}.preview-feedback .preview-status{font-size:10px;padding:6px 9px}.visual-column .preview-footer{display:none}}
@media(max-width:360px){.topbar{padding:0 8px;gap:6px}.brand-logo{width:72px}.header-title{font-size:16px}.header-actions .text-button{width:32px;height:32px}}
