:root{--ink:#263a32;--paper:#f6f3ed;--line:#cfc9bc;--accent:#866b47;font-family:Arial,sans-serif;color:var(--ink);background:#e5e0d5}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,#viewport:focus-visible{outline:2px solid #775b39;outline-offset:4px}[hidden]{display:none!important}#tour{height:100dvh;position:relative;overflow:hidden;background:#cfc7b5}#viewport{position:absolute;inset:0;touch-action:none;cursor:grab;outline-offset:-5px}#viewport:active{cursor:grabbing}canvas{display:block;width:100%;height:100%}
.room-heading{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));pointer-events:none}.room-heading h1{margin:0;font:400 clamp(20px,2vw,27px)/1.2 Georgia,serif;letter-spacing:-.5px;background:#f6f3ede8;border:1px solid #ffffff70;border-radius:5px;padding:11px 16px;box-shadow:0 4px 20px #26241908;backdrop-filter:blur(12px)}
.tour-options{position:absolute;top:max(22px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));z-index:3}.tour-options>summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff80;border-radius:50%;background:#f6f3edea;backdrop-filter:blur(14px);box-shadow:0 4px 20px #2624190d;color:var(--ink)}.tour-options>summary::-webkit-details-marker{display:none}.tour-options>summary svg{width:23px;height:23px}.tour-options[open]>summary{background:var(--ink);color:var(--paper)}.options-panel{position:absolute;top:calc(100% + 10px);right:0;width:246px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;padding:9px;border:1px solid #d5cfc2;border-radius:10px;background:#f6f3edf7;backdrop-filter:blur(18px);box-shadow:0 12px 40px #29281b26}.options-panel>button,.options-panel>a{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:12px;border-radius:5px;font:12px Arial,sans-serif;text-align:left}.options-panel>button:hover,.options-panel>a:hover{background:#e6e3d8}.options-panel>button:disabled{color:#999c91;cursor:default}.back-link>svg{width:15px;height:15px}.options-divider{height:1px;background:#ded9cc;margin:6px 10px}.concept-note{margin:7px 12px 9px;padding-top:14px;border-top:1px solid #ded9cc;font-size:10px;line-height:1.6;color:#74796b}.concept-note strong{display:block;font-size:10px;font-weight:400;color:#4c5b4e;margin-bottom:4px}
.room-switcher{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:stretch;gap:3px;max-width:calc(100% - 32px);padding:4px;border:1px solid #ffffff90;border-radius:28px;background:#f6f3edea;box-shadow:0 8px 30px #29281b12;backdrop-filter:blur(14px)}.room-switcher button{white-space:nowrap;min-height:44px;padding:12px 19px;font-size:11px;border-radius:22px}.room-switcher button[aria-pressed=true]{background:var(--ink);color:#fffdf7}.room-switcher button:not([aria-pressed=true]):hover{background:#e2decf}
#loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f1ece0;z-index:5;text-align:center;padding:25px}#loading h2{font:36px Georgia,serif;letter-spacing:-1px;margin:22px 0 12px}#loading p{font-size:12px;color:#777363}.loading-mark{font:26px Georgia,serif;border:1px solid #8c8b74;border-radius:50%;width:90px;height:90px;display:grid;place-items:center}#fallback{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(470px,85%);background:var(--paper);padding:30px;border:1px solid var(--line)}#fallback h2{font:26px Georgia,serif}#fallback p{font-size:13px;line-height:1.8}.no-script{position:absolute;top:50%;left:10%;z-index:6;background:var(--paper);padding:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{font-size:9px;letter-spacing:.18em;font-weight:500}
dialog{border:1px solid var(--line);padding:0;width:min(470px,calc(100% - 32px));background:var(--paper);color:var(--ink);max-height:calc(100dvh - 40px);overflow:hidden;border-radius:5px}dialog::backdrop{background:#1c251b80;backdrop-filter:blur(6px)}.dialog-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 42px)}.dialog-shell>header{padding:20px 26px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);outline:none}.dialog-shell>header button{font-size:11px;padding:8px;min-height:44px}.dialog-content{padding:10px 26px 28px;overflow-y:auto}.dialog-content h2{font:34px Georgia,serif;letter-spacing:-1px;margin:22px 0}.dialog-content>p{font-size:12px;line-height:1.9;color:#6c6e61}.material{display:flex;align-items:center;gap:20px;margin-top:22px}.material>i{display:block;width:54px;height:54px;border-radius:50%;border:1px solid #0001}.oak{background:repeating-linear-gradient(5deg,#826044 0 2px,#99744f 3px 6px)}.linen{background:repeating-linear-gradient(0deg,#e9e1d2 0 1px,#dbd3c5 1px 2px)}.stone{background:#c2b5a2}.olive{background:#7b8063}.material>span{font-size:13px}.material small{display:block;font-size:10px;color:#747567;margin-top:7px}.dialog-content .small-note{font-size:10px;margin-top:26px}.room-plan{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:24px}.room-plan>button{border:1px solid #c9c5b3;padding:24px 15px;min-height:125px;font:18px Georgia,serif;text-align:left;background:#e6e3d7}.room-plan>button:hover{background:#d7dccb}.room-plan>button[aria-current=true]{background:#d5ddcb;border-color:var(--ink)}.room-plan small{display:block;font:9px Arial,sans-serif;margin-bottom:13px;color:var(--accent)}.room-plan span{display:block;font:9px Arial,sans-serif;margin-top:12px;color:#6c6e61}.plan-garden{font-size:8px;letter-spacing:.15em;background:repeating-linear-gradient(-45deg,#e0e4d8 0 4px,#d8dfcd 4px 5px);display:grid;place-items:center;color:#6f7b60}.connected-plan{display:block;width:190px;max-width:100%;margin:0 auto}.connected-plan text{font:8px Arial,sans-serif;letter-spacing:.07em;text-anchor:middle;fill:#52604c}.dialog-content .plan-legend{font-size:9px;text-align:center;margin:10px 0 0}
@media(max-width:600px){.room-heading{top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left))}.room-heading h1{padding:11px 13px;font-size:20px}.tour-options{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.room-switcher{bottom:max(18px,env(safe-area-inset-bottom));width:max-content}.room-switcher button{font-size:10px;padding:12px 13px}.dialog-content h2,#loading h2{font-size:29px}}@media(max-width:360px){.room-switcher button{padding:12px 10px;font-size:9px}}@media(max-height:550px){.room-heading,.tour-options{top:max(12px,env(safe-area-inset-top))}.room-heading h1{font-size:20px}.room-switcher{bottom:max(12px,env(safe-area-inset-bottom))}.options-panel{max-height:calc(100dvh - 82px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.floor-rooms{display:flex;align-items:stretch;gap:3px}.room-short{display:none}.room-switcher #floor-switch{display:flex;align-items:center;gap:7px;border-right:1px solid #cfc9bc;border-radius:22px 0 0 22px;padding-right:16px}.room-switcher #floor-switch svg{width:20px;height:20px;flex-shrink:0}.plan-floor-tabs{display:flex;border:1px solid var(--line);padding:3px;border-radius:24px;gap:4px;margin-bottom:18px}.plan-floor-tabs button{min-height:40px;flex:1;font-size:11px;border-radius:22px}.plan-floor-tabs [aria-pressed=true]{background:var(--ink);color:var(--paper)}.connected-plan{width:240px}.room-plan>button:last-child:nth-child(odd){grid-column:1/-1;min-height:105px}
@media(max-width:600px){.room-full{display:none}.room-short{display:inline}.floor-rooms{gap:0}.room-switcher{gap:0;padding:3px}.room-switcher button{padding:12px 10px}.room-switcher #floor-switch{gap:5px;padding:12px 9px}.room-switcher #floor-switch svg{width:16px;height:16px}}

.music-toggle{position:absolute;top:max(22px,env(safe-area-inset-top));right:max(80px,calc(env(safe-area-inset-right) + 56px));z-index:3;display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff80;border-radius:50%;background:#f6f3edea;backdrop-filter:blur(14px)}.music-toggle svg{width:22px;height:22px}.music-toggle[aria-pressed=true]{background:var(--ink);color:var(--paper)}.music-toggle .sound-waves{display:none}.music-toggle[aria-pressed=true] .sound-waves{display:block}.music-toggle[aria-pressed=true] .sound-off{display:none}.room-heading h1{max-width:calc(100vw - 158px)}
.house-switcher{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:3px;max-width:calc(100% - 28px);padding:4px;border:1px solid #ffffff90;border-radius:28px;background:#f6f3edf2;box-shadow:0 8px 30px #29281b12;white-space:nowrap}.house-switcher button{min-height:44px;padding:12px 18px;border-radius:22px;font-size:11px}.house-switcher [aria-pressed=true]{background:var(--ink);color:var(--paper)}.house-switcher #house-return{border-left:1px solid var(--line);border-radius:0 22px 22px 0;padding-left:17px}.house-labels{position:absolute;inset:0;pointer-events:none}.house-labels button{position:absolute;transform:translate(-50%,-50%);min-height:42px;max-width:145px;padding:10px 14px;background:#f6f3edf2;border:1px solid #a7afa0;border-radius:23px;box-shadow:0 3px 13px #263a321c;font:11px Arial,sans-serif;pointer-events:auto}.house-labels button:hover{background:var(--ink);color:var(--paper)}.house-labels button:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:7px;vertical-align:middle}
.guide-status{position:absolute;bottom:max(92px,calc(env(safe-area-inset-bottom) + 72px));left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:6px;max-width:calc(100% - 32px);padding:3px 5px 3px 14px;background:#f6f3edf2;border:1px solid #ffffff90;border-radius:23px;box-shadow:0 4px 20px #263a3210;white-space:nowrap;font-size:11px}.guide-status span{overflow:hidden;text-overflow:ellipsis}.guide-status button{min-width:44px;min-height:40px;padding:8px 10px;border-radius:20px;font-size:10px}.guide-status button:hover{background:#e3dfd3}.dialog-content .music-credit{font:11px/1.7 Arial,sans-serif;margin-top:22px}.music-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.music-toggle{top:max(16px,env(safe-area-inset-top));right:max(70px,calc(env(safe-area-inset-right) + 54px));width:46px;height:46px}.room-heading h1{max-width:calc(100vw - 142px);font-size:19px}.house-switcher{bottom:max(18px,env(safe-area-inset-bottom));gap:0;padding:3px}.house-switcher button{font-size:10px;padding:12px 10px}.house-switcher #house-return{padding-left:12px}.house-labels button{font-size:10px;padding:9px 11px;max-width:135px}.guide-status{bottom:max(84px,calc(env(safe-area-inset-bottom) + 68px));font-size:10px;padding-left:11px}}
