:root{font-family:'DM Sans',sans-serif;color:#252722;--paper:#f6f2e9;--ink:#252722;--muted:#787c70}*{box-sizing:border-box}body{margin:0;background:#ddd7c8}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #f7bb78;outline-offset:5px}[hidden]{display:none!important}#experience{position:relative;height:100svh;min-height:640px;overflow:hidden}#scene,#scene canvas,.vignette{position:absolute;inset:0;width:100%;height:100%}#scene canvas{display:block;touch-action:none}.vignette{pointer-events:none;background:linear-gradient(180deg,rgba(246,240,223,.22),transparent 22%,transparent 68%,rgba(18,23,20,.57))}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 36px;z-index:3}.brand{display:flex;gap:10px;align-items:center;line-height:1.17;letter-spacing:1.9px;font-size:10px;font-weight:700;text-decoration:none;color:var(--ink)}.brand-mark{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #252722;border-radius:50%;font:italic 28px Georgia,serif;letter-spacing:0}.property-heading{text-align:center;margin-left:22px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.7px}h1{margin:5px 0 0;font:500 39px 'Manrope',sans-serif;letter-spacing:-2px}.title-dot{color:#8b6a3c}.header-actions{display:flex;gap:8px}.icon-button{background:rgba(249,247,239,.82);width:38px;height:38px;border:1px solid rgba(52,52,44,.16);border-radius:50%;font-size:19px}#infoButton{font:italic 20px Georgia,serif}#loader{position:absolute;z-index:5;inset:0;background:#eee9de;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;font:500 27px 'Manrope',sans-serif;letter-spacing:-.8px}#loader small{font:12px 'DM Sans',sans-serif;letter-spacing:.2px;color:#78746a}.loader-orbit{width:48px;height:48px;border:1px solid #d7cdbb;border-top-color:#8f724e;border-radius:50%;animation:spin 1.4s linear infinite;margin-bottom:10px}@keyframes spin{to{transform:rotate(360deg)}}.scene-caption{position:absolute;left:36px;top:49%;display:flex;gap:13px;align-items:center;color:#f6f1e6;mix-blend-mode:normal;text-shadow:0 1px 8px #25272266}#sceneNumber{font-size:9px;letter-spacing:2px;opacity:.75}#sceneLabel{font:500 15px 'Manrope',sans-serif}.lighting{position:absolute;right:36px;top:49%;display:flex;gap:2px;align-items:center;background:#f6f2e9e8;border:1px solid #d9d7cc90;padding:4px;border-radius:22px;font-size:11px}.lighting>span{font-size:8px;letter-spacing:1.5px;padding:0 11px}.lighting button{border:0;background:none;padding:9px 11px;border-radius:18px}.lighting button.selected{background:#262c24;color:#f6f2e9}.photo-button{position:absolute;left:36px;bottom:214px;background:rgba(247,244,236,.88);border:1px solid #f7f3e766;display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:4px;font-size:11px}.photo-symbol{font-size:17px}#photoPanel{position:absolute;inset:0;background:#151814;z-index:8}#referencePhoto{width:100%;height:100%;object-fit:contain}.photo-label{position:absolute;bottom:24px;left:24px;color:white;font-size:9px;letter-spacing:2px;background:#181c1699;padding:12px}#closePhoto{position:absolute;right:30px;top:25px;background:#f6f2e9;border:0;width:40px;height:40px;border-radius:50%;font-size:28px}.bottom-area{position:absolute;left:36px;right:36px;bottom:23px;color:var(--paper);z-index:4}.tour-intro{margin-bottom:24px}.tour-intro .eyebrow{opacity:.8}.tour-intro p{font:400 28px 'Manrope',sans-serif;letter-spacing:-1px;margin:8px 0 0}.tour-dock{display:flex;justify-content:space-between;gap:12px;padding:6px;background:rgba(247,244,236,.96);color:var(--ink);border-radius:8px;border:1px solid #fff4}.views{display:flex;gap:4px}.views button{border:0;background:none;border-radius:5px;padding:14px 20px;font-size:12px;display:flex;align-items:center;gap:10px;white-space:nowrap}.views button span{font-size:9px;color:#949789}.views button.active{background:#e5dfd1}.views button.active span{color:#716047}#walkButton{border:0;background:#262c24;color:var(--paper);padding:12px 23px;border-radius:5px;font-size:12px;white-space:nowrap}#walkButton span{margin-right:9px}#walkButton[aria-pressed=true]{background:#936b3d}footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.2px;margin-top:15px;opacity:.83}footer strong{font-weight:500}footer a{color:inherit;text-decoration:none}#walkHint{position:absolute;left:50%;bottom:224px;transform:translateX(-50%);border:1px solid #ffffff2b;background:#20271ce0;color:#f6f2e9;border-radius:25px;padding:11px 17px;font-size:11px;white-space:nowrap;z-index:3}.mobile-hint{display:none}#touchMove{position:absolute;right:26px;bottom:220px;z-index:5;text-align:center}#touchMove button{border:1px solid #ffffff44;border-radius:8px;background:#21291de0;color:#fff;width:42px;height:42px;font-size:20px;margin:2px}dialog{width:min(510px,calc(100% - 32px));border:0;border-radius:10px;background:#f6f2e9;color:#252722;padding:40px}dialog::backdrop{background:#14191082;backdrop-filter:blur(5px)}dialog h2{font:500 30px 'Manrope',sans-serif;letter-spacing:-1.2px;line-height:1.23;margin:14px 0 20px}dialog p{font-size:13px;line-height:1.7;color:#606457}.dialog-close{position:absolute;right:17px;top:12px;border:0;background:none;font-size:26px}.info-facts{border-block:1px solid #d4d1c5;padding:15px 0;margin:22px 0;display:flex;gap:20px;font-size:10px}.credits{font-size:10px!important}.walking .tour-intro{opacity:.3}.walking .photo-button{display:none}.walking .scene-caption{display:none}#error{position:absolute;inset:0;z-index:7;background:#eee9de;display:flex;justify-content:center;align-items:center;flex-direction:column}#error h2{font:500 25px 'Manrope',sans-serif}#error p{font-size:13px;color:#606457}#error button{background:#262c24;color:white;border:0;border-radius:5px;padding:12px 24px}
@media(max-width:900px){header{padding:22px}.bottom-area{left:22px;right:22px}.views button{padding:13px 12px;gap:6px}.tour-intro p{font-size:25px}.scene-caption{left:22px}.lighting{right:22px}.photo-button{left:22px}.views button span{display:none}#walkButton{padding:12px 16px}}
@media(max-width:600px){#experience{min-height:570px}header{padding:20px 18px}.brand span:not(.brand-mark){display:none}.property-heading{margin-left:18px}h1{font-size:31px;letter-spacing:-1.5px}.property-heading .eyebrow{font-size:7px;letter-spacing:2px}.icon-button{width:32px;height:32px;font-size:17px}.header-actions{gap:5px}.brand-mark{width:32px;height:32px;font-size:24px}.scene-caption{left:18px;top:auto;bottom:238px;gap:10px}#sceneLabel{font-size:13px}.lighting{right:18px;top:auto;bottom:232px;font-size:10px}.lighting>span{display:none}.lighting button{padding:8px 10px}.bottom-area{left:14px;right:14px;bottom:18px}.tour-intro{margin:0 4px 15px}.tour-intro .eyebrow{font-size:7px;letter-spacing:2px}.tour-intro p{font-size:20px;letter-spacing:-.6px;margin-top:6px}.tour-dock{display:flex;flex-direction:column;gap:5px;padding:5px;border-radius:7px}.views{justify-content:space-between;gap:0}.views button{font-size:10px;padding:12px 10px;flex:1;justify-content:center}.views button span{display:none}#walkButton{padding:11px;font-size:11px}footer{font-size:7px;margin-top:12px;gap:8px;line-height:1.5}footer a{max-width:130px;text-align:right}.photo-button{left:18px;bottom:283px;font-size:10px;padding:7px 10px}#walkHint{bottom:288px;font-size:9px;padding:9px 13px}.desktop-hint{display:none}.mobile-hint{display:block}#touchMove{bottom:338px;right:16px}#touchMove button{width:36px;height:36px;font-size:17px}dialog{padding:30px}dialog h2{font-size:25px}.info-facts{gap:12px;font-size:9px}}

.scene-caption{background:rgba(30,38,26,.75);padding:10px 13px;border-radius:5px;text-shadow:none}
.space-actions{position:absolute;left:36px;top:calc(50% + 54px);display:flex;gap:6px;z-index:4}.space-actions button{border:1px solid #ffffff55;background:#f1eee4df;color:#252922;border-radius:4px;padding:10px 13px;font:500 11px 'DM Sans',sans-serif;backdrop-filter:blur(12px);cursor:pointer}.space-actions button[aria-pressed=true]{background:#252c23e6;color:#f1eee4}.walking .space-actions{display:none}@media(max-width:600px){.space-actions{left:20px;top:calc(50% + 8px)}.space-actions button{font-size:10px;padding:9px}.views{overflow-x:auto;scrollbar-width:none}.views button{flex-shrink:0}}

.space-actions{left:auto;right:36px;top:auto;bottom:214px}.views button{padding-inline:15px}body.interior .tour-intro{display:none}body.interior .photo-button,body.interior .space-actions{bottom:124px}@media(max-width:600px){.space-actions{right:18px;left:auto;top:auto;bottom:327px}.views button{padding:12px 8px}body.interior .photo-button{bottom:205px}body.interior .space-actions{bottom:247px}}
@media(max-width:600px){.lighting{top:106px;bottom:auto}.space-actions{bottom:283px}.scene-caption{max-width:calc(100% - 36px)}body.interior .scene-caption{bottom:207px}body.interior .photo-button,body.interior .space-actions{bottom:160px}}
/* Cinematic layer */
.lighting{gap:1px}.lamp-toggle{display:flex;align-items:center;gap:7px;margin-left:4px;border-left:1px solid #d9d4c6!important;border-radius:0 18px 18px 0!important}
.lamp-toggle i{width:8px;height:8px;border-radius:50%;background:#b9b3a3;transition:background .3s,box-shadow .3s}
.lamp-toggle.selected{background:none!important;color:inherit!important}.lamp-toggle.selected i{background:#ffb052;box-shadow:0 0 8px 2px #ffb05299}
#crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#f6f2e9cc;box-shadow:0 0 0 1px #0004;z-index:3;pointer-events:none}
#fps{position:absolute;right:36px;top:96px;z-index:3;font:500 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.5px;color:#f6f2e9;background:#1b211ab0;padding:7px 9px;border-radius:4px}
#settings{width:min(560px,calc(100% - 32px))}#settings h2{margin-bottom:18px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}.settings-grid .row{grid-column:span 2;display:grid;grid-template-columns:190px 1fr;align-items:center;font-size:12px}
.settings-grid output{color:#8b6a3c;margin-left:6px}.settings-grid select{font:inherit;font-size:12px;padding:7px 9px;border:1px solid #d4d1c5;border-radius:5px;background:#fbf9f3}
.settings-grid input[type=range]{accent-color:#8b6a3c;width:100%}.check{display:flex;gap:9px;align-items:center;font-size:12px}.check input{accent-color:#262c24;width:15px;height:15px}
.keys{font-size:11px!important;margin:20px 0 0}kbd{font:500 10px ui-monospace,Menlo,monospace;border:1px solid #d4d1c5;border-bottom-width:2px;border-radius:3px;padding:1px 5px;background:#fbf9f3}
.settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.settings-actions button{border-radius:5px;padding:11px 18px;font-size:12px}
.settings-actions .primary{background:#262c24;color:#f6f2e9;border:0}.settings-actions .ghost{background:none;border:1px solid #d4d1c5}
body.clean header,body.clean .bottom-area,body.clean .space-actions,body.clean .lighting,body.clean .scene-caption,body.clean .photo-button,body.clean #walkHint,body.clean .vignette{display:none}
@media(max-width:900px){.lighting button{padding:9px 8px}#fps{right:22px}}
@media(max-width:600px){.lighting{left:14px;right:14px;justify-content:space-between;overflow-x:auto}.lighting button{padding:8px 7px;font-size:10px}.lamp-toggle span{display:none}
  .settings-grid{grid-template-columns:1fr}.settings-grid .row{grid-column:auto;grid-template-columns:1fr}#settings{padding:24px}#fps{right:14px;top:72px}}

/* Shared world */
#nameTags{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.name-tag{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;padding:5px 9px 5px 7px;border-radius:14px;background:#1f261ccc;color:#f6f2e9;font:500 11px 'DM Sans',sans-serif;white-space:nowrap;backdrop-filter:blur(6px);will-change:transform}
.name-tag i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px #f6f2e955}
.presence{position:absolute;right:36px;top:92px;z-index:4}
#peopleButton{display:flex;align-items:center;gap:8px;border:1px solid #ffffff55;background:#f6f2e9e6;border-radius:18px;padding:8px 13px;font-size:11px;backdrop-filter:blur(10px)}
#peopleButton i{width:7px;height:7px;border-radius:50%;background:#b9b3a3}
body[data-world=online] #peopleButton i{background:#4f9a6a;box-shadow:0 0 0 3px #4f9a6a33}
body[data-world=reconnecting] #peopleButton i{background:#d39a3a}
.walk-actions{position:absolute;right:36px;bottom:214px;display:none;gap:6px;z-index:4}
.walking .walk-actions{display:flex}
.walk-actions button{border:1px solid #ffffff55;background:#f1eee4df;color:#252922;border-radius:4px;padding:10px 13px;font:500 11px 'DM Sans',sans-serif;backdrop-filter:blur(12px)}
.walk-actions button[aria-pressed=true]{background:#252c23e6;color:#f1eee4}
.walking .space-actions{display:flex;bottom:262px}.walking .space-actions #roofButton{display:none}
#worldToast{position:absolute;left:50%;top:96px;transform:translateX(-50%);z-index:6;background:#1f261ce6;color:#f6f2e9;border-radius:18px;padding:9px 15px;font-size:11px;white-space:nowrap}
#walkHint kbd{background:#ffffff1a;border-color:#ffffff33;color:#f6f2e9}
#sticks{position:absolute;left:0;right:0;bottom:250px;z-index:5;display:flex;justify-content:space-between;padding:0 22px;pointer-events:none}
.stick{pointer-events:auto;position:relative;width:118px;height:118px;border-radius:50%;background:#1f261c66;border:1.5px solid #f6f2e966;backdrop-filter:blur(8px);touch-action:none;display:flex;align-items:center;justify-content:center}
.stick .knob{width:48px;height:48px;border-radius:50%;background:#f6f2e9e6;box-shadow:0 2px 10px #0004;transition:transform .12s}
.stick.active .knob{transition:none}
.stick span{position:absolute;bottom:-19px;left:0;right:0;text-align:center;color:#f6f2e9;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;text-shadow:0 1px 4px #0008}
#people{width:min(470px,calc(100% - 32px))}
.guest-form label{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#787c70}
.guest-row{display:flex;gap:6px;margin:7px 0 10px}.guest-row input{flex:1;font:inherit;font-size:14px;padding:10px 12px;border:1px solid #d4d1c5;border-radius:5px;background:#fbf9f3}
.guest-row button{border:0;background:#262c24;color:#f6f2e9;border-radius:5px;padding:0 16px;font-size:12px}
.swatches{display:flex;gap:8px}.swatches button{width:26px;height:26px;border-radius:50%;border:2px solid #f6f2e9;box-shadow:0 0 0 1px #d4d1c5}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px #262c24}
.people-list{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid #d4d1c5;max-height:40vh;overflow:auto}
.people-list li{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #e3e0d5;font-size:13px}
.people-list li>i{width:10px;height:10px;border-radius:50%;flex:none}.people-list li>span{flex:1;display:flex;flex-direction:column}.people-list small{color:#787c70;font-size:11px}
.people-list li button{border:1px solid #d4d1c5;background:none;border-radius:5px;padding:7px 11px;font-size:11px}
.people-list .empty{color:#787c70;font-size:12px}
.people-note{font-size:11px!important;margin:14px 0 0}
@media(max-width:900px){.presence{right:22px}.walk-actions{right:22px}}
@media(max-width:600px){.presence{right:14px;top:66px}#peopleButton{padding:6px 10px;font-size:10px}.walk-actions{right:14px;bottom:auto;top:146px}.walking .space-actions{top:146px;bottom:auto;right:auto;left:14px}
  .walking .bottom-area footer,.walking .tour-intro{display:none}#sticks{bottom:150px;padding:0 16px}.stick{width:108px;height:108px}#walkHint{bottom:auto;top:190px}}

.walking .tour-intro,.walking footer{display:none}.walking .bottom-area{bottom:18px}
@media(max-width:600px){.walking .property-heading{visibility:hidden}}
