
:root{font-family:Arial,Helvetica,sans-serif;color:#233029;background:#e7e8e1}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block;touch-action:none}button,a{font:inherit}button{cursor:pointer;border:1px solid #d0d6cb;background:#fafbf6;color:#26382c;padding:11px 15px;border-radius:8px}button:hover,button[aria-pressed=true]{background:#294b3c;color:white;border-color:#294b3c}button:focus-visible,a:focus-visible{outline:3px solid #dfa648;outline-offset:3px}header{position:absolute;z-index:2;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}header>div{background:#fbfcf5ed;border:1px solid #ffffff;border-radius:12px;padding:16px 20px;box-shadow:0 6px 32px #21322212;pointer-events:auto}.brand{font-size:10px;letter-spacing:2.3px;font-weight:700;color:#647063}.title{font-family:Georgia,serif;font-size:30px;margin-top:5px}.tag{font-size:11px;letter-spacing:.5px;color:#6b6e60;margin-top:5px}.roomnav{display:flex;gap:6px;flex-wrap:wrap;max-width:610px}.roomnav button{font-size:12px;padding:10px 13px}#room{position:absolute;left:26px;top:156px;background:#24382dda;color:white;padding:8px 12px;border-radius:7px;font-size:12px}#load{position:absolute;inset:0;background:#e9ede2;display:grid;place-content:center;text-align:center;z-index:10;font-family:Georgia,serif;font-size:30px}#load small{font:13px Arial;margin-top:15px}footer{position:absolute;bottom:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:15px;pointer-events:none}footer>*{pointer-events:auto}.help{max-width:480px;background:#fbfcf5ef;padding:13px 17px;border-radius:10px;font-size:12px;line-height:1.7}.help strong{display:block}.help a{color:#325b40}#materials{position:absolute;right:24px;top:160px;width:284px;background:#fbfcf5f5;border:1px solid white;padding:20px;border-radius:12px;box-shadow:0 10px 40px #1b291520}#materials h2{font-family:Georgia,serif;font-weight:400;font-size:23px;margin:0 0 8px}#materials p{font-size:11px;line-height:1.6;color:#666e61;margin:0 0 16px}.group{margin:15px 0}.group label{font-size:12px;font-weight:700;display:block;margin-bottom:8px}.swatches{display:flex;gap:8px}.swatches button{width:46px;height:40px;padding:0;border:3px solid white;border-radius:10px;color:#000000;box-shadow:0 0 0 1px #bec6b8;background:var(--sw)}.swatches button[aria-pressed=true]{box-shadow:0 0 0 3px #294b3c}.choice{font-size:11px;color:#536052;margin-top:7px;min-height:13px}.pad{display:grid;grid-template-columns:repeat(3,44px);gap:5px}.pad button{padding:12px 4px;background:#fafbf6ed}.pad .empty{visibility:hidden}#notes{position:absolute;inset:18% 20%;overflow:auto;background:#fffdf6;padding:32px;border-radius:14px;z-index:5;box-shadow:0 12px 80px #0006;line-height:1.65;font-size:14px}#notes h2{font:30px Georgia}#notes button{float:right}#notes a{color:#345541}[hidden]{display:none!important}#map{width:210px;display:block;border-radius:8px}.links{display:flex;gap:8px;margin-top:9px}.links button,.links a{font-size:11px;padding:7px 9px}#status{font-size:11px;color:#586657;margin-top:8px}
@media(max-width:760px){header{top:10px;left:10px;right:10px;gap:8px}header>div{padding:10px}.title{font-size:24px}.roomnav{max-width:210px}.roomnav button{padding:7px;font-size:10px}#room{left:10px;top:135px}#materials{right:10px;top:190px;width:236px;padding:14px}footer{bottom:10px;left:10px;right:10px}.help{max-width:240px;padding:8px;font-size:10px}#map{display:none}#notes{inset:10px;font-size:13px}.pad{grid-template-columns:repeat(3,38px)}}

/* Shared panels use the existing 760px mobile breakpoint, with viewport-safe scrolling. */
#materials,#viewoptions{z-index:4;max-height:calc(100dvh - 190px);overflow:auto;overscroll-behavior:contain}
#viewoptions{position:absolute;right:24px;top:160px;width:284px;background:#fbfcf5f5;border:1px solid white;padding:20px;border-radius:12px;box-shadow:0 10px 40px #1b291520}
#viewoptions h2{font:23px Georgia,serif;margin:0 0 12px}
#viewoptions p{font-size:12px;line-height:1.6;color:#666e61}
.panelclose{float:right;padding:2px 8px;font-size:20px;line-height:1.2;margin:-5px -5px 4px 8px}
.switch{display:flex;align-items:center;gap:10px;font-size:13px;margin:18px 0;cursor:pointer}
.switch input{width:18px;height:18px;accent-color:#294b3c}
#viewstatus{font-size:12px;line-height:1.5;margin-top:12px}
.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:4px}
.swatches button{width:100%;min-width:0}
.group summary{font-size:13px;font-weight:700;cursor:pointer;margin-bottom:12px}
.source{display:inline-block;font-size:11px;color:#345541;margin-top:7px}
#materials .sample-note{font-size:10px}
@media(max-width:760px){#viewoptions{right:10px;top:190px;width:236px;padding:14px}#materials,#viewoptions{max-height:calc(100dvh - 210px)}}
.group select{display:block;width:100%;font:12px Arial;color:#233029;background:#fffef8;border:1px solid #bbc5b7;border-radius:7px;padding:9px;margin:0 0 12px}
.group select:focus-visible{outline:3px solid #dfa648;outline-offset:2px}
.floor-products{display:grid;gap:8px}.floor-products button{font-size:11px;text-align:left;line-height:1.5;padding:8px;display:flex;gap:8px;align-items:center}
.floor-products button::before{content:'';display:block;width:30px;height:30px;flex:0 0 30px;background:var(--sw);border:1px solid #0002;border-radius:6px}
.room-choice{font-size:11px;line-height:1.5;margin-top:9px}.room-source{font-size:11px;color:#345541;display:block;margin-top:5px}
.zone-reset{font-size:10px;margin:10px 0;padding:6px 8px}

/* Small edge arrows remain available while overlay content is tucked away. */
header>.retractable{padding:0;border:0;background:none;box-shadow:none}
.retractable{position:relative;pointer-events:none;flex:0 1 auto;min-width:0}
.retractable .panel-body,.retract-arrow{pointer-events:auto}
.brand-card,.roomnav{background:#fbfcf5ed;border:1px solid white;border-radius:12px;padding:16px 20px;box-shadow:0 6px 32px #21322212}
.retract-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:30px;padding:0;border:1px solid #d0d6cb;background:#fbfcf5ed;border-radius:8px;box-shadow:0 2px 10px #21322212;position:absolute;right:0}
.top-panel>.retract-arrow{top:calc(100% + 5px)}
.bottom-panel>.retract-arrow{bottom:calc(100% + 5px)}
.retractable.retracted{flex:0 0 36px;width:36px;height:30px}
.retracted>.retract-arrow{position:static}
#project-info>.retract-arrow{left:0;right:auto}
#project-info #room{left:48px;top:calc(100% + 5px);margin:0;white-space:nowrap;font-size:11px;min-height:30px;display:flex;align-items:center}
#help-controls>.retract-arrow{left:0;right:auto}
#help-controls{max-width:480px}
#map-controls .panel-body>div{border-radius:8px;overflow:hidden}
.drawer-arrow{display:flex;align-items:center;justify-content:center;float:right!important;width:36px;height:30px;padding:0!important;margin:-7px -7px 7px 10px!important}
#materials.drawer-retracted,#viewoptions.drawer-retracted,#notes.drawer-retracted{width:36px;height:30px;min-height:0;padding:0;overflow:hidden;border:0;border-radius:8px;box-shadow:0 2px 10px #21322212}
.drawer-retracted>.drawer-arrow{float:none!important;margin:0!important}
#notes.drawer-retracted{inset:auto;top:160px;left:24px}
@media(max-width:760px){
 .brand-card,.roomnav{padding:10px}
 #project-info{max-width:150px}
 #project-info .tag{font-size:10px}
 #project-info #room{left:0;top:calc(100% + 40px);font-size:10px}
 #room-controls{max-width:min(210px,calc(100vw - 180px))}
 #room-controls.retracted{max-width:36px}
 #help-controls{max-width:calc(100vw - 170px)}
 #map-controls{display:none}
 #notes.drawer-retracted{top:190px;left:10px}
}
@media(pointer:coarse){.retract-arrow,.drawer-arrow{min-width:44px;min-height:44px}.retractable.retracted{flex-basis:44px;width:44px;height:44px}#materials.drawer-retracted,#viewoptions.drawer-retracted,#notes.drawer-retracted{width:44px;height:44px}}
.drawer-arrow{position:sticky;top:0;background:#fafbf6;z-index:1}


:root{color:#142433;--ds-blue:#009fe8;--ds-ink:#07121d;--ds-silver:#d7e1e9}
body{background:var(--ds-ink)}
button{color:#152c40;border-color:#c3d0da}button:hover,button[aria-pressed=true]{background:#007db8;color:#fff;border-color:#009fe8}
button:focus-visible,a:focus-visible{outline-color:#00b6ff}
.brand-card{padding:12px 18px!important;background:#fffffff2}.ds-logo{display:block;width:152px;height:81px;object-fit:contain;margin:auto}.title{font:500 22px Arial,sans-serif;letter-spacing:2px;margin-top:8px;color:#142433}.tag{color:#536c80;font-size:10px}
.roomnav,.help{background:#071522ed!important;border-color:#526677!important;color:#edf5fb}.roomnav button,.help button{color:#eff8ff;background:#ffffff08;border-color:#526677}.roomnav button:hover,.roomnav button[aria-pressed=true],.help button:hover{background:#007db8;border-color:#00b7fa;color:white}
#room{background:#073c5be8!important}.help a,#notes a{color:#008bc9}
#materials,#viewoptions,#notes{background:#f8fbfdf7;color:#142433;border-color:#d5e2eb}
#materials h2,#viewoptions h2,#notes h2{font-family:Arial,sans-serif;font-weight:500;letter-spacing:-.5px}
.retract-arrow,.drawer-arrow,.pad button{background:#071522e8!important;color:#d9f2ff;border-color:#6a8497}
.retract-arrow:hover,.drawer-arrow:hover,.pad button:hover{background:#007db8!important;color:white}
#map{border:1px solid #91aabd}.switch input{accent-color:#008aca}.swatches button[aria-pressed=true]{box-shadow:0 0 0 3px #008aca}
#load{background:#07121d;color:#edf7ff;place-items:center;font-family:Arial,sans-serif;gap:18px}#load small{color:#9eb7c9}#load .ds-loading-mark{background:white;border-radius:14px;padding:18px;width:190px}
.ds-signoff{font-size:10px!important;letter-spacing:2px;color:#466478}
#welcome{position:fixed;inset:0;z-index:20;overflow:auto;background:radial-gradient(ellipse at 80% 15%,#073a59 0,transparent 48%),linear-gradient(145deg,#04090f,#0d1d2c);color:#e9f3fa;display:grid;place-items:center;padding:36px}
.ds-entry{width:min(960px,100%);display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center;padding:48px 0;border-top:1px solid #3b5668;border-bottom:1px solid #3b5668}
.ds-mark{background:#fff;border-radius:20px;padding:22px 18px;box-shadow:0 24px 90px #0006}.ds-mark img{width:100%;height:auto;display:block}
.ds-promise{font-size:11px;letter-spacing:2.2px;color:#9cbdd3;text-align:center;margin:24px 0 0;line-height:1.8}
.ds-eyebrow{color:#37bfff;letter-spacing:3px;font-size:11px;text-transform:uppercase}
.ds-entry h1{font:400 clamp(56px,9vw,92px)/1 Arial,sans-serif;letter-spacing:-4px;margin:16px 0 22px}.ds-entry p{font-size:15px;line-height:1.8;color:#abc0cf;max-width:390px}
#enter-atlas{background:#00a8ee;color:#031c2e;border:1px solid #62ceff;border-radius:8px;padding:16px 24px;font-weight:700;font-size:15px;margin:16px 0 20px;display:inline-flex;align-items:center;gap:32px}#enter-atlas:hover{background:#67d2ff}#enter-atlas:disabled{opacity:.65;cursor:wait}
.ds-entry details{font-size:12px;color:#abc0cf;max-width:390px}.ds-entry summary{cursor:pointer;padding:8px 0;color:#d7e9f5}.ds-entry details p{font-size:12px}
.ds-entry .ds-device{font-size:11px;color:#7894a8;margin:4px 0 8px}
@media(max-width:760px){.ds-logo{width:115px;height:62px}.brand-card{padding:8px 12px!important}.title{font-size:18px}.ds-entry{grid-template-columns:1fr;gap:30px;padding:28px 0;max-width:460px}.ds-mark{width:210px;margin:auto;padding:12px}.ds-entry h1{font-size:64px}.ds-entry p{font-size:14px}#welcome{padding:22px}.ds-entry .ds-promise{font-size:9px}.ds-eyebrow{font-size:10px}}

/* A brief brand introduction; controls remain immediately available. */
.ds-mark{position:relative;overflow:hidden;animation:ds-logo-in 1000ms cubic-bezier(.2,.7,.2,1) both}
.ds-mark::after{content:'';position:absolute;inset:-40%;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#33baff30 48%,#ffffff80 50%,transparent 60%);transform:translateX(-110%);animation:ds-light-sweep 1100ms ease-out 180ms both}
.ds-promise{animation:ds-copy-in 650ms ease-out 350ms both}
.ds-eyebrow{animation:ds-copy-in 600ms ease-out 150ms both}
.ds-entry h1{animation:ds-copy-in 750ms ease-out 260ms both}
.ds-entry>div:last-child>p,.ds-entry>div:last-child>button,.ds-entry details{animation:ds-copy-in 650ms ease-out 440ms both}
.ds-loading-mark{animation:ds-loading 1500ms ease-in-out infinite alternate}
@keyframes ds-logo-in{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ds-copy-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ds-light-sweep{to{transform:translateX(110%)}}
@keyframes ds-loading{from{box-shadow:0 0 0 0 #009fe800}to{box-shadow:0 0 35px 6px #009fe833}}
@media(prefers-reduced-motion:reduce){.ds-mark,.ds-mark::after,.ds-promise,.ds-eyebrow,.ds-entry h1,.ds-entry>div:last-child>p,.ds-entry>div:last-child>button,.ds-entry details,.ds-loading-mark{animation:none}.ds-mark::after{display:none}}

.links{flex-wrap:wrap;align-items:center}#furniture-status{flex-basis:100%;font-size:11px;color:#b7cddd}button:disabled{cursor:wait;opacity:.65}
/* Consistent approved Digital Spaces blue-bevel icon. */
.ds-mark{width:240px;max-width:100%;padding:0;margin:auto;background:transparent;box-shadow:none;border-radius:20px}
.ds-mark img{display:block;width:100%;height:auto}.ds-brand-name{text-align:center;font:600 12px Arial,sans-serif;letter-spacing:2.8px;margin:10px 0 0;color:inherit}
.ds-entry .ds-brand-name{font-size:14px;letter-spacing:3px;color:#edf7ff}.ds-logo{width:70px;height:70px;margin:auto}
#load .ds-loading-mark{width:150px;padding:0;background:transparent;border-radius:22px}
@media(max-width:760px){.ds-mark{width:180px}.ds-logo{width:56px;height:56px}.ds-brand-name{font-size:10px;letter-spacing:2px}.ds-entry .ds-brand-name{font-size:12px}}
