body.prototype-game{height:100dvh;display:flex;flex-direction:column;overflow:hidden;margin:0;background:#07111d}body.prototype-game #arena{height:100dvh;min-height:0}body.prototype-game.touch-mode #arena{height:calc(100dvh - env(safe-area-inset-top))}.entry-recovery[hidden]{display:none}.entry-recovery{position:fixed;z-index:1001;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);box-sizing:border-box;color:#dce7e9;font:13px/1.5 system-ui,sans-serif}.entry-recovery p{margin:0}.entry-recovery p:empty{display:none}.entry-recovery[data-prolonged=true],.entry-recovery[data-phase=error]{padding:12px;border:1px solid #536b77;border-radius:12px;background:#101c28;box-shadow:0 6px 24px #0006}.entry-recovery #prototype-exit{flex-shrink:0;min-width:44px;min-height:44px;padding:8px;border:1px solid #536b77;border-radius:50%;background:#101c28;color:#eff3ee;font:24px/1 system-ui,sans-serif;cursor:pointer}.entry-recovery[data-phase=error] #prototype-exit{border-radius:8px;font:600 12px/1.4 system-ui,sans-serif}.entry-recovery #prototype-exit:focus-visible{outline:2px solid #eff3ee;outline-offset:3px}@media(max-width:500px){.entry-recovery[data-phase=error]{align-items:stretch;flex-direction:column}}.cinematic-scene{position:fixed;inset:0;width:100vw;height:100dvh;z-index:1000;overflow:hidden;background:#07111d;box-shadow:inset 0 0 0 1px #526a79;pointer-events:none;contain:strict}.cinematic-scene canvas{display:block;width:100%;height:100%;object-fit:cover}body.cinematic-departing{overflow:hidden}.cinematic-observer{position:fixed;z-index:1000;overflow:hidden;background:#07111d;pointer-events:none;contain:strict}.cinematic-observer canvas{display:block;width:100%;height:100%}.cinematic-observer[data-entry-paced=true] canvas{position:absolute;width:min(100%,1400px);height:min(100%,1200px);left:50%;top:50%;transform:translate(-50%,-50%)}.cinematic-observer[data-entry-paced=true]{background-color:#07111d;background-image:radial-gradient(circle at 24% 38%,#526776 1px,transparent 1px),radial-gradient(circle at 73% 61%,#526776 1px,transparent 1px);background-size:137px 179px,227px 251px}.cinematic-landing-presentation{position:fixed;inset:0;z-index:999;overflow:hidden;pointer-events:none;contain:strict}.cinematic-landing-backdrop{position:absolute;inset:0;background:var(--bg, #080f17)}.cinematic-landing-group,.cinematic-landing-chrome{position:absolute;box-sizing:border-box;pointer-events:none}.cinematic-observer[data-entry-paced=true]{z-index:999}.cinematic-landing-presentation[data-entry-paced=true]{z-index:1000}.cinematic-landing-presentation[data-entry-paced=true] .cinematic-landing-backdrop{background:transparent}.cinematic-entry-shutter{position:absolute;background:var(--bg, #080f17);pointer-events:none;will-change:transform}.guest-landing .observation{display:flex;flex-direction:column;background:#07111d;min-width:0}.observer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--line)}.observer-toolbar .eyebrow{font-size:10px}.observer-toolbar button{padding:8px;font-size:11px;white-space:nowrap}.observer-scene{position:relative;flex:1;display:block;width:100%;padding:0;border:0;border-radius:0;min-height:410px;background:#07111d;text-align:left;overflow:hidden;cursor:pointer}.observer-scene canvas{position:absolute;inset:0;width:100%;height:100%}.observer-scene:focus-visible{outline:3px solid var(--theme-focus, #d8bd82);outline-offset:-5px}.observer-invite{position:absolute;bottom:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;padding:16px;color:var(--text);border:1px solid var(--line);background:#0b1620ee;font-size:14px}.observer-invite b{color:var(--amber);font-size:22px}.observer-scene:hover .observer-invite{border-color:var(--amber)}.observer-footer{padding:20px 24px;border-top:1px solid var(--line)}.observer-footer p{font-size:12px;line-height:1.6;margin:8px 0 0;color:var(--muted)}#observer-status{font-size:13px;color:var(--text)}[data-state=live] #observer-status:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#8bb8a2}[data-state=stale] canvas,[data-state=paused] canvas{opacity:.5}@media(max-width:900px){.observer-scene{min-height:380px}}@media(max-width:380px){.observer-toolbar,.observer-footer{padding:16px}.observer-invite{left:16px;right:16px;padding:12px}}
