.room-page{--room:#120c09;--room-ink:#f3e4c8;--room-line:#f3e4c847;--room-accent:#f4c47a;flex:1;display:block;overflow-x:clip}.room-page .scene{height:calc(100svh - var(--bar-h));background:var(--room);min-height:540px;color:var(--room-ink);position:relative;overflow:hidden}.room-page .stage{position:absolute;top:0;left:0}.room-page .stage canvas{image-rendering:pixelated;opacity:0;transition:opacity .6s;position:absolute;inset:0}.room-page .stage canvas.hi{image-rendering:auto}.room-page .stage canvas.far{opacity:1;inset:auto}.room-page.is-arriving .text,.room-page.is-arriving .tab{opacity:0;transition:none}.room-page .hand{z-index:6;pointer-events:none;transform-origin:16.5px 4.8px;filter:drop-shadow(0 6px 10px #00000073);width:46px;height:46px;position:absolute;top:0;left:0}.room-page .hand svg{width:100%;height:100%;display:block}.room-page .stage.is-ready canvas{opacity:1}.room-page .hits{position:absolute;top:0;left:0}.room-page .hit{cursor:pointer;background:0 0;border:0;position:absolute}.room-page .hit:focus-visible{outline:2px solid var(--room-accent);outline-offset:2px}.room-page .text{z-index:3;pointer-events:none;max-width:380px;transition:opacity .3s;position:absolute;top:34px;left:max(32px,3.2vw)}.room-page h1{letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(30px,2.7vw,48px);font-weight:820;font-stretch:125%;line-height:.9}.room-page .line{margin-top:12px;font-size:clamp(16px,1.25vw,20px);font-weight:650;font-stretch:112%}.room-page .hint{color:var(--room-accent);margin-top:16px;font-size:15px;font-weight:550}.room-page .tab{z-index:4;background:var(--cream);color:var(--plum);transition:transform .38s var(--ease-out), opacity .2s ease;border:0;flex-direction:column;align-items:center;gap:10px;padding:16px 10px 14px 12px;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:-6px 0 24px #00000059}.room-page .tab[hidden]{display:none}.room-page .tab svg{width:26px;height:26px}.room-page .tab span{writing-mode:vertical-rl;letter-spacing:.06em;text-transform:uppercase;font-size:15px;font-weight:750;transform:rotate(180deg)}.room-page .tab b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.room-page .tab .chev{width:16px;height:16px}.room-page .tab:focus-visible{outline:2px solid var(--rust);outline-offset:-5px}.room-page .tab:after{content:"";background:inherit;width:12px;position:absolute;top:0;bottom:0;left:100%}@media (hover:hover) and (pointer:fine){.room-page .tab:hover{transform:translateY(-50%)translate(-4px)}}.room-page .tab.is-hidden{opacity:0;pointer-events:none;transform:translateY(-50%)translate(110%)}.room-page .panel{z-index:5;max-width:560px;color:var(--room-ink);border:1px solid var(--room-line);background:#160e0aeb;flex-direction:column;margin:0 0 0 auto;display:flex;position:relative}.room-page.has-room .panel{top:28px;right:28px;bottom:calc(28px + var(--pad-b,0px));visibility:hidden;width:min(420px,34vw);max-width:none;transition:transform .52s var(--ease-out), visibility 0s .52s;position:absolute;transform:translate(calc(100% + 40px));box-shadow:0 30px 60px #00000073}.room-page.has-room .panel.is-open{visibility:visible;transition:transform .52s var(--ease-out);transform:none}.room-page.is-boot .panel,.room-page.is-boot .tab{transition:none}.room-page .panel .ph{border-bottom:1px solid var(--room-line);justify-content:space-between;align-items:center;min-height:64px;padding:18px 12px 14px 22px;display:flex}.room-page .panel h2{text-transform:uppercase;letter-spacing:-.02em;font-size:22px;font-weight:800;font-stretch:118%}.room-page .panel .close{width:44px;height:44px;color:inherit;background:0 0;border:0;place-items:center;display:grid}.room-page .panel .close[hidden]{display:none}.room-page .panel .close svg{width:20px;height:20px}.room-page .panel ol{scrollbar-color:var(--room-line) transparent;flex:1;list-style:none;overflow-y:auto}.room-page .panel li{border-bottom:1px solid var(--room-line)}.room-page .panel li button{text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 18px 10px 14px;display:grid}.room-page .panel li button:disabled{cursor:default}.room-page .panel li canvas{width:44px;height:44px;image-rendering:pixelated}.room-page .panel li b{font-size:17px;font-weight:760;font-stretch:112%;display:block}.room-page .panel li small{opacity:.78;margin-top:2px;font-size:13.5px;display:block}.room-page .panel li .ln{font-variant-numeric:tabular-nums;opacity:.85;align-items:center;gap:10px;font-size:13.5px;display:flex}.room-page .panel li .ln i{width:16px;height:16px;display:grid}.room-page .panel li .ln svg{width:16px;height:16px}.room-page .panel li.is-current b{color:var(--room-accent)}.room-page .panel li button:focus-visible{outline:2px solid var(--room-accent);outline-offset:-3px}.room-page .panel .fill-up:before{background:#f3e4c81f}.room-page .panel li.is-current .fill-up:before{clip-path:inset(0)}@media (hover:hover) and (pointer:fine){.room-page .panel .fill-up:hover{color:var(--room-ink)}}.room-page .panel .note,.room-page .panel .empty{opacity:.85;border-top:1px solid var(--room-line);padding:14px 22px 18px;font-size:13.5px;line-height:1.5}.room-page .panel .empty{border-top:0;flex:1}.room-page~.tip,.tip{z-index:30;pointer-events:none;background:var(--cream);color:var(--plum);opacity:0;transition:opacity .16s ease, transform .16s var(--ease-out);padding:8px 12px;font-size:14px;line-height:1.3;position:fixed;transform:translateY(4px)}.tip b{font-size:15px;font-weight:760;display:block}.tip.is-on{opacity:1;transform:none}.room-page .about{max-width:760px;padding:56px max(28px,3.2vw) 64px}.room-page .about p{opacity:.86;max-width:34em;font-size:17.5px;line-height:1.6}.room-page .about p+p{margin-top:16px}.room-page .beat-info{border-bottom:1px solid var(--plum);margin-bottom:40px;padding-bottom:32px}.room-page .beat-info[hidden]{display:none}.room-page .beat-info .kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--rust-text);opacity:1;font-size:13px;font-weight:750}.room-page .beat-info h2{letter-spacing:-.03em;text-transform:uppercase;overflow-wrap:anywhere;margin-top:8px;font-size:clamp(30px,4vw,46px);font-weight:820;font-stretch:125%;line-height:.95}.room-page .about .beat-info .meta{opacity:.75;margin-top:10px;font-size:15px;font-weight:600}.room-page .about .beat-info .meta:empty{display:none}.room-page .about .beat-info .words{margin-top:14px}.room-page .about .cta{margin-top:32px}.player{z-index:45;background:var(--plum);height:64px;color:var(--cream);visibility:hidden;transition:transform .42s var(--ease-out), visibility 0s .42s;border-top:1px solid #f5e6cd4d;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(calc(100% + 2px))}.player.is-on{visibility:visible;transition:transform .42s var(--ease-out);transform:none}.player button{width:64px;color:inherit;background:0 0;border:0;flex:none;place-items:center;display:grid}.player>*+*,.player>*+button{border-left:1px solid #f5e6cd4d}.player button svg{width:22px;height:22px}.player .now{flex:0 320px;align-items:center;gap:12px;min-width:0;padding:0 16px;display:flex}.player .now canvas{width:40px;height:40px;image-rendering:pixelated;flex:none}.player .now b{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:760;font-stretch:112%;display:block;overflow:hidden}.player .now small{opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;display:block;overflow:hidden}.player .seek{font-variant-numeric:tabular-nums;flex:1;align-items:center;gap:14px;padding:0 20px;font-size:13px;display:flex}.player input[type=range]{accent-color:#f4c47a;flex:1;min-width:60px;height:28px}.player .ask{white-space:nowrap;align-items:center;gap:10px;padding:0 22px;font-size:15px;font-weight:650;display:flex}.player .ask svg{width:20px;height:20px}.player .fill-up:before{background:var(--cream)}@media (hover:hover) and (pointer:fine){.player .fill-up:hover{color:var(--plum)}}.player :focus-visible{outline-offset:-5px;outline:2px solid #f4c47a}body.has-player .room-page{--pad-b:64px}body.has-player .a11y{bottom:135px}body.has-player .consent{bottom:76px}@media (width<=899px){.room-page .scene{height:auto;min-height:0;color:var(--plum);padding-top:var(--room-h,0px);background:linear-gradient(var(--room) var(--room-h,0px), var(--cream) 0);flex-direction:column;display:flex;overflow:clip}.room-page .text{order:3;max-width:none;padding:20px 16px 8px;position:static}.room-page h1{font-size:clamp(30px,11.9048vw - 3.80952px,52px)}.room-page .hint{color:var(--rust-text)}.room-page .tab{background:var(--room);width:100%;min-height:56px;color:var(--room-ink);box-shadow:none;border-top:1px solid var(--room-line);font:inherit;text-align:left;flex-direction:row;order:1;gap:12px;padding:0 16px;transition:none;position:relative;top:auto;right:auto;transform:none}.room-page .tab:after{display:none}.room-page .tab svg{width:22px;height:22px}.room-page .tab span{writing-mode:horizontal-tb;transform:none}.room-page .tab .chev{transition:transform .24s var(--ease-out);transform:rotate(-90deg)}.room-page .tab[aria-expanded=true] .chev{transform:rotate(90deg)}@media (hover:hover) and (pointer:fine){.room-page .tab:hover{transform:none}}.room-page .panel{border-width:1px 0 0;order:2;max-width:none;margin:0}.room-page.has-room .panel{width:auto;box-shadow:none;visibility:visible;background:var(--room);transition:none;display:none;position:static;transform:none}.room-page.has-room .panel.is-open{display:flex}.room-page.has-room .panel .ph,.room-page.has-room .panel .note{display:none}.room-page .about{padding:28px 16px 40px}.player{height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);bottom:0}.player button{width:60px}.player .seek{height:28px;padding:0;position:absolute;top:-15px;left:0;right:0;border:0!important}.player .ask{border-left:1px solid #f5e6cd4d}.player .seek span{display:none}.player .now{flex:1;padding:0 12px}.player .now canvas{width:36px;height:36px}.player .prev{display:none}.player .ask{padding:0 14px}.player .ask span:not(.sr){display:none}body.has-player .room-page{--pad-b:60px}body.has-player .a11y{bottom:calc(env(safe-area-inset-bottom) + 72px)}body.has-player .bigmark{padding-bottom:calc(136px + env(safe-area-inset-bottom))}body.has-player .consent{bottom:calc(env(safe-area-inset-bottom) + 72px)}}@media (prefers-reduced-motion:reduce){.room-page .stage canvas,.room-page .panel,.room-page .tab,.player{transition:none}}
