:root{color-scheme:dark;--cream:#eee7d6;--gold:#d8be79;--ink:#162321;--line:#d9cfb325;--muted:#b9c3b9;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--cream)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}#viewport{position:fixed;inset:0;background:#c8dce2}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}header{position:fixed;top:0;left:0;right:0;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#12211acf,transparent);pointer-events:none;z-index:3}header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--cream)}.monogram{font-family:Georgia,serif;color:var(--gold);font-size:34px;letter-spacing:-5px;border-right:1px solid var(--line);padding-right:18px}.brand b{font-size:17px;letter-spacing:4px}.brand small{display:block;font-size:11px;margin-top:5px;letter-spacing:.3px;color:#ebdfbe}.header-right{display:flex;gap:10px;align-items:center}.type-pill{background:#162321cf;border:1px solid var(--line);border-radius:6px;padding:11px 14px;font-size:12px;letter-spacing:1.5px}.type-pill i{font-size:10px;font-style:normal;color:var(--gold);margin-left:13px}.icon-btn{background:#162321de;border:1px solid var(--line);width:35px;height:35px;border-radius:6px;font-size:19px}.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--gold);font-weight:bold}.room-panel{position:fixed;top:112px;left:26px;width:224px;border:1px solid var(--line);background:#14241de8;backdrop-filter:blur(14px);border-radius:10px;padding:14px;z-index:3;max-height:calc(100dvh - 260px);overflow:auto;scrollbar-width:thin}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.panel-heading .icon-btn{border:0;background:none;width:22px;height:22px}.room-btn{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;border:0;border-radius:6px;background:none;padding:11px 9px;margin:1px 0;color:#d7dfd4;font-size:12px}.room-btn:hover{background:#ffffff0a}.room-btn.selected{color:var(--gold);background:#d8be791a}.room-btn span{font-size:9px;color:#a9b9ab}.room-btn .arrow{font-size:13px}.outline-btn{border:1px solid var(--line);background:none;width:100%;padding:11px 8px;border-radius:6px;margin-top:12px;font-size:10px;display:flex;justify-content:space-between}.room-panel.collapsed #room-list,.room-panel.collapsed .outline-btn{display:none}.room-panel.collapsed .panel-heading{margin:0}.view-card{position:fixed;left:278px;bottom:141px;z-index:2;padding:18px 23px;background:#14241dd9;backdrop-filter:blur(8px);border-left:2px solid var(--gold);border-radius:0 7px 7px 0;max-width:430px;pointer-events:none}h1{font-family:Georgia,serif;font-size:27px;margin:8px 0 4px;font-weight:normal}#room-size{margin:0;color:#d4dbcf;font-size:12px}.view-card #hint{display:block;color:var(--muted);font-size:10px;margin-top:12px}.toolbar{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);display:flex;gap:6px;align-items:center;z-index:4;padding:7px;border:1px solid var(--line);border-radius:10px;background:#15241eef;box-shadow:0 5px 25px #0003;white-space:nowrap}.primary-btn,.tool-btn{border:0;border-radius:6px;padding:13px 17px;font-size:12px;min-height:44px;background:none}.primary-btn{background:var(--gold);color:#17251d;font-weight:bold;min-width:124px}.play-icon{margin-right:7px}.tool-btn{color:#dce2d6}.tool-btn:hover,.tool-btn.active{background:#ffffff0c}.tool-btn.active{color:var(--gold)}#vr-slot:empty{display:none}#vr-slot button{position:static!important;bottom:auto!important;left:auto!important;width:auto!important;background:#d8be791a!important;border:1px solid var(--gold)!important;border-radius:6px!important;padding:12px!important;opacity:1!important;font-size:11px!important;min-height:44px}footer{position:fixed;bottom:13px;left:20px;right:20px;z-index:2;text-align:center;font-size:9px;letter-spacing:.2px;color:#e5e9e1;background:#14241dab;width:fit-content;margin:auto;padding:7px 12px;border-radius:20px;pointer-events:none}.map-card{position:fixed;right:26px;bottom:139px;background:#14241ddc;border:1px solid var(--line);border-radius:9px;padding:11px;z-index:3;width:112px}#minimap{width:86px;height:157px;margin-top:7px;display:block}#minimap rect{stroke:#acb8ac;stroke-width:.17;fill:#c8ccba18}#minimap rect:hover{fill:#d8be7950;cursor:pointer}#minimap rect.active{fill:#d8be7970;stroke:var(--gold)}#minimap #map-dot{fill:#f1d68c;stroke:#18281e;stroke-width:.2}#minimap #map-direction{fill:#f1d68c;opacity:.6}#walk-pad{position:fixed;bottom:137px;left:26px;z-index:4;display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}#walk-pad button{background:#17251cce;border:1px solid var(--line);border-radius:8px;font-size:22px;touch-action:none;user-select:none}#walk-pad button:active{background:#d8be7980}#walk-pad button:first-child{grid-column:2}#walk-pad button:nth-child(2){grid-column:1;grid-row:2}#walk-pad button:nth-child(3){grid-column:2;grid-row:2}#walk-pad button:nth-child(4){grid-column:3;grid-row:2}#tour-progress{display:none;position:fixed;bottom:53px;left:calc(50% - 180px);width:360px;background:#16231fa6;border-radius:8px;height:3px;z-index:4;overflow:hidden}#tour-fill{height:100%;width:0;background:var(--gold)}body.touring #tour-progress{display:block}body.touring #walk-pad,body.overview #walk-pad{display:none}body.overview .map-card{display:none}dialog{background:#17251e;color:var(--cream);border:1px solid var(--line);border-radius:14px;padding:20px;max-width:650px;width:calc(100% - 28px);max-height:90dvh}dialog::backdrop{background:#07140ac7;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px}h2{font-family:Georgia,serif;font-size:23px;font-weight:normal;margin:7px 0 0}.close-btn{border:0;background:none;font-size:28px;width:40px;height:40px}dialog img{display:block;width:100%;height:auto}dialog li{margin:15px 0;font-size:13px;line-height:1.65}dialog ul{padding-left:21px}.note{font-size:11px;line-height:1.7;border-top:1px solid var(--line);padding-top:15px;color:var(--muted)}#toast{position:fixed;left:50%;top:100px;transform:translate(-50%,-10px);padding:12px 22px;background:#14241deb;border:1px solid var(--line);border-radius:8px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}#loading{position:fixed;inset:0;background:#15251f;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;transition:opacity .4s}#loading .monogram{border:0;font-size:68px;letter-spacing:-9px;padding:0}#loading p{font-size:12px;letter-spacing:1px;color:var(--muted)}#loading.done{opacity:0;pointer-events:none}.error-state{position:fixed;inset:0;background:#17251e;padding:10vh 9vw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:30}.error-state h1{font-size:28px}.error-state p{max-width:440px;line-height:1.7;font-size:14px}.error-state img{height:48vh;width:auto;max-width:90vw;object-fit:contain;margin:15px}.error-state a{color:var(--gold)}@media(max-width:900px){.room-panel{width:190px;left:16px;top:94px;max-height:calc(100dvh - 310px)}header{padding:18px 16px}.view-card{left:222px;bottom:138px;padding:13px 16px;max-width:300px}h1{font-size:23px}.map-card{right:16px;width:94px;padding:9px}#minimap{width:74px;height:137px}#walk-pad{left:16px}.toolbar{bottom:64px}.tool-btn{padding:13px 11px}}
@media(max-width:620px){header{padding:14px 12px}.brand b{font-size:13px;letter-spacing:3px}.brand small{font-size:8px}.monogram{font-size:28px;padding-right:13px}.header-right{gap:5px}.type-pill{font-size:9px;padding:9px}.type-pill i{display:none}.icon-btn{width:30px;height:30px}.room-panel{top:83px;left:12px;right:12px;width:auto;padding:9px 11px;max-height:130px;overflow:hidden}.panel-heading{margin-bottom:5px}.panel-heading .eyebrow{font-size:8px}#room-list{display:flex;overflow-x:auto;gap:6px;padding-bottom:3px;scrollbar-width:none}.room-btn{width:auto;white-space:nowrap;flex-shrink:0;padding:9px 11px;background:#ffffff07;font-size:11px;margin:0}.room-btn span{display:none}.outline-btn{width:auto;border:0;padding:0;margin:8px 0 2px;font-size:9px;gap:14px}.view-card{left:12px;bottom:213px;padding:11px 15px;max-width:calc(100% - 120px)}h1{font-size:21px;margin:6px 0 3px}#room-size{font-size:11px}.view-card #hint{font-size:8px;margin-top:7px}.map-card{right:12px;bottom:154px;width:88px;padding:8px}#minimap{width:70px;height:127px}.map-card .eyebrow{font-size:7px}#walk-pad{left:14px;bottom:109px;grid-template-columns:repeat(3,39px);grid-template-rows:repeat(2,39px)}.toolbar{left:12px;right:12px;bottom:42px;transform:none;padding:6px;gap:2px;justify-content:center;overflow-x:auto;max-width:100vw}.primary-btn,.tool-btn{font-size:10px;padding:12px 9px;min-width:unset}.primary-btn{min-width:97px}.play-icon{margin-right:4px}#vr-slot button{font-size:9px!important;padding:8px!important}footer{font-size:7px;bottom:8px;left:7px;right:7px;padding:5px 8px;max-width:calc(100% - 14px)}#tour-progress{bottom:36px;left:20px;right:20px;width:auto}#toast{top:225px;font-size:10px}.room-panel.collapsed{padding:10px}body.overview .view-card{bottom:105px}body.touring .view-card{bottom:158px}.dialog-head h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Full-floor navigation and finish choices. */
#unit-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 7px}.unit-btn{border:1px solid var(--line);background:#ffffff05;border-radius:6px;text-align:left;padding:10px 8px;font-size:11px;line-height:1.5}.unit-btn b{display:block;font-size:10px;color:#aebfb2;letter-spacing:.5px}.unit-btn.selected{border-color:#d8be7980;background:#d8be7919;color:var(--gold)}.unit-btn.selected b{color:#dbc996}.unit-btn:hover{background:#ffffff0d}.common-btn{display:flex;width:100%;justify-content:space-between;border:1px solid var(--line);background:none;border-radius:6px;padding:10px 9px;font-size:11px;margin-bottom:17px}.common-btn.selected{color:var(--gold);border-color:#d8be7980}.palette-picker{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.palette-picker span{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.palette-picker select{background:#22352b;color:var(--cream);border:1px solid var(--line);border-radius:5px;padding:9px 8px;font:inherit;font-size:12px;cursor:pointer}.room-panel.collapsed .palette-picker{display:none}.room-panel.collapsed{max-height:240px}.room-panel.collapsed .common-btn{margin-bottom:10px}.view-card{max-width:465px}.room-btn{font-size:13px}#minimap{height:173px}body.vr header,body.vr .room-panel,body.vr .view-card,body.vr .map-card,body.vr #walk-pad,body.vr footer{display:none}
@media(max-width:900px){.unit-btn{font-size:10px;padding:8px 6px}.view-card{max-width:340px}}
@media(max-width:620px){.room-panel{max-height:223px;padding:10px 11px;overflow:auto}.room-panel>.eyebrow{font-size:8px}#unit-list{display:flex;overflow-x:auto;scrollbar-width:none;gap:5px;margin:6px 0}.unit-btn{flex-shrink:0;min-width:118px;font-size:11px;padding:7px 10px}.unit-btn b{font-size:8px}.common-btn{margin:0 0 7px;padding:6px 4px;border:0;font-size:10px}.panel-heading{margin-bottom:4px}.room-btn{font-size:12px;padding:8px 11px}.palette-picker{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:6px;margin-top:5px;border:0;gap:5px}.palette-picker span{font-size:7px}.palette-picker select{padding:6px 8px;font-size:10px;min-width:138px}.outline-btn{margin-top:6px}.room-panel.collapsed{max-height:160px}.room-panel.collapsed .panel-heading{display:flex}.room-panel.collapsed .common-btn{margin:0}.view-card{max-width:calc(100% - 119px)}#minimap{height:142px}.toolbar{justify-content:flex-start}.primary-btn,.tool-btn{font-size:11px}.view-card #hint{font-size:9px}}

@media(max-width:360px){.brand{gap:8px}.brand b{font-size:12px;letter-spacing:2px}.type-pill{font-size:8px;letter-spacing:.5px;padding:7px}.header-right{gap:4px}}

/* Designer collection: material previews and clear presentation controls. */
:root{--ink:#1b211f;--gold:#d8bf86;--cream:#f1ece1}
#palette-cards{display:flex;flex-direction:column;gap:5px;margin-top:9px}.palette-btn{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);background:#ffffff03;border-radius:5px;text-align:left;min-height:39px}.palette-btn b{font-size:12px;font-weight:normal}.swatches{display:flex;gap:3px;flex-shrink:0}.swatches i{width:18px;height:18px;border-radius:3px}.palette-btn.selected{border-color:#d8bf8690;background:#d8bf8619;color:var(--gold)}#palette-caption{font-size:8px;letter-spacing:1px;color:var(--muted);margin:9px 0 0}.room-panel.collapsed #palette-cards,.room-panel.collapsed #palette-caption{display:none}.common-btn{font-size:13px;min-height:42px}.room-btn{font-size:14px;min-height:39px}.primary-btn,.tool-btn{font-size:13px;min-height:46px}.primary-btn{min-width:138px}#arrival-veil{position:fixed;inset:0;z-index:1;background:#d5cbb8;opacity:0;pointer-events:none}#arrival-veil.reveal{animation:arrival-reveal .48s ease-out}@keyframes arrival-reveal{from{opacity:.72}to{opacity:0}}body.showroom .room-panel,body.showroom .map-card,body.showroom .view-card,body.showroom #walk-pad,body.showroom #help-btn,body.showroom #overview-btn,body.showroom #walk-btn,body.showroom #light-btn{display:none}body.showroom .toolbar{background:#1b211fb8}body.showroom header{background:linear-gradient(#111a17a0,transparent)}body.vr .toolbar>button{display:none}
@media(min-width:901px){.room-panel{width:244px}.view-card{left:298px}footer{font-size:10px}}
@media(max-width:620px){.common-btn{font-size:12px;min-height:34px}.room-btn{font-size:13px;min-height:37px}.primary-btn,.tool-btn{font-size:12px;min-height:45px}.primary-btn{min-width:116px}#palette-cards{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:5px}.palette-btn{min-width:139px;padding:7px;gap:6px}.swatches i{width:13px;height:17px}.palette-btn b{font-size:11px}.room-panel.collapsed{max-height:180px}.palette-picker select{font-size:12px}.room-panel{max-height:230px}.palette-picker span{font-size:8px}.toolbar{gap:3px}footer{font-size:8px}#toast{top:280px}}
@media(max-height:500px){.room-panel{top:86px;max-height:calc(100dvh - 195px)}.toolbar{bottom:20px;left:16px;right:16px;transform:none;justify-content:center}.view-card,.map-card{display:none}#walk-pad{left:auto;right:16px;bottom:100px}footer{bottom:2px;font-size:8px}}

/* Full project name, sized to fit the existing header on mobile. */
.brand b{display:block;letter-spacing:2px;line-height:1.25}.brand b span{display:block}#loading h2{margin:20px 16px 0;text-align:center}
@media(max-width:620px){.brand b{font-size:12px;letter-spacing:1.5px}.type-pill{display:none}}

#viewport canvas{cursor:grab}

/* Richer finish swatches, kept readable alongside the existing room controls. */
.palette-btn{min-height:44px;background:#ffffff06;border-color:#d8bf8630}.palette-btn b{font-size:13px}.palette-btn.selected{background:#d8bf8624;border-color:#d8bf86b0}.swatches i{width:20px;height:20px;border:1px solid #ffffff20}.palette-picker span{font-size:9px}.palette-picker select{font-size:13px;min-height:36px}
@media(max-width:620px){.palette-btn{min-width:165px;min-height:42px}.palette-btn b{font-size:12px}.swatches i{width:15px;height:18px}.palette-picker select{max-width:68%;font-size:12px}.palette-picker span{font-size:8px}}

/* Recorded views keep their controls within the existing room card. */
#exterior-control{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
#exterior-control[hidden]{display:none}
#exterior-label{font-size:13px;color:var(--cream)}
#exterior-btn{pointer-events:auto;border:1px solid var(--gold);border-radius:6px;background:#d8bf8619;color:var(--gold);font-size:13px;min-height:40px;padding:8px 12px}
#exterior-btn:disabled{cursor:wait;opacity:.65}
@media(max-width:620px){#exterior-control{gap:6px;margin-top:9px}#exterior-label{font-size:12px}#exterior-btn{min-height:40px}}
@media(max-height:500px){body:not(.vr):not(.showroom) .view-card{display:block;left:298px;bottom:82px;padding:0;border:0;background:none;backdrop-filter:none;max-width:min(430px,calc(100% - 470px))}.view-card>:not(#exterior-control){display:none}#exterior-control{margin:0;padding:8px 10px;background:#14241de8;border:1px solid var(--line);border-radius:8px}}
@media(max-height:500px) and (max-width:900px){body:not(.vr):not(.showroom) .view-card{left:222px;max-width:calc(100% - 390px)}}
@media(max-height:500px) and (max-width:620px){body:not(.vr):not(.showroom) .view-card{left:12px;max-width:calc(100% - 175px)}.room-panel{max-height:max(70px,calc(100dvh - 250px))}}
