:root{--bg: #0b0c0e;--void: #05080c;--ink: #ecebe7;--ink-2: #a4a6aa;--ink-3: #6b6e73;--cyan: #6fd6e8;--sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--void);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}.room{position:relative;height:100vh;height:100svh;overflow:hidden}.room-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.room-canvas:active{cursor:grabbing}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 52%,#05080c00 46%,#05080c47 80%,#05080c9e)}.arrive{position:absolute;top:0;right:0;bottom:0;left:0;background:#e2ffff;pointer-events:none;animation:clear 1.1s ease-out forwards}@keyframes clear{to{opacity:0}}@media(prefers-reduced-motion:reduce){.arrive{animation-duration:1ms}}.room-head,.room-caption,.room-hint{text-shadow:0 1px 14px rgba(3,6,10,.95),0 0 3px rgba(3,6,10,.9)}.room-head:before{content:"";position:absolute;top:-22px;right:-40px;bottom:-18px;left:-36px;background:radial-gradient(ellipse at 20% 40%,#04070bdb,#04070b00 72%);pointer-events:none;z-index:-1}.room-head{position:absolute;top:clamp(18px,3.2vw,44px);left:clamp(18px,3.2vw,44px);z-index:3}.room-back{display:inline-block;color:var(--ink-2);text-decoration:none;font-size:13px;letter-spacing:.04em;margin-bottom:10px}.room-back:hover{color:var(--cyan)}.room-title{margin:0;font-size:clamp(24px,2.1vw,34px);font-weight:300;letter-spacing:-.01em}.room-sub{margin:4px 0 0;font-size:clamp(13px,1.05vw,15px);color:var(--cyan);font-weight:300}.room-caption:before{content:"";position:absolute;top:-20px;right:-44px;bottom:-20px;left:-44px;background:radial-gradient(ellipse at center,#04070be0,#04070b00 74%);pointer-events:none;z-index:-1}.room-caption{position:absolute;left:50%;bottom:clamp(26px,5vw,58px);transform:translate(-50%,10px);z-index:3;text-align:center;max-width:min(560px,82vw);opacity:0;transition:opacity .42s ease,transform .42s ease;pointer-events:none}.room-caption.is-on{opacity:1;transform:translate(-50%)}.room-caption h2{margin:0;font-size:clamp(17px,1.5vw,22px);font-weight:400}.room-caption p{margin:5px 0 0;font-size:14px;color:var(--ink-2);font-weight:300}.room-hint{position:absolute;right:clamp(18px,3.2vw,44px);bottom:clamp(18px,3.2vw,44px);z-index:3;font-size:12px;letter-spacing:.05em;color:var(--ink-3);transition:opacity .5s ease}.room-hint.is-off{opacity:0}.fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow-y:auto;background:var(--void);padding:clamp(80px,12vw,140px) clamp(18px,3.2vw,44px) 60px;display:none}.fallback.is-on{display:block}.fallback ul{list-style:none;margin:0 auto;padding:0;max-width:960px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.fallback img{width:100%;height:auto;display:block;border:1px solid rgba(111,214,232,.26)}.fallback h2{margin:12px 0 2px;font-size:16px;font-weight:400}.fallback p{margin:0;font-size:14px;color:var(--ink-2);font-weight:300}@media(max-width:760px){.room-hint{display:none}}
