.room-open{overflow:hidden}.entry-room{position:fixed;inset:0;z-index:200;background:#17151e;color:#e9dfd4;overflow:hidden;font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif}.entry-room #room-canvas{position:absolute;inset:0}.entry-room canvas{display:block;width:100%;height:100%;outline:none}.room-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,transparent 30%,#100c0c40 75%,#100c0c88),linear-gradient(0deg,#100c10b8 0%,transparent 40%,#100b0c33)}.room-grain{position:absolute;inset:0;pointer-events:none;opacity:.08;background:repeating-linear-gradient(0deg,transparent 0 2px,#e2d4bd50 2px 3px);mix-blend-mode:soft-light}.room-top{position:absolute;top:32px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.room-wordmark{font:700 25px/1.2 Consolas,monospace;letter-spacing:.1em}.room-wordmark span{display:block;font:8px/1.5 Consolas,monospace;color:#c8b5a3;margin-top:8px;letter-spacing:.17em}.room-mode{display:flex;padding:5px;border:1px solid #d9c8b933;border-radius:30px;background:#251c1a55;backdrop-filter:blur(8px)}.room-mode button{padding:9px 18px;font-size:11px;color:#c8bcae;border-radius:22px;transition:background .3s}.room-mode button[aria-pressed=true]{background:#c8b7a52b;color:#fff4e5}.room-skip{padding:10px 0;color:#d3c8bd;font-size:11px}.room-caption{position:absolute;left:40px;bottom:94px;max-width:500px;pointer-events:none;text-shadow:0 2px 20px #120b08}.room-kicker{font:9px Consolas,monospace;letter-spacing:.22em;color:#cbb89f}.room-caption h1{font-size:clamp(24px,3.2vw,44px);font-weight:500;letter-spacing:.08em;line-height:1.4;margin:14px 0 9px}.room-caption p{font-size:11px;color:#bdb2a7;line-height:1.9;margin:0 0 20px}.room-caption button{pointer-events:auto;display:flex;justify-content:space-between;gap:34px;align-items:center;padding:12px 17px;border:1px solid #e1ccb466;color:#f0e3d2;font-size:11px;background:#21181380;backdrop-filter:blur(10px);transition:.3s}.room-caption button:hover{background:#82675088;border-color:#e1ccb4}.room-bottom{position:absolute;left:40px;right:40px;bottom:30px;display:flex;justify-content:space-between;align-items:center;color:#b5a99d;font:8px Consolas,"Microsoft YaHei",monospace;letter-spacing:.12em}.room-bottom button{font-size:9px;letter-spacing:.1em}.room-fallback{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;background:radial-gradient(ellipse at 55% 40%,#62506c,#1b1720 65%)}.room-fallback>span{font:700 clamp(45px,12vw,140px) Consolas,monospace;letter-spacing:.1em}.room-fallback p{font-size:12px;color:#bdaacc}.entry-room button:focus-visible,.entry-room a:focus-visible{outline:2px solid #d9bf9f;outline-offset:5px}
@media(max-width:700px){.room-top{top:23px;left:20px;right:20px;gap:12px;flex-wrap:wrap}.room-wordmark{font-size:20px}.room-mode{order:3;margin:auto}.room-mode button{font-size:10px;padding:7px 15px}.room-skip{font-size:10px}.room-caption{left:23px;bottom:96px;right:23px}.room-caption h1{font-size:27px}.room-caption p{font-size:10px;max-width:310px}.room-bottom{left:23px;right:23px;bottom:25px;font-size:7px}.room-bottom>span:nth-child(2){display:none}.room-caption button{padding:11px 15px;font-size:10px}.room-vignette{background:linear-gradient(0deg,#100c10eb,transparent 60%,#100c1055)}}
@media(prefers-reduced-motion:reduce){.entry-room *{transition:none!important}}
.room-screen-handoff{position:fixed;inset:0;z-index:201;transform-origin:0 0;overflow:hidden;background:#141318;pointer-events:none;box-shadow:0 0 50px #c9b4e533;will-change:transform,opacity}.room-screen-handoff>.site{width:100%;min-height:100vh;margin:0 auto}.entry-room .room-caption,.entry-room .room-top,.entry-room .room-bottom{transition:opacity .4s,transform .7s}.entry-room.is-entering .room-caption,.entry-room.is-entering .room-bottom{opacity:0;transform:translateY(10px);pointer-events:none}.entry-room.is-entering .room-mode{opacity:0;pointer-events:none}
.gallery-controls{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);width:max-content;max-width:90vw;text-align:center;padding:12px 18px;background:#17152cd9;border:1px solid #8476a955;border-radius:9px;backdrop-filter:blur(12px)}.gallery-controls p{font-size:10px;color:#beb0d4;margin:0 0 10px}.gallery-controls>div{display:flex;align-items:center;justify-content:center;gap:15px;font-size:11px}.gallery-controls button{border:1px solid #9b83af66;padding:7px 12px}.room-caption.gallery-caption{bottom:auto;top:140px;max-width:300px}.gallery-caption h1{font-size:22px}.gallery-caption .room-kicker{display:none}.gallery-caption button{display:none}.cassette-controls{position:absolute;right:36px;bottom:95px;width:290px;max-width:40vw;pointer-events:auto;background:#1c1714a8;border:1px solid #baa68a44;backdrop-filter:blur(10px);padding:16px}.cassette-controls p{font-size:11px;color:#d1c0ad;min-height:20px;line-height:1.8}.cassette-controls>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.cassette-controls button{display:flex;flex-direction:column;gap:5px;text-align:left;padding:9px 10px;background:#ac947a28;border:1px solid #c5ae8f55;font-size:12px}.cassette-controls button span{font:8px Consolas,monospace;color:#bdaa92}.cassette-controls button:hover{background:#b7986e55}.cassette-controls button:disabled{opacity:.45}.entry-room.is-entering .cassette-controls,.entry-room.is-entering .gallery-controls{opacity:0;pointer-events:none;transition:opacity .3s}@media(max-width:700px){.cassette-controls{right:20px;left:20px;bottom:74px;max-width:none;width:auto;padding:12px}.cassette-controls>div{grid-template-columns:repeat(4,1fr)}.cassette-controls button{font-size:10px;padding:6px}.cassette-controls p{margin:8px 0;font-size:9px}.room-caption:has(+.room-bottom){bottom:285px;max-width:300px}.room-caption h1{font-size:22px}.gallery-controls{bottom:25px;width:85vw;box-sizing:border-box}.gallery-controls>div{gap:8px;font-size:9px}.room-caption.gallery-caption{top:145px;bottom:auto}.entry-room:has(.gallery-controls) .room-bottom{display:none}}
.cassette-controls{width:350px}.cassette-controls>div{grid-template-columns:repeat(4,1fr)}.cassette-controls button{font-size:11px}@media(max-width:700px){.cassette-controls{width:auto;max-width:none}.cassette-controls>div{grid-template-columns:repeat(4,1fr)}.cassette-controls button{font-size:9px;gap:3px}.room-caption:has(+.room-bottom){bottom:320px}.room-caption p{margin-bottom:9px}}
@media(min-width:701px){.cassette-controls{top:135px;bottom:auto;width:285px;padding:14px}.cassette-controls button{padding:8px;font-size:10px}.cassette-controls p{font-size:10px}.cassette-controls .room-kicker{font-size:8px}}
@media(max-width:700px){.room-caption:not(.gallery-caption){top:112px;bottom:auto;left:22px;right:22px;max-width:none}.room-caption:not(.gallery-caption) h1,.room-caption:not(.gallery-caption) .room-kicker,.room-caption:not(.gallery-caption) button{display:none}.room-caption:not(.gallery-caption) p{font-size:9px;max-width:none}}
.room-actions{display:flex;align-items:center;gap:22px}.room-actions button{font-size:11px}.entry-room:has(.room-actions) .room-top{pointer-events:none}.entry-room .room-top a,.entry-room .room-top button{pointer-events:auto}.entry-room .room-caption{max-width:390px}.room-bottom>span:nth-child(2){font-size:9px;letter-spacing:.04em}.entry-room .room-caption p{line-height:1.9}.entry-room:has(.room-actions) .room-grain{opacity:.055}@media(max-width:700px){.room-actions{gap:14px}.room-actions .room-skip{font-size:9px}.room-top{gap:8px}.room-mode{order:3}.entry-room .room-bottom{left:16px;right:16px}.entry-room .room-caption:not(.gallery-caption){top:auto;bottom:65px}.entry-room .room-caption:not(.gallery-caption) p{font-size:10px}}
body.room-open>.ambient-site-background{visibility:hidden}body.room-open>.site *{animation-play-state:paused!important}
.entry-room .room-caption h1,.entry-room .room-caption #room-enter-button{display:none}.entry-room .room-caption{bottom:72px;max-width:440px}.entry-room .room-caption p{margin:9px 0 0;font-size:10px}.entry-room .room-caption .room-kicker{font-size:8px}

/* Compact, non-overlapping room controls. */
.room-audio-panel{position:absolute;z-index:12;right:28px;top:105px;width:310px;max-height:calc(100dvh - 190px);overflow:auto;background:#25221eeF;border:1px solid #a8947055;border-radius:10px;padding:20px;backdrop-filter:blur(15px);color:#dfd5c2;font:12px/1.7 sans-serif;box-shadow:0 15px 45px #0006}.room-audio-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font:12px monospace;letter-spacing:.12em}.room-audio-panel button{border:1px solid #a18c6c66;border-radius:4px;padding:7px 12px;color:#e4d6bd;background:#63544333}.room-audio-panel button[aria-pressed=true]{background:#8e7e5e66}.room-audio-panel label{display:grid;gap:10px;margin-bottom:16px}.room-audio-panel input[type=range]{width:100%;accent-color:#c0a877}.room-audio-panel input[type=file]{font-size:11px;width:100%;padding:8px;background:#191a17;border:1px solid #83725744}.room-audio-panel p{font-size:11px;color:#cfbea2}.room-audio-panel small{font-size:10px;color:#a2937d}.room-audio-panel .cd-buttons{display:flex;gap:8px;margin:14px 0}.room-audio-panel .visitor-toggle{display:flex;align-items:center;margin-top:18px}.room-top .room-actions{display:flex;align-items:center;gap:13px}.room-top .room-actions button{font-size:11px}.gallery-controls{bottom:85px!important;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 40px);padding:12px 20px!important;border-radius:30px!important;background:#191729c9!important;backdrop-filter:blur(12px);border:1px solid #a792d944}.gallery-controls p{font-size:10px!important;margin:0 0 8px!important;color:#bdb0cf}.gallery-controls>div{gap:14px}.gallery-controls button{padding:5px 10px!important;min-width:34px!important;height:auto!important}.gallery-controls span{font-size:10px!important}.room-bottom{font-size:9px!important;gap:15px}.room-bottom>span:nth-child(2){text-align:center;max-width:55%}.room-caption.gallery-caption{display:none!important}
@media(max-width:700px){.room-top{padding:18px 16px!important;flex-wrap:wrap;gap:10px}.room-wordmark{font-size:21px!important}.room-top .room-actions{gap:10px}.room-top .room-actions button{font-size:10px}.room-mode{top:75px!important}.room-audio-panel{right:12px;top:125px;width:min(310px,calc(100vw - 24px));max-height:calc(100dvh - 200px)}.room-bottom>span:first-child{display:none}.room-bottom>span:nth-child(2){max-width:75%;font-size:8px}.gallery-controls{bottom:75px!important;max-width:calc(100vw - 24px)}.gallery-controls p{max-width:270px;white-space:normal}.gallery-controls span{display:none}}
