:root{--bg:#f6f3ee;--panel:#fbf9f6;--ink:#1d1a17;--muted:#7a726a;--line:#e4ddd3;--accent:#8c5a2e;--accent-ink:#fff;--chip:#efe9e0;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}.app{grid-template-columns:minmax(0,1fr) 420px;height:100%;display:grid}.stage{min-height:0;position:relative;overflow:hidden}.stage canvas{touch-action:none;display:block}.brand{pointer-events:none;flex-direction:column;display:flex;position:absolute;top:24px;left:28px}.brand-mark{font:600 30px/1 var(--serif);letter-spacing:.02em}.brand-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:12px}.mood-evening .brand{color:#f3eee7}.mood-evening .brand-sub{color:#b7aea3}.mood,.views{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border-radius:999px;gap:4px;padding:4px;display:flex;position:absolute;box-shadow:0 6px 24px #1e140a14}.mood{top:24px;right:24px}.views{bottom:24px;left:50%;transform:translate(-50%)}.mood button,.views button{white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:500}.mood button.on,.views button.on{background:var(--ink);color:#fff}.mood-evening .mood,.mood-evening .views{color:#eee;background:#1e2026b3}.mood-evening .mood button.on,.mood-evening .views button.on{color:var(--ink);background:#f3eee7}.loader{background:var(--bg);font:500 22px var(--serif);letter-spacing:.04em;place-items:center;transition:opacity .6s .2s;display:grid;position:absolute;inset:0}.loader.done{opacity:0;pointer-events:none}.panel{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.panel-scroll{flex:1;padding:24px 28px 8px;overflow-y:auto}.models{grid-template-columns:1fr 1fr;gap:10px;display:grid}.model{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;display:flex}.model:hover{border-color:#cfc5b8}.model.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.model-name{font:600 24px/1.1 var(--serif)}.model-sub{color:var(--muted);font-size:12px;line-height:1.35}.model-price{margin-top:8px;font-size:13px;font-weight:600}.lead{color:#4d463f;margin:18px 0 4px}.section{border-bottom:1px solid var(--line);padding:18px 0}.section:last-child{border-bottom:0}.section header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.section h3{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.section .value{color:var(--muted);font-size:13px}.segmented{background:var(--chip);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented+.swatches{margin-top:12px}.segmented button{background:0 0;border:0;border-radius:9px;flex:1;padding:9px 8px;font-size:13px;font-weight:500}.segmented button.on{background:#fff;box-shadow:0 1px 4px #1e140a1f}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatches button{background:0 0;border:1px solid #0000;border-radius:50%;width:44px;height:44px;padding:3px}.swatches button span{border-radius:50%;width:100%;height:100%;display:block;box-shadow:inset 0 0 0 1px #0000001f,inset 0 -6px 10px #0000002e}.swatches button.on{border-color:var(--ink)}.choices{gap:8px;display:grid}.choice{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.choice.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.choice strong{font-weight:600;display:block}.choice small{color:var(--muted)}.choice em{color:var(--muted);white-space:nowrap;font-size:13px;font-style:normal}.toggle{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.toggle input{opacity:0;position:absolute}.toggle .track{background:#d8d0c5;border-radius:12px;flex:none;width:40px;height:24px;transition:background .2s;position:relative}.toggle .track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle input:checked+.track{background:var(--ink)}.toggle input:checked+.track:after{transform:translate(16px)}.toggle input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.toggle small{color:var(--muted);display:block}.specs{gap:8px;margin:0;display:grid}.specs div{justify-content:space-between;gap:16px;display:flex}.specs dt{color:var(--muted)}.specs dd{text-align:right;margin:0;font-weight:500}.lines{gap:6px;margin:0;padding:0;list-style:none;display:grid}.lines li{justify-content:space-between;gap:16px;display:flex}.lines li span:last-child{white-space:nowrap;font-weight:500}.summary{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px 20px;display:flex}.summary>div{flex-direction:column;display:flex}.summary-label{color:var(--muted);font-size:12px}.summary-total{font:600 28px/1.1 var(--serif)}.cta{background:var(--ink);color:#fff;white-space:nowrap;border:0;border-radius:12px;padding:14px 22px;font-weight:600;transition:background .2s}.cta:hover{background:var(--accent)}.ghost{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 20px}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dialog{border:0;border-radius:18px;width:min(440px,100vw - 32px);padding:0;box-shadow:0 30px 80px #140c044d}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14100c73}.dialog form{gap:14px;padding:28px;display:grid}.dialog h2{font:600 28px/1.1 var(--serif);margin:0}.dialog .muted{color:var(--muted);margin:-6px 0 4px}.dialog label{gap:6px;font-size:13px;font-weight:500;display:grid}.dialog input,.dialog textarea{font:inherit;border:1px solid var(--line);resize:vertical;background:#fff;border-radius:10px;padding:11px 12px}.dialog input:focus,.dialog textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.dialog .ok{color:#2f6b3a;margin:0}.dialog .err{color:#a3322a;margin:0}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (width<=900px){.app{grid-template-rows:56vh minmax(0,1fr);grid-template-columns:1fr}.panel{border-left:0;border-top:1px solid var(--line)}.panel-scroll{padding:18px 16px 8px}.summary{padding:12px 16px 16px}.brand{top:16px;left:16px}.brand-mark{font-size:24px}.mood{top:14px;right:14px}.views{max-width:calc(100% - 32px);bottom:14px;overflow-x:auto}.views button{padding:7px 12px}}
