:root{--color-bg:#0d1420;--color-panel:#0d1420c2;--color-panel-strong:#0d1420f0;--color-text:#f7f3e9;--color-text-muted:#cfccc2;--color-accent:#e8c36a;--color-accent-hover:#f2d48a;--color-accent-press:#d4ad52;--color-accent-text:#1b1a14;--color-line:#f6f3ec42;--color-line-accent:#e8c36a99;--color-hover:#f6f3ec1f;--color-press:#f6f3ec0f;--color-focus:#fff;--color-seen:#5c6b7c;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-pill:999px;--tap:44px;--dock-height:60px;--gutter:clamp(12px, 2.2vw, 28px);--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;--font-display:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--font-size-xs:12px;--font-size-s:13px;--font-size-m:15px;--font-size-l:18px;--motion:.16s ease;--shadow:0 8px 28px #00000057}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--font);font-size:var(--font-size-m);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;line-height:1.7;overflow:hidden}p{margin:0}button{font:inherit;color:inherit}button:focus-visible,summary:focus-visible,.menu-panel:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.phrase{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.fx{pointer-events:none;z-index:6;width:100%;height:100%;position:fixed;inset:0}.panel{background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-l);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2)}.cta{min-height:var(--tap);padding:var(--space-1) var(--space-6);border-radius:var(--radius-pill);background:linear-gradient(180deg, var(--color-accent-hover), var(--color-accent));color:var(--color-accent-text);white-space:nowrap;cursor:pointer;transition:filter var(--motion), transform var(--motion);border:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:0 4px 18px #e8c36a47}.cta:hover{filter:brightness(1.07)}.cta:active{filter:brightness(.94);transform:translateY(1px)}.cta[aria-busy=true]{cursor:progress;opacity:.85}.cta-sub{min-height:var(--tap);padding:var(--space-1) var(--space-4);border:1px solid var(--color-line-accent);border-radius:var(--radius-pill);font-size:var(--font-size-s);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background-color var(--motion);background:#0d142066;overflow:hidden}.cta-sub:hover{background:var(--color-hover)}.cta-sub:active{background:var(--color-press)}.cta--large{min-height:54px;padding:var(--space-2) var(--space-8);font-size:17px}.pill{min-height:var(--tap);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-s);white-space:nowrap;cursor:pointer;transition:background-color var(--motion);background:0 0;border:1px solid #0000}.pill:hover{background:var(--color-hover)}.pill:active{background:var(--color-press)}.pill--line{border-color:var(--color-line-accent);padding-inline:var(--space-4)}.key{min-width:26px;height:26px;padding:0 var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-s);font-family:var(--font);font-size:var(--font-size-xs);white-space:nowrap;background:#f6f3ec1a;border-bottom-width:2px;place-items:center;font-weight:700;line-height:1;display:inline-grid}.meter{border-radius:var(--radius-pill);background:#f6f3ec33;height:3px;overflow:hidden}.meter span{background:var(--color-accent);width:0;height:100%;transition:width .24s;display:block}.meter.is-indeterminate span{width:34%;animation:1.15s ease-in-out infinite meter-run}@keyframes meter-run{0%{transform:translate(-110%)}to{transform:translate(310%)}}.hud{transition:opacity .6s}.is-title .hud,.is-cinematic .hud,.is-title .pins,.is-cinematic .pins{opacity:0;pointer-events:none;visibility:hidden}.hud-left{top:calc(var(--gutter) + env(safe-area-inset-top));left:calc(var(--gutter) + env(safe-area-inset-left));width:min(296px, calc(100vw - 2 * var(--gutter) - var(--tap) - var(--space-2)));gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.title{padding:var(--space-2) var(--space-4)}.kicker{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.06em;line-height:1.5}h1{font-family:var(--font-display);margin:0;font-size:clamp(16px,2.1vw,20px);font-weight:600;line-height:1.4}.quest{padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.quest-kicker{color:var(--color-accent);font-size:var(--font-size-xs);letter-spacing:.04em;font-weight:700;line-height:1.4}.quest-text{font-size:var(--font-size-s);line-height:1.55}.quest .cta{width:100%;padding-inline:var(--space-3);font-size:var(--font-size-m)}.hud-tools{top:calc(var(--gutter) + env(safe-area-inset-top));right:calc(var(--gutter) + env(safe-area-inset-right));gap:var(--space-2);display:flex;position:fixed}.tool{width:var(--tap);height:var(--tap);cursor:pointer;transition:background-color var(--motion);border-radius:50%;place-items:center;padding:0;display:grid}.tool:hover{background:var(--color-panel-strong)}.tool:active{background:var(--color-press)}.tool svg{fill:none;width:20px;height:20px;stroke:var(--color-text);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.tool[aria-pressed=false]{opacity:.72}.tool[aria-pressed=false] svg{stroke:var(--color-text-muted)}.room-map{--map-size:132px;top:calc(var(--gutter) + env(safe-area-inset-top) + var(--tap) + var(--space-2));right:calc(var(--gutter) + env(safe-area-inset-right));padding:var(--space-2);border-radius:var(--radius-m);pointer-events:none;position:fixed}.room-map.is-covered{display:none}.room-map svg{width:var(--map-size);max-height:var(--map-size);display:block}.room-map svg[data-shape=tall]{width:auto;height:var(--map-size)}.map-floor{fill:#f6f3ec2e;stroke:var(--color-line);stroke-width:1px;vector-effect:non-scaling-stroke}.map-exhibit{fill:var(--color-accent)}.map-exhibit.is-seen{fill:var(--color-seen)}.map-door{fill:var(--color-text-muted)}.map-door.is-next{fill:var(--color-accent);stroke:var(--color-text);stroke-width:1px;vector-effect:non-scaling-stroke}.map-player{fill:var(--color-focus);stroke:var(--color-bg);stroke-width:1px;vector-effect:non-scaling-stroke}.views{left:50%;bottom:calc(var(--gutter) + env(safe-area-inset-bottom));max-width:calc(100vw - 2 * var(--gutter));padding:var(--space-1);border-radius:var(--radius-pill);position:fixed;overflow:hidden;transform:translate(-50%)}.views-scroll{scrollbar-width:none;border-radius:var(--radius-pill);overflow-x:auto}.views-scroll::-webkit-scrollbar{display:none}.views-scroll.more-start{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px);mask-image:linear-gradient(90deg,#0000,#000 28px)}.views-scroll.more-end{-webkit-mask-image:linear-gradient(270deg,#0000,#000 28px);mask-image:linear-gradient(270deg,#0000,#000 28px)}.views-scroll.more-start.more-end{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000)}.views ul{gap:var(--space-1);width:max-content;margin:0;padding:0;list-style:none;display:flex}.dock-btn{min-height:var(--tap);padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);font-size:var(--font-size-s);white-space:nowrap;cursor:pointer;transition:background-color var(--motion);background:0 0;border:1px solid #0000}.dock-btn:hover{background:var(--color-hover)}.dock-btn:active{background:var(--color-press)}.dock-btn--accent{border-color:var(--color-line-accent)}.dock-btn[aria-pressed=true],.dock-btn[aria-pressed=true]:hover{background:var(--color-accent);color:var(--color-accent-text);border-color:#0000;font-weight:700}.prompt{left:50%;bottom:calc(var(--gutter) + env(safe-area-inset-bottom) + var(--dock-height) + var(--space-3));align-items:center;gap:var(--space-2);max-width:calc(100vw - 2 * var(--gutter));min-height:var(--tap);padding:var(--space-1) var(--space-4) var(--space-1) var(--space-2);border:1px solid var(--color-line-accent);border-radius:var(--radius-pill);background:var(--color-panel-strong);box-shadow:var(--shadow);font-size:var(--font-size-s);white-space:nowrap;cursor:pointer;animation:.22s both rise-in;display:flex;position:fixed;transform:translate(-50%)}.prompt span{text-overflow:ellipsis;overflow:hidden}.prompt:hover{background:#242c3af5}.prompt .key{background:var(--color-accent);color:var(--color-accent-text);border-color:#0000;flex:none}@media (pointer:coarse){#prompt-key{display:none}.prompt{left:auto;right:calc(var(--gutter) + env(safe-area-inset-right));max-width:calc(100vw - 2 * var(--gutter) - 148px);padding-left:var(--space-4);transform:none}}@keyframes rise-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}.coach{left:50%;top:calc(var(--gutter) + env(safe-area-inset-top));align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border-radius:var(--radius-pill);animation:.3s both rise-in;display:flex;position:fixed;transform:translate(-50%)}.coach-list{gap:var(--space-4);font-size:var(--font-size-s);white-space:nowrap;margin:0;padding:0;list-style:none;display:flex}.coach-list li{align-items:center;gap:3px;display:flex}.coach-list li .key:last-of-type{margin-right:var(--space-1)}.coach-close{width:var(--tap);height:var(--tap);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:18px}.coach-close:hover{background:var(--color-hover)}.joystick{left:calc(var(--gutter) + env(safe-area-inset-left) + var(--space-2));bottom:calc(var(--gutter) + env(safe-area-inset-bottom) + var(--dock-height) + var(--space-4));border:1px solid var(--color-line);touch-action:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d14206b;border-radius:50%;place-items:center;width:120px;height:120px;display:grid;position:fixed}.joystick-thumb{background:var(--color-accent);opacity:.92;width:52px;height:52px;box-shadow:var(--shadow);border-radius:50%}.pins{pointer-events:none;transition:opacity .5s;position:fixed;inset:0;overflow:hidden}.pin{align-items:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-2);border:1px solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-panel-strong);font-size:var(--font-size-s);white-space:nowrap;cursor:pointer;pointer-events:auto;transition:background-color var(--motion);line-height:1.3;display:flex;position:absolute;top:0;left:0;box-shadow:0 4px 14px #0000004d}.pin:hover{background:#242c3af5}.pin:active{background:var(--color-bg)}.pin-text{flex-direction:column;align-items:flex-start;display:flex}.pin-sub{font-size:var(--font-size-xs);font-weight:400}.pin-mark{background:var(--color-accent);width:22px;height:22px;color:var(--color-accent-text);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;line-height:1;display:grid}.pin-mark:before{content:"i";font-family:Georgia,serif;font-style:italic}.pin--door .pin-mark:before,.pin--door-next .pin-mark:before{content:"→";font-family:inherit;font-style:normal}.pin--step .pin-mark:before{content:"↑";font-family:inherit;font-style:normal}.pin--door{border-color:var(--color-line)}.pin--door .pin-mark{background:var(--color-text-muted)}.pin.is-seen{border-color:var(--color-line)}.pin.is-seen .pin-mark{background:var(--color-seen);color:var(--color-text)}.pin.is-seen .pin-mark:before{content:"✓";font-family:inherit;font-style:normal}.pin.is-dot{width:var(--tap);box-shadow:none;background:0 0;border-color:#0000;justify-content:center;padding:0}.pin.is-dot .pin-text{display:none}.pin.is-dot .pin-mark{box-shadow:0 0 0 2px var(--color-bg), 0 0 12px #e8c36ab3}.pin.is-dot.is-seen .pin-mark{box-shadow:0 0 0 2px var(--color-bg)}.pin.is-dot:hover .pin-mark{background:var(--color-text)}.pin--entrance,.pin--door-next{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent);font-weight:700;font-size:var(--font-size-m);animation:1.8s ease-in-out infinite pin-glow}.pin--entrance:hover,.pin--door-next:hover{background:var(--color-accent-hover)}.pin--entrance:active,.pin--door-next:active{background:var(--color-accent-press)}.pin--entrance .pin-mark,.pin--door-next .pin-mark{background:var(--color-accent-text);color:var(--color-accent)}.pin--entrance .pin-mark:before{content:"↓";font-family:inherit;font-style:normal}.pin.is-edge .pin-mark{transform:rotate(var(--pin-angle,0deg))}.pin.is-edge .pin-mark:before{content:"→";font-family:inherit;font-style:normal}.card-open .pin.is-edge{display:none}@keyframes pin-glow{0%,to{box-shadow:0 0 #e8c36aa6}50%{box-shadow:0 0 0 11px #e8c36a00}}.room-banner{padding:0 var(--space-6);font-family:var(--font-display);letter-spacing:.12em;white-space:nowrap;text-shadow:0 2px 22px #000000d9,0 0 2px #000000e6;pointer-events:none;opacity:0;margin:0;font-size:clamp(28px,6vw,52px);font-weight:600;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}.room-banner.is-playing{animation:2.2s both banner}@keyframes banner{0%{opacity:0;letter-spacing:.24em}22%,74%{opacity:1;letter-spacing:.12em}to{opacity:0}}.toasts{top:calc(var(--gutter) + env(safe-area-inset-top) + var(--tap) + var(--space-3));gap:var(--space-2);width:min(420px, calc(100vw - 2 * var(--gutter)));pointer-events:none;z-index:5;flex-direction:column;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{padding:var(--space-2) var(--space-6);border-color:var(--color-line-accent);background:var(--color-panel-strong);text-align:center;flex-direction:column;align-items:center;animation:3.2s both toast;display:flex}.toast strong{font-size:var(--font-size-m);color:var(--color-accent)}.toast span{color:var(--color-text-muted);font-size:var(--font-size-xs)}@keyframes toast{0%{opacity:0;translate:0 -10px}8%,88%{opacity:1;translate:0}to{opacity:0}}.guide-card{z-index:3;top:calc(var(--gutter) + env(safe-area-inset-top));right:calc(var(--gutter) + env(safe-area-inset-right));max-height:calc(100dvh - 2 * var(--gutter) - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:var(--color-panel-strong);flex-direction:column;width:372px;animation:.28s cubic-bezier(.2,.8,.2,1) both card-in;display:flex;position:fixed;overflow:hidden}@keyframes card-in{0%{opacity:0;translate:18px}to{opacity:1;translate:0}}.card-figure{background:#000;flex:none;margin:0}.card-figure img{object-fit:contain;width:100%;max-height:212px;display:block}.card-content{min-height:0;padding:var(--space-4);flex:0 auto;overflow-y:auto}.card-content p{margin-bottom:var(--space-2)}.card-kind{color:var(--color-accent);font-size:var(--font-size-xs);letter-spacing:.04em;font-weight:700}.card-title{margin:0 0 var(--space-2);font-family:var(--font-display);outline:none;font-size:22px;font-weight:600;line-height:1.4}.card-real{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-line);color:var(--color-text-muted);font-size:var(--font-size-s)}.card-real h3{margin:0 0 var(--space-1);color:var(--color-accent);font-size:var(--font-size-xs);letter-spacing:.04em}.card-note{color:var(--color-text-muted);font-size:var(--font-size-xs)}.card-actions{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-top:1px solid var(--color-line);flex:none;display:flex}.card-count{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap}.card-close{margin-left:auto}.tour-bar{z-index:4;left:50%;top:calc(var(--gutter) + env(safe-area-inset-top));align-items:center;gap:var(--space-3);padding:0 var(--space-1) 0 var(--space-4);border-radius:var(--radius-pill);white-space:nowrap;font-size:var(--font-size-s);display:flex;position:fixed;transform:translate(-50%)}.tour-dot{background:var(--color-accent);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}dialog{color:var(--color-text)}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05090f9e}.menu{width:min(640px, calc(100vw - 2 * var(--gutter)));max-height:min(720px, calc(100dvh - 2 * var(--gutter)));border:1px solid var(--color-line);border-radius:var(--radius-l);background:var(--color-panel-strong);box-shadow:var(--shadow);padding:0;overflow:hidden}.menu[open]{flex-direction:column;animation:.22s both rise-in;display:flex}.menu-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--color-line);flex:none;display:flex}.tabs{gap:var(--space-1);scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.tab{min-height:var(--tap);padding:0 var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-s);white-space:nowrap;cursor:pointer;background:0 0;border:0}.tab:hover{background:var(--color-hover)}.tab[aria-selected=true]{background:var(--color-accent);color:var(--color-accent-text);font-weight:700}.menu-panel{min-height:0;padding:var(--space-4);flex:auto;overflow-y:auto}.menu-heading{margin:var(--space-4) 0 var(--space-2);color:var(--color-accent);font-size:var(--font-size-s);letter-spacing:.04em}.menu-heading:first-child{margin-top:0}.menu-text{margin-bottom:var(--space-3);color:var(--color-text-muted)}.menu-more{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-s)}.menu-more summary{min-height:var(--tap);cursor:pointer;align-items:center;display:flex}.control-list{gap:var(--space-2) var(--space-4);font-size:var(--font-size-s);grid-template-columns:minmax(96px,max-content) 1fr;align-items:center;margin:0;display:grid}.control-list dt{color:var(--color-text-muted)}.control-list dd{align-items:center;gap:var(--space-1);flex-wrap:wrap;margin:0;display:flex}.joiner{color:var(--color-text-muted);font-size:var(--font-size-xs);padding-inline:2px}.symbol-list{gap:var(--space-3);font-size:var(--font-size-s);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.symbol-list li{gap:var(--space-3);display:flex}.symbol-list p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.6}.sym{background:var(--color-accent);border-radius:50%;flex:none;width:26px;height:26px}.sym--beam{background:linear-gradient(0deg, var(--color-accent), transparent);border-radius:4px;width:12px;margin-inline:7px}.sym--step{background:var(--color-accent)}.sym--info{box-shadow:0 0 10px #e8c36ab3}.sym--door{border-radius:var(--radius-pill);width:38px}.room-list{gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.room-list li{gap:2px var(--space-3);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-m);grid-template-columns:1fr auto;align-items:center;display:grid}.room-list li.is-current{border-color:var(--color-line-accent)}.room-list h4{align-items:baseline;gap:var(--space-2);font-family:var(--font-display);font-size:var(--font-size-m);flex-wrap:wrap;grid-column:1;margin:0;font-weight:600;display:flex}.room-list p{color:var(--color-text-muted);font-size:var(--font-size-xs);grid-column:1;line-height:1.6}.room-list .pill,.room-here{grid-area:1/2/span 2}.room-count{color:var(--color-accent);font-family:var(--font);font-size:var(--font-size-xs);font-weight:400}.room-here{color:var(--color-accent);font-size:var(--font-size-xs);white-space:nowrap;font-weight:700}.complete{width:min(440px, calc(100vw - 2 * var(--gutter)));padding:var(--space-8) var(--space-6);border:1px solid var(--color-line-accent);border-radius:var(--radius-l);background:var(--color-panel-strong);text-align:center}.complete h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:26px;font-weight:600}.complete p:not(.eyebrow){margin-bottom:var(--space-6);color:var(--color-text-muted)}.letterbox{pointer-events:none;z-index:7;position:fixed;inset:0}.letterbox span{background:#000;height:11vh;transition:transform .8s cubic-bezier(.2,.7,.2,1);position:absolute;left:0;right:0}.letterbox span:first-child{top:0;transform:translateY(-100%)}.letterbox span:last-child{bottom:0;transform:translateY(100%)}.is-cinematic .letterbox span{transform:none}.cinema{z-index:8;height:11vh;min-height:56px;padding:0 calc(var(--gutter) + 88px);justify-content:center;align-items:center;display:flex;position:fixed;inset:auto 0 0}.cinema-text{font-family:var(--font-display);text-align:center;opacity:0;font-size:clamp(14px,2.1vw,21px);line-height:1.5}.cinema-text.is-on{animation:4.2s both caption}@keyframes caption{0%{opacity:0;translate:0 6px}14%,84%{opacity:1;translate:0}to{opacity:0}}.cinema-skip{right:calc(var(--gutter) + env(safe-area-inset-right));border-color:var(--color-line);position:absolute;top:50%;transform:translateY(-50%)}.loader{z-index:20;padding:calc(var(--gutter) + env(safe-area-inset-top)) var(--space-6);background:radial-gradient(120% 90% at 50% 40%, #182436, var(--color-bg) 62%, #060a11);opacity:0;place-items:center;transition:opacity .3s;display:grid;position:fixed;inset:0}.loader.is-on{opacity:1}.loader-inner{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;width:min(560px,100%);display:flex}.loader-mark{fill:none;width:64px;height:40px;stroke:var(--color-accent);stroke-width:1.4px;stroke-linejoin:round}.loader-title{font-family:var(--font-display);letter-spacing:.08em;font-size:clamp(26px,5vw,42px);font-weight:600;line-height:1.3}.loader-sub{min-height:1.7em;color:var(--color-text-muted);font-size:var(--font-size-s)}.loader-meter{width:min(260px,70%);margin-top:var(--space-2)}.loader-tip{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs)}.title-screen{z-index:15;padding:calc(var(--gutter) + env(safe-area-inset-top)) clamp(24px, 7vw, 96px) calc(var(--gutter) + env(safe-area-inset-bottom));background:linear-gradient(90deg, #060a11e0 0%, #060a1175 46%, #060a1100 72%), linear-gradient(0deg, #060a1180, #060a1100 34%), url(../assets/poster.webp) center / cover no-repeat, var(--color-bg);align-items:center;transition:opacity 1s;display:flex;position:fixed;inset:0}.title-screen.is-leaving{opacity:0;pointer-events:none}.title-content{gap:var(--space-3);flex-direction:column;width:min(560px,100%);animation:.9s both rise-in;display:flex}.eyebrow{color:var(--color-accent);font-size:var(--font-size-s);letter-spacing:.22em}.start-title{font-family:var(--font-display);letter-spacing:.02em;word-break:keep-all;text-shadow:0 2px 26px #00000080;margin:0;font-size:clamp(34px,6.2vw,72px);font-weight:600;line-height:1.2}.tagline{color:var(--color-text);word-break:keep-all;text-shadow:0 1px 14px #0009;font-size:clamp(14px,1.9vw,19px)}.title-actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.title-actions .cta-sub{font-size:var(--font-size-m)}.title-status{width:min(320px,100%);margin-top:var(--space-3)}.title-progress{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);text-shadow:0 1px 8px #000000b3}@media (max-width:899px){.room-map{--map-size:96px;top:calc(var(--gutter) + env(safe-area-inset-top) + 4 * var(--tap) + 4 * var(--space-2))}.hud-tools{flex-direction:column}.coach{top:auto;bottom:calc(var(--gutter) + env(safe-area-inset-bottom) + var(--dock-height) + 148px);max-width:calc(100vw - 2 * var(--gutter))}.coach-list{gap:var(--space-2);font-size:var(--font-size-xs);flex-wrap:wrap}.quest-secondary,#quest-secondary{display:none}.guide-card{border-radius:var(--radius-l) var(--radius-l) 0 0;width:min(100%,560px);max-height:62dvh;padding-bottom:env(safe-area-inset-bottom);border-width:1px 1px 0;animation-name:sheet-in;inset:auto auto 0 50%;transform:translate(-50%)}.card-figure img{height:clamp(112px,20dvh,200px);max-height:none}.card-title{font-size:19px}.card-open .hud-left{display:none}.card-open .views{visibility:hidden}.tour-bar{top:auto;bottom:calc(var(--gutter) + env(safe-area-inset-bottom) + var(--dock-height) + var(--space-3))}.card-open .tour-bar{top:calc(var(--gutter) + env(safe-area-inset-top));bottom:auto}}@media (max-width:899px) and (min-height:481px){.cinema{gap:var(--space-3);height:auto;min-height:112px;padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) 84px;display:grid}.cinema-skip{position:static;transform:none}.cinema-text{text-align:left;font-size:14px;line-height:1.6}.letterbox span{height:112px}}@keyframes sheet-in{0%{opacity:0;translate:0 24px}to{opacity:1;translate:0}}@media (max-width:559px){.kicker{display:none}.title{padding:var(--space-1) var(--space-3)}.quest{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.title-screen{background:linear-gradient(0deg, #060a11eb 0%, #060a11b8 52%, #060a1100 84%), url(../assets/poster.webp) 42% center / cover no-repeat, var(--color-bg);align-items:flex-end}.title-actions .cta,.title-actions .cta-sub{flex:100%}.room-list li{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.room-list .pill,.room-here{grid-area:auto/1;justify-self:start}.room-list p{font-size:var(--font-size-s);line-height:1.65}.room-banner{font-size:28px;top:38%}.room-map{--map-size:72px;padding:6px}.coach{left:var(--gutter);max-width:min(280px, calc(100vw - 2 * var(--gutter)));padding-left:var(--space-3);transform:none}}@media (pointer:coarse) and (max-width:559px){.prompt{max-width:calc(100vw - 2 * var(--gutter) - 136px);white-space:normal;border-radius:var(--radius-l);padding:var(--space-2) var(--space-3)}.prompt span{overflow-wrap:anywhere;line-height:1.45;overflow:visible}}@media (min-width:1024px) and (min-height:600px){.title-content{gap:var(--space-4);width:min(680px,52vw)}.start-title{font-size:clamp(60px,5vw,88px);line-height:1.18}.tagline{font-size:19px}.title-actions{margin-top:var(--space-6);gap:var(--space-4)}.title-actions .cta{min-width:220px;min-height:58px}.title-actions .cta-sub{min-width:180px;min-height:58px}}@media (max-height:480px){.hud-left{flex-direction:row;align-items:center;width:auto;max-width:52vw}.kicker,.quest-kicker,.quest-text,.quest-meter,#quest-meter,#quest-secondary{display:none}.title{padding:var(--space-1) var(--space-3)}h1{font-size:var(--font-size-s);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.quest{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex:none;padding:0}.quest .cta{font-size:var(--font-size-s);padding-inline:var(--space-3)}.hud-tools{gap:var(--space-1);flex-direction:row}.room-map{display:none}.joystick{width:96px;height:96px;bottom:calc(var(--gutter) + env(safe-area-inset-bottom) + var(--dock-height) + var(--space-1))}.joystick-thumb{width:42px;height:42px}.coach{display:none}.views{bottom:calc(var(--space-2) + env(safe-area-inset-bottom))}.guide-card{border-radius:var(--radius-l) 0 0 var(--radius-l);border-width:0 0 0 1px;width:min(50vw,360px);max-height:none;animation-name:card-in;inset:0 0 0 auto;transform:none}.card-figure img{max-height:92px}.card-open .hud-left{display:flex}.card-open .hud-tools{display:none}.title-screen{align-items:center}.title-content{gap:var(--space-1)}.start-title{font-size:30px}.title-actions{margin-top:var(--space-1);flex-wrap:nowrap}.cta--large{min-height:var(--tap);padding-inline:var(--space-4);font-size:var(--font-size-m)}.title-actions .cta,.title-actions .cta-sub{flex:none}.title-status{margin-top:var(--space-1)}.loader-sub{display:none}.loader-inner{gap:var(--space-1)}.loader-mark{width:44px;height:28px}.letterbox span,.cinema{height:13vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.room-banner.is-playing,.cinema-text.is-on{opacity:1}}
