:root{color-scheme:light;font-family:Arial,sans-serif;color:#fff;background:#e8dfd0}*{box-sizing:border-box}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,#panorama-viewport:focus-visible{outline:2px solid #fff;outline-offset:4px}#panorama{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#e8dfd0}#panorama-viewport{position:absolute;inset:0;touch-action:none;cursor:grab;outline-offset:-5px}#panorama-viewport:active{cursor:grabbing}canvas{display:block;width:100%;height:100%}.room-heading{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(26px,env(safe-area-inset-left));pointer-events:none;text-shadow:0 1px 12px #0009}.room-heading h1{font-family:Georgia,serif;font-size:clamp(23px,3vw,32px);font-weight:400;margin:0}.top-controls{position:absolute;right:max(24px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));display:flex;gap:8px}.icon-button{width:44px;height:44px;border:1px solid #ffffff50;border-radius:50%;background:#26382fe0;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 20px #0001;cursor:pointer}.icon-button svg{width:22px;height:22px;fill:currentColor}.icon-button#music-toggle svg{fill:none}.icon-button:hover,.detail-views button:hover{background:#3e5147}.sound-waves,#music-toggle[aria-pressed=true] .sound-off{display:none}#music-toggle[aria-pressed=true] .sound-waves{display:initial}summary{list-style:none}summary::-webkit-details-marker{display:none}.options-panel{position:absolute;right:0;top:56px;width:min(300px,calc(100vw - 32px));padding:12px;background:#faf7f0;color:#273b32;border-radius:14px;box-shadow:0 10px 40px #0003;max-height:calc(100dvh - 100px);overflow:auto}.options-panel>button,.options-panel>a{display:block;background:none;width:100%;border:0;text-align:left;padding:12px;font-size:14px;border-radius:8px;text-decoration:none;color:inherit}.options-panel>button:hover,.options-panel>a:hover{background:#e8ebdf}.options-panel p{font-size:12px;line-height:1.55;color:#526056;padding:10px 12px;margin:0;border-top:1px solid #d9ded3}.options-panel p strong{display:block;color:#273b32;font-size:13px;margin-bottom:5px}.options-panel p a{color:inherit}.options-panel :focus-visible{outline-color:#273b32}.detail-views{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:3px;white-space:nowrap;padding:5px;border-radius:40px;background:#26382fe8;box-shadow:0 4px 25px #0002;border:1px solid #ffffff35}.detail-views button{border:0;background:transparent;border-radius:24px;min-height:44px;padding:10px 19px;font-size:13px}.detail-views button[aria-pressed=true]{background:#f3f0e6;color:#273b32}#loading,#fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#273b32;background:#ede8de;text-align:center;padding:32px}#loading span{border:1px solid #8e9d88;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;font:22px Georgia,serif}#loading p{font-size:14px}#fallback h2{font:24px Georgia,serif}#fallback p{line-height:1.6}#fallback a{color:inherit;margin:10px}#fallback[hidden],#loading[hidden]{display:none}#panorama[data-failed=true] .detail-views{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.no-script{position:absolute;inset:30% 10%;background:#ede8de;color:#273b32;padding:30px}.no-script a{color:inherit}@media(max-width:500px){.room-heading{top:max(24px,env(safe-area-inset-top));left:18px}.top-controls{right:16px;gap:6px}.detail-views{bottom:max(18px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.detail-views button{padding:10px 13px;font-size:12px}.icon-button{width:42px;height:42px}}

/* The rebuilt room uses a light ceiling; keep its single room title readable. */
.room-heading{color:#283b32;text-shadow:0 1px 10px #ffffffc0}

.room-details{border-top:1px solid #d9ded3;padding-top:8px}.room-details:empty{display:none}.room-details button{display:block;width:100%;background:none;color:#273b32;border:0;border-radius:8px;padding:12px;text-align:left;font-size:13px}.room-details button:hover{background:#e8ebdf}.ground-guide{position:absolute;left:50%;bottom:max(88px,calc(env(safe-area-inset-bottom) + 78px));transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);border-radius:14px;background:#faf7f0ed;color:#273b32;padding:6px 12px;box-shadow:0 4px 20px #0002;font-size:12px}.ground-guide[hidden]{display:none}.ground-guide span{max-width:180px}.ground-guide button{border:0;border-radius:8px;padding:10px 6px;min-height:44px;background:transparent;color:inherit}#ground-plan{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow:auto;border:0;border-radius:18px;background:#faf7f0;color:#273b32;padding:20px}#ground-plan::backdrop{background:#17231bd0}#ground-plan header{display:flex;align-items:center;justify-content:space-between;outline:0}#ground-plan h2{font:24px Georgia,serif;margin:4px 0}#ground-plan button{color:#273b32;border:1px solid #bdc7b8;border-radius:9px;background:transparent;min-height:44px;padding:10px;font-size:12px}#ground-plan svg{display:block;max-height:54dvh;width:100%;margin:18px 0}.plan-room-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}#ground-plan p{font-size:11px;color:#61705f;margin-bottom:0}#ground-plan :focus-visible{outline-color:#273b32}#panorama[data-failed=true] .ground-guide{display:none}@media(max-width:500px){.detail-views button{padding:10px 12px}.room-heading h1{font-size:22px;max-width:200px}.ground-guide{font-size:11px;gap:8px}.ground-guide span{max-width:140px}}

/* Keep room choices compact as the current floor changes. */
.detail-views button[hidden],[data-plan-level][hidden]{display:none!important}.detail-views{max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:none}.detail-views::-webkit-scrollbar{display:none}.detail-views button{flex-shrink:0}.plan-floor-tabs{display:flex;gap:8px;margin-top:12px}.plan-floor-tabs button[aria-pressed=true]{background:#e0e5d8!important}#panorama[data-failed=true] #floor-switch{display:none}@media(max-width:500px){.detail-views button{padding:10px 9px;font-size:11px}.room-heading h1{max-width:180px}.detail-views #floor-switch{padding:10px 9px}}

/* Separate room and playback pills share a centred bottom row. */
.bottom-controls{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 24px)}
.bottom-controls .detail-views{position:static;transform:none;min-width:0;max-width:100%;flex:0 1 auto}
.tour-play{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:56px;padding:10px 16px;border:1px solid #ffffff50;border-radius:28px;background:#26382fe8;color:#fff;font-size:13px;white-space:nowrap;box-shadow:0 4px 20px #0002}
.tour-play svg{width:18px;height:18px;flex:none}.tour-play:hover{background:#3e5147}.tour-play[hidden],.tour-play:disabled,#panorama[data-failed=true] .tour-play{display:none}
@media(max-width:500px){.bottom-controls{bottom:max(18px,env(safe-area-inset-bottom));gap:8px}.tour-play{font-size:12px;padding:10px 12px}}
