*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#14201a;color:#f2ead9;font:14px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #e5d49e;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.room{position:fixed;inset:0;background:radial-gradient(ellipse,#665337,#14211e)}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:fixed;top:max(20px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:start;pointer-events:none;z-index:2}.brand{font-size:23px;font-weight:800;letter-spacing:3px;text-shadow:0 2px 10px #000}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:2.5px;margin-top:5px;color:#d9c99d}.hud-actions{display:flex;gap:8px;align-items:center;pointer-events:auto}.pill{font-size:9px;letter-spacing:1.5px;background:#101d17d9;border:1px solid #9eb17b55;padding:12px;border-radius:30px}.pill i{display:inline-block;background:#c9e89b;border-radius:50%;width:6px;height:6px;margin-right:7px}.utility{height:42px;min-width:42px;padding:0 13px;border:1px solid #a49b6d66;background:#14211ce8;border-radius:30px;font-size:11px}.views{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:3px;background:#101a17ef;padding:5px;border:1px solid #b3ac8644;border-radius:40px;z-index:3;white-space:nowrap;backdrop-filter:blur(12px)}.views button{min-height:44px;border:0;background:none;border-radius:30px;padding:10px 18px;font-size:11px}.views button.active{background:#d1dcb1;color:#23311c}.hint{position:fixed;bottom:86px;left:25%;right:25%;text-align:center;pointer-events:none;font-size:10px;letter-spacing:.6px;color:#fff9;text-shadow:0 2px 8px #000;z-index:2}.hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid #d2d5a577;background:#15231ded;border-radius:30px;min-height:44px;padding:8px 13px;font-size:11px;box-shadow:0 4px 20px #0005;white-space:nowrap;backdrop-filter:blur(8px);z-index:2;transition:background .15s}.hotspot:before{content:'+';display:inline-grid;place-items:center;background:#d1dcb1;color:#26331f;width:17px;height:17px;border-radius:50%;margin-right:7px;font-weight:bold}.hotspot:hover{background:#41503b}.hotspot[data-action=host]{left:20%;top:52%}.hotspot[data-action=listen]{left:78%;top:37%}.hotspot[data-action=records]{left:50%;top:34%}.hotspot[data-action=crew]{left:78%;top:65%}.hotspot[data-action=couch]{left:23%;top:76%}.hotspot[data-action=lights]{left:90%;top:23%}.hotspot[data-action=note]{left:50%;top:77%}dialog{color:#f2ead9;background:#17221ffb;border:1px solid #9aaf7855;border-radius:18px;max-width:460px;width:calc(100% - 28px);padding:30px;box-shadow:0 25px 100px #000b;max-height:calc(100dvh - 30px);overflow:auto;overscroll-behavior:contain;scrollbar-color:#778262 #17221f}dialog::backdrop{background:#08100bb0;backdrop-filter:blur(7px)}dialog h2{font-family:Georgia,serif;font-size:31px;line-height:1.15;letter-spacing:-.8px;margin:12px 28px 18px 0}dialog p{font-size:13px;line-height:1.7;color:#c5cdbf}.eyebrow{font-size:9px;letter-spacing:2px;color:#d6c695}.close{position:absolute;right:9px;top:9px;width:44px;height:44px;border:0;background:#ffffff08;border-radius:50%;font-size:25px}.choice{display:block;width:100%;text-align:left;border:1px solid #60755266;background:#23342b;border-radius:8px;min-height:46px;padding:13px;margin:9px 0;color:#eee5d1;text-decoration:none}.choice:hover{background:#384e38}.choice[aria-current=true]{background:#415039;border-color:#d1dcb1}a{color:#d1dcb1}.toast{position:fixed;top:94px;left:50%;transform:translateX(-50%);background:#d1dcb1;color:#25321b;border-radius:10px;padding:13px 20px;z-index:10;max-width:90%;width:max-content;text-align:center;display:none;font-size:12px}.roomtext{display:none}.light-dim canvas{filter:brightness(.65) saturate(.85)}.art-frame{position:relative;width:min(100%,260px);aspect-ratio:1;margin:18px auto;background:#1d2b23;border:1px solid #a68c55;border-radius:5px;overflow:hidden}.art-frame .entry-art{display:block;width:100%;height:100%;object-fit:contain;visibility:hidden}.art-frame.ready .entry-art{visibility:visible}.art-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#d1d6c6}.art-frame.ready .art-loading{display:none}#entry{text-align:center;max-height:calc(100dvh - 20px)}#entry h2{margin-right:0;font-size:30px}#entry .choice{text-align:center}#entry .choice:first-of-type{background:#d1dcb1;color:#24331c;font-weight:600}#entry p:last-child{font-size:10px;color:#a8b29e}.player-art{width:90px;height:90px;object-fit:contain;float:right;margin:20px 0 16px 16px;border:1px solid #a68c55;border-radius:4px}#songTitle{clear:both;font-size:20px;line-height:1.4}#songArtist{font-size:11px}audio{width:100%;margin:5px 0}#trackList{clear:both}.audio-nav{display:flex;gap:8px}#audioStatus{min-height:38px;font-size:11px}.sound-dock{position:fixed;bottom:22px;left:22px;z-index:4;display:flex;align-items:center;gap:4px;border:1px solid #a49b6d66;background:#14211cf5;border-radius:30px;padding:4px;max-width:30%;box-shadow:0 5px 25px #0005}.sound-dock button{border:0;background:none;min-width:44px;min-height:44px;border-radius:25px}.sound-dock #nowPlaying{padding:8px 10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;text-align:left}.sound-dock #dockPlay{background:#d1dcb1;color:#23311c}.volume-row{display:flex;align-items:center;gap:14px;margin:14px 0;font-size:12px;clear:both}.volume-row input{width:100%;accent-color:#d1dcb1;min-height:34px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.note-field{width:100%;min-height:150px;background:#0d1813;color:#eee;padding:15px;border:1px solid #607552;border-radius:8px;resize:vertical}#sceneStatus{font-size:10px;color:#a7b79b;margin:0}.room-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.room-menu-grid button{margin:0}.preferences{border-top:1px solid #ffffff18;padding-top:12px;margin-top:20px}.preferences label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px}.preferences input{accent-color:#d1dcb1}.ambient-vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 160px #07100c66;z-index:1}.scene-loading{position:fixed;inset:0;display:grid;place-items:center;background:#14201a;z-index:1;color:#c7d1b8;font-size:12px;letter-spacing:2px}.scene-loading[hidden]{display:none}.room .hotspot{visibility:hidden}.scene-ready .room .hotspot{visibility:visible}@media(max-width:850px){.sound-dock{bottom:87px;max-width:80%}.hint{bottom:143px;left:15px;right:15px;font-size:9px}.pill{display:none}.views{bottom:max(14px,env(safe-area-inset-bottom))}.hud{top:max(14px,env(safe-area-inset-top));left:16px;right:16px}.brand{font-size:20px}.utility{font-size:10px;padding:0 10px}.hotspot{font-size:10px;padding:8px 10px}.hotspot[data-action=lights],.hotspot[data-action=note],.hotspot[data-action=couch]{display:none!important}.hotspot[data-action=host]{left:22%;top:58%}.hotspot[data-action=crew]{left:77%;top:68%}.hotspot[data-action=listen]{left:80%;top:40%}.hotspot[data-action=records]{left:45%;top:31%}}@media(max-width:420px){.views button{padding:10px 14px}.brand small{font-size:7px;letter-spacing:1.7px}.hud-actions{gap:4px}.utility{padding:0 9px;min-width:38px}.art-frame{width:230px}dialog{padding:24px}dialog h2{font-size:27px}.sound-dock{bottom:max(80px,calc(env(safe-area-inset-bottom) + 68px));left:14px}.hint{display:none}}@media(max-height:740px){.art-frame{width:170px;margin:12px auto}#entry h2{font-size:25px;margin:8px 0}#entry p{margin:8px 0}#entry .choice{margin:6px 0}#entry{padding:22px}#entry p:last-child{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.hide-labels #hotspots{display:none}.hotspot.is-hidden{opacity:0;pointer-events:none}.hotspot{max-width:230px}.scene-ready #sceneLoading{display:none}

@media(min-width:851px){.hint{top:72px;bottom:auto}}
