:root{--player-paper:#fffdf7;--player-cream:#fff8e8;--player-forest:#4f6b57;--player-forest-deep:#324a3a;--player-honey:#d6a95b;--player-lavender:#ddd5ea;--player-coral:#e9a48f;--player-night:#3e4b68;--player-text:#3d3a34;--player-muted:#746f65;--player-line:#4f6b5740;--player-shadow:0 10px 28px #483e2d1a;color:var(--player-text);background:var(--player-cream);font-synthesis:none;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,YuGothic,Noto Sans JP,sans-serif}*{box-sizing:border-box}html{background:var(--player-cream);scroll-behavior:smooth;min-width:320px}body{background:radial-gradient(circle at 12% 8%, #e9a48f29, transparent 26rem), radial-gradient(circle at 90% 24%, #ddd5ea47, transparent 24rem), var(--player-cream);min-width:320px;min-height:100vh;color:var(--player-text);margin:0;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.68}a{color:var(--player-forest-deep)}:focus-visible{outline:3px solid var(--player-night);outline-offset:3px}.player-skip-link{z-index:100;border:1px solid var(--player-forest-deep);background:var(--player-paper);min-height:44px;color:var(--player-forest-deep);border-radius:999px;padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.player-skip-link:focus{transform:translateY(0)}.story-player{width:min(100%,1440px);min-height:100vh;padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));margin:0 auto}.story-player--mode{place-items:center;display:grid}.player-loading,.player-mode-card,.player-error{border:1px solid var(--player-line);background:var(--player-paper);width:min(100% - 1.5rem,760px);box-shadow:var(--player-shadow);border-radius:24px;margin:10vh auto;padding:clamp(1.25rem,4vw,2rem)}.player-mode-card h1,.player-error h1{color:var(--player-forest-deep);text-wrap:balance;margin:.25rem 0 .9rem;font-size:clamp(1.55rem,4.8vw,2.15rem);line-height:1.45}.player-mode-card>p:not(.player-eyebrow,.player-notice){font-size:clamp(1rem,2.8vw,1.12rem);line-height:1.85}.player-mode-options{gap:.9rem;margin:1.5rem 0;display:grid}.player-mode-option{border:1px solid var(--player-forest);background:var(--player-paper);min-height:96px;color:var(--player-text);text-align:left;border-radius:18px;gap:.35rem;padding:1rem 1.1rem;transition:background-color .2s,color .2s,border-color .2s;display:grid}.player-mode-option:hover,.player-mode-option:focus-visible{border-color:var(--player-forest-deep);background:var(--player-forest-deep);color:#fff}.player-mode-option strong{font-size:1.08rem}.player-mode-option span{line-height:1.65}.player-toolbar{z-index:20;top:max(.5rem, env(safe-area-inset-top));border:1px solid var(--player-line);backdrop-filter:blur(12px);background:#fffdf7f0;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;margin-bottom:.8rem;padding:.65rem .75rem;display:flex;position:sticky;box-shadow:0 6px 20px #483e2d14}.player-toolbar>div,.player-toolbar__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.player-exit-link,.player-text-link{min-height:44px;color:var(--player-forest-deep);text-underline-offset:.2em;align-items:center;font-weight:700;display:inline-flex}.player-exit-link:hover,.player-text-link:hover{color:var(--player-coral)}.player-mode-label,.player-place-count{color:var(--player-muted);font-size:.86rem}.player-stage{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:start;gap:clamp(1rem,2.5vw,2rem);width:min(100%,1240px);margin:0 auto;display:grid}.player-scene{border:1px solid var(--player-line);background:var(--player-forest-deep);min-height:min(64vh,680px);box-shadow:var(--player-shadow);border-radius:28px;position:sticky;top:6.8rem;overflow:hidden}.player-scene__background,.player-scene__wash{width:100%;height:100%;position:absolute;inset:0}.player-scene__background{object-fit:cover;transition:transform .3s}.player-scene:hover .player-scene__background{transform:scale(1.02)}.player-scene__wash{pointer-events:none;background:linear-gradient(#0000 46%,#324a3ab8),linear-gradient(#fffdf714,#0000 30%)}.player-cast{pointer-events:none;justify-content:center;align-items:flex-end;gap:clamp(.15rem,1vw,.65rem);display:flex;position:absolute;bottom:0;left:clamp(.5rem,2vw,1.25rem);right:clamp(.5rem,2vw,1.25rem)}.player-cast__portrait{object-fit:contain;filter:drop-shadow(0 10px 14px #2625203d);width:min(19%,150px);max-height:min(45vh,360px)}.player-cast__fallback{background:var(--player-paper);width:64px;height:64px;color:var(--player-forest-deep);border:1px solid #ffffffc7;border-radius:50%;place-items:center;margin-bottom:1rem;font-weight:800;display:grid}.player-story-card{border:1px solid var(--player-line);background:var(--player-paper);min-width:0;box-shadow:var(--player-shadow);border-radius:28px;padding:clamp(1.15rem,3vw,2rem)}.player-story-card h2{color:var(--player-forest-deep);text-wrap:balance;margin:.2rem 0 1.1rem;font-size:clamp(1.35rem,3.2vw,1.8rem);line-height:1.5}.player-story-card h3,.clue-pocket h3{color:var(--player-forest-deep);margin:1.4rem 0 .7rem;font-size:clamp(1.05rem,2.5vw,1.2rem);line-height:1.55}.player-eyebrow{color:var(--player-forest);letter-spacing:.08em;margin:0;font-size:.78rem;font-weight:800}.player-lines{gap:.9rem;display:grid}.player-line{margin:0;font-size:clamp(1.06rem,2.4vw,1.18rem);line-height:1.85}.player-line--dialogue{background:#fff8e8b8;border:1px solid #4f6b5733;border-radius:16px;gap:.35rem;padding:.9rem 1rem;display:grid}.player-line--dialogue strong{color:var(--player-forest-deep);font-size:.82rem}.player-line--sound{color:var(--player-night);text-align:center;font-style:italic}.player-prompt{margin:1.4rem 0 .8rem;font-weight:800;line-height:1.7}.player-choice-list{gap:.65rem;margin-top:1rem;display:grid}.player-choice,.player-button{border:1px solid var(--player-forest);border-radius:999px;min-height:44px;transition:background-color .2s,color .2s,border-color .2s}.player-choice{background:var(--player-paper);width:100%;color:var(--player-text);text-align:left;padding:.85rem 1rem;font-weight:700}.player-choice:hover,.player-choice:focus-visible,.player-choice[aria-pressed=true]{border-color:var(--player-forest-deep);background:var(--player-forest-deep);color:#fff}.player-button{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.7rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.player-button--primary{border-color:var(--player-forest-deep);background:var(--player-forest-deep);color:#fff}.player-button--primary:hover,.player-button--primary:focus-visible,.player-button--secondary,.player-button--quiet,.player-button--pocket{background:var(--player-paper);color:var(--player-forest-deep)}.player-button--secondary:hover,.player-button--quiet:hover,.player-button--pocket:hover{border-color:var(--player-forest-deep);background:var(--player-forest-deep);color:#fff}.player-button--quiet,.player-button--pocket{margin-top:0;padding:.55rem .8rem;font-size:.84rem}.player-button--pocket span{background:var(--player-honey);min-width:1.55rem;height:1.55rem;color:var(--player-text);border-radius:50%;place-items:center;font-size:.75rem;display:grid}.player-interaction,.player-hints,.player-complete{border:1px solid var(--player-line);background:#fff8e894;border-radius:18px;margin-top:1.5rem;padding:1rem}.player-interaction__actions,.player-hints__actions,.player-complete__actions{flex-wrap:wrap;gap:.7rem;display:flex}.player-feedback,.player-hint,.player-notice{background:#ddd5ea66;border:1px solid #3e4b6838;border-radius:14px;padding:.8rem .9rem;line-height:1.7}.player-notice--toolbar{text-align:center;width:min(100%,860px);margin:0 auto .8rem}.clue-pocket-backdrop{z-index:60;background:#324a3a6b;justify-items:end;display:grid;position:fixed;inset:0}.clue-pocket{width:min(92vw,440px);height:100%;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) 1rem;border:1px solid var(--player-line);background:var(--player-paper);border-radius:24px 0 0 24px;overflow-y:auto;box-shadow:-12px 0 34px #324a3a2e}.clue-pocket__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.clue-pocket__header h2{color:var(--player-forest-deep);margin:.2rem 0 0;font-size:1.45rem}.clue-pocket__list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.clue-pocket__list li{border:1px solid var(--player-line);background:var(--player-cream);border-radius:14px;gap:.3rem;padding:.8rem;display:grid}.clue-pocket__list strong{color:var(--player-forest-deep)}.clue-pocket__list span{color:var(--player-muted);font-size:.9rem;line-height:1.6}.player-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px){.player-stage{grid-template-columns:1fr;width:min(100%,760px)}.player-scene{min-height:clamp(280px,62vw,480px);position:relative;top:auto}}@media (width<=600px){.story-player{padding:max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left))}.player-toolbar{align-items:stretch}.player-toolbar>div,.player-toolbar__actions{justify-content:space-between;width:100%}.player-mode-label,.player-place-count{display:none}.player-button--quiet,.player-button--pocket{flex:1}.player-scene{border-radius:22px;min-height:280px}.player-story-card{border-radius:22px}.player-line{font-size:clamp(1.06rem,4.5vw,1.18rem);line-height:1.85}.clue-pocket-backdrop{place-items:end stretch}.clue-pocket{border-radius:24px 24px 0 0;width:100%;height:auto;max-height:min(84vh,720px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
