@font-face{font-family:Newsreader;src:url(/fonts/newsreader-latin-opsz-normal.woff2) format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--serif: "Newsreader", Georgia, "Times New Roman", serif;--sans: "Hanken Grotesk", -apple-system, system-ui, "Segoe UI", sans-serif}.welcome{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;isolation:isolate;display:grid;align-items:end;justify-items:center;padding:24px 20px calc(32px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,#0e0b104d,#0e0b1000 30%,#0e0b10cc 62%,#0e0b10f5);color:#f5efe5;text-align:center;-webkit-user-select:none;user-select:none}.welcome:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 80% 55% at 50% 38%,rgba(107,21,39,.5),transparent 70%),#0e0b10;transition:opacity 1.8s ease}.welcome.is-open:before{opacity:0}.welcome-panel{display:grid;justify-items:center;gap:16px;width:min(100%,420px);animation:welcome-arrive 1.2s ease both}.welcome-kicker{font:600 .8rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#e3cf9f}.welcome-names,.welcome-title{font-family:var(--serif);font-weight:500;line-height:1.05;text-wrap:balance}.welcome-names{font-size:clamp(2.5rem,12vw,3.8rem)}.welcome-names span{color:#e3cf9f}.welcome-title{font-size:2.2rem}.welcome-line{max-width:24rem;font-size:1.15rem;line-height:1.5;color:#f5efe5eb}.welcome-hint{max-width:22rem;font-size:.98rem;line-height:1.5;color:#f5efe5b8}.welcome-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin-top:6px;border:1px solid transparent;border-radius:2px;background:#f5efe5;color:#0e0b10;font:600 1.08rem/1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .4s ease,opacity .4s ease}.welcome-button:hover:not(:disabled){background:#e3cf9f}.welcome-button:disabled{opacity:.45;cursor:default}.welcome-button.is-quiet{background:transparent;border-color:#f5efe573;color:#f5efe5}.welcome-link{min-height:44px;padding:0 12px;border:0;background:none;color:#f5efe5bf;font:500 .98rem/1 var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-top:4px}.welcome-choice{display:grid;justify-items:center;gap:8px;padding:22px 10px 18px;border:1px solid rgba(227,207,159,.4);border-radius:2px;background:#f5efe50f;color:#f5efe5;font:500 1.7rem/1.1 var(--serif);overflow-wrap:anywhere;cursor:pointer;transition:background-color .4s ease,border-color .4s ease}.welcome-choice:hover:not(:disabled){background:#f5efe51f;border-color:#e3cf9f}.welcome-choice:disabled{opacity:.45;cursor:default}.welcome-choice small{font:500 .9rem/1 var(--sans);color:#f5efe5b8}.welcome-dot{width:10px;height:10px;border-radius:50%}.welcome-count{font:400 5.5rem/1 var(--serif);color:#e3cf9f;animation:welcome-count 1s ease both}.welcome-loading{display:grid;justify-items:center;gap:14px;margin-top:8px;font-size:.95rem;color:#f5efe5b8}.welcome-progress{width:140px;height:1px;overflow:hidden;background:#e3cf9f40}.welcome-progress:before{content:"";display:block;height:100%;background:#e3cf9f;transform:scaleX(var(--arrived));transform-origin:left;transition:transform .6s ease}.welcome-progress.is-unknown:before{transform:none;background:linear-gradient(90deg,transparent 0 30%,#e3cf9f 50%,transparent 70% 100%) 0 0 / 300% 100%;animation:welcome-shimmer 2.2s ease-in-out infinite}@media(min-width:900px){.welcome{padding-bottom:9vh}}@keyframes welcome-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes welcome-count{0%{opacity:0;transform:scale(1.25)}to{opacity:1;transform:none}}@keyframes welcome-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.welcome-panel,.welcome-count{animation:none}.welcome-progress:before{animation:none;transition:none}}.hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;text-shadow:0 1px 10px rgba(0,0,0,.55)}.hud-room{position:absolute;top:calc(env(safe-area-inset-top) + 64px);left:50%;font:500 1.45rem/1.1 var(--serif);white-space:nowrap;transform:translate(-50%);opacity:0;animation:hud-room 4.5s ease both}.hud-partner,.hud-sound{position:absolute;top:calc(env(safe-area-inset-top) + 14px);display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:999px;background:#0e0b1080;font:500 .92rem/1 var(--sans);text-shadow:none}.hud-partner{left:14px}.hud-dot{width:9px;height:9px;border-radius:50%}.hud-sound{right:14px;min-height:44px;border:1px solid rgba(245,239,229,.45);color:#f5efe5;pointer-events:auto;cursor:pointer}.hud-arrival{position:absolute;top:calc(env(safe-area-inset-top) + 108px);left:50%;padding:12px 22px;border-radius:999px;background:#0e0b1099;font:500 1.2rem/1 var(--serif);white-space:nowrap;text-shadow:none;transform:translate(-50%);animation:hud-arrival 4s ease both}.hud-hint{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);padding:8px 14px;border-radius:999px;background:#0e0b1073;font:500 .9rem/1.2 var(--sans);white-space:nowrap;text-shadow:none;transform:translate(-50%)}@keyframes hud-room{0%{opacity:0;transform:translate(-50%,8px)}18%,72%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@keyframes hud-arrival{0%{opacity:0;transform:translate(-50%,-6px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.hud-room,.hud-arrival{animation:none;opacity:1}}html,body,#root{margin:0;height:100%;overflow:hidden;background:#0e0b10;color:#f5efe5;font-family:var(--sans);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#root{height:100dvh;position:relative}canvas{touch-action:none;display:block}p,h1{margin:0}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#0000 55%,#1e120a59)}.controls{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.joystick-ring,.joystick-knob{position:absolute;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s ease-out}.joystick-ring.on,.joystick-knob.on{opacity:1;transition-duration:.12s}.joystick-ring{width:110px;height:110px;border:2px solid rgba(255,255,255,.35);background:#00000026}.joystick-knob{width:48px;height:48px;background:#ffffff8c}.film-source{position:fixed;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}.name-tag{padding:5px 12px;border-radius:999px;background:#0e0b1099;font:600 .9rem/1 var(--sans);white-space:nowrap}
