/* FLOW leads the home; the remaining games retain their existing list. */
.flow-hero{height:min(790px,calc(100svh - 86px));min-height:600px;justify-content:flex-start;padding:72px max(7vw,28px) 110px;isolation:isolate;background:#02050d}
.flow-film,.flow-film-shade{position:absolute;inset:0;z-index:-2;pointer-events:none}.flow-film video,.flow-poster{position:absolute;width:100%;height:100%;object-fit:cover;object-position:67% 50%}.flow-film video{opacity:0;transition:opacity .6s}.flow-film video.ready{opacity:1}.flow-film-shade{z-index:-1;background:linear-gradient(90deg,rgba(2,5,13,.88),rgba(2,5,13,.6) 35%,rgba(2,5,13,.06) 75%),linear-gradient(0deg,#0b0e1a,transparent 27%,transparent 88%,#0b0e1a66)}
.flow-hero #sky,.flow-hero .mark,.flow-hero .presence-whispers{display:none}.flow-hero .center{max-width:590px;padding:0;text-align:left;pointer-events:auto}.flow-kicker{color:#cee8e2;font-size:12px;letter-spacing:.52em;margin-bottom:14px}.flow-hero h2{font:400 clamp(86px,11vw,164px)/.86 var(--sans);letter-spacing:.055em;margin:0 0 28px -7px;color:#f2efe6}.flow-hero .slogan{font-size:clamp(21px,2.4vw,30px);line-height:1.6;margin-bottom:12px}.flow-description{font-size:13px;line-height:1.95;color:#d4dadbba}.flow-hero .slogan-en{font-size:9px;letter-spacing:.25em;margin:23px 0 28px;color:#9dc1bd}.flow-hero .hero-actions{justify-content:flex-start;gap:12px}.flow-play,.flow-choose{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:0 26px;border-radius:4px;font-size:12px;font-weight:500;letter-spacing:.07em;text-decoration:none;transition:background .2s,transform .2s}.flow-play{background:#e9efe8;color:#0b1718;border:1px solid #e9efe8}.flow-play:hover{background:#fff;transform:translateY(-2px)}.flow-play span{font-size:11px}.flow-choose{border:1px solid #f2efe63b;color:#e8eeeb;background:#0b111a70}.flow-choose:hover{background:#26303b}.flow-explore{display:inline-block;margin-top:24px;color:#d2dadd8c;font-size:10px;letter-spacing:.05em;text-decoration:none}.flow-explore span{margin-left:14px}.flow-film-controls{position:absolute;bottom:45px;right:max(7vw,28px);display:flex;gap:18px;align-items:center}.flow-film-label{font-size:8px;letter-spacing:.18em;color:#e7efec88}.flow-scenes{display:flex;gap:4px}.flow-scenes button,#flowVideoToggle{display:grid;place-items:center;min-width:42px;min-height:44px;border:0;background:transparent;color:#ecf5f16b;cursor:pointer;font:11px var(--sans)}.flow-scenes button{border-bottom:1px solid #d5e9e533}.flow-scenes button[aria-pressed=true]{color:#e9efe8;border-bottom-color:#e9efe8}#flowVideoToggle{border:1px solid #d5e9e530;border-radius:50%;font-size:15px}.flow-hero a:focus-visible,.flow-hero button:focus-visible{outline:2px solid #c3f5e9;outline-offset:5px}.flow-hero .presence-head{left:max(7vw,28px);bottom:42px;transform:none;text-align:left;font-size:10px}.flow-hero .presence-head b{font-size:12px}.flow-hero .presence-head small{font-size:7px}.flow-hero .presence-breakdown{font-size:8px}
@media(max-width:700px){.flow-hero{height:calc(100svh - 86px);min-height:640px;max-height:860px;padding:100px 24px 140px;align-items:flex-end}.flow-film video,.flow-poster{object-position:60% 30%}.flow-film-shade{background:linear-gradient(0deg,#0b0e1a 1%,#030713d9 19%,#03071370 62%,#03071322),linear-gradient(90deg,#02050d70,transparent)}.flow-hero h2{font-size:94px;margin-bottom:24px}.flow-kicker{font-size:10px}.flow-hero .slogan{font-size:23px}.flow-description{font-size:12px}.flow-hero .slogan-en{margin:20px 0 24px;font-size:8px}.flow-play,.flow-choose{min-height:50px;padding:0 21px;font-size:11px}.flow-hero .hero-actions{gap:9px}.flow-explore{margin-top:22px}.flow-film-controls{left:24px;right:auto;bottom:60px;gap:12px}.flow-hero .presence-head{display:none}.flow-film-label{font-size:7px}.flow-scenes button{min-width:36px}.flow-hero .center{width:100%}}
@media(prefers-reduced-motion:reduce){.flow-film video,.flow-play,.flow-choose{transition:none}}
.flow-player{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#02050d;color:#f2efe6;overflow:hidden}.flow-player::backdrop{background:#02050d}.flow-player-bar{height:48px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff18;font:10px var(--sans);letter-spacing:.16em}.flow-player-bar button{min-height:44px;border:0;background:transparent;color:#f2efe6;font:12px var(--sans);cursor:pointer;padding:0 10px}.flow-player iframe{display:block;width:100%;height:calc(100% - 48px);border:0;background:#02050d}.flow-player-loading{position:absolute;inset:48px 0 0;display:grid;place-content:center;text-align:center;gap:20px;color:#bce3d8;font:14px var(--sans);pointer-events:none;background:#02050d}.flow-player-loading[hidden]{display:none}.flow-player-loading a{pointer-events:auto;color:#f2efe6;font-size:12px}
/* Three best games share one preview header. The title and play target follow the film. */
.flow-description{white-space:pre-line}.best-game-tabs{position:absolute;z-index:2;top:28px;left:max(7vw,28px);right:max(7vw,28px);display:flex;gap:24px;align-items:center}.best-game-tabs>span{font-size:8px;letter-spacing:.19em;color:#f2efe67a;margin-right:8px}.best-game-tabs button{position:relative;min-height:44px;border:0;border-bottom:1px solid transparent;background:transparent;color:#f2efe665;font:11px var(--sans);letter-spacing:.08em;cursor:pointer}.best-game-tabs button[aria-pressed=true]{color:var(--best-accent,#bce3d8);border-bottom-color:var(--best-accent,#bce3d8)}.flow-hero[data-game=survivor] h2{font-size:clamp(52px,6.6vw,96px);letter-spacing:.015em;margin-left:-3px}.flow-hero[data-game=beat] .flow-film video,.flow-hero[data-game=beat] .flow-poster{object-position:55% 50%}.flow-film-label{color:#e7efecac}.best-games-heading{font:500 11px var(--sans);letter-spacing:.18em;color:#f2efe6a0;margin:18px 0 4px}.other-games-heading{margin-top:38px}.mcard.featured[data-i="6"]{--best-accent:#bce3d8}.mcard.featured[data-i="0"]{--best-accent:#a79bf2}.mcard.featured[data-i="7"]{--best-accent:#c6b9f4}.mcard.featured[data-i="2"]{--best-accent:#e8b44a}.mcard.featured{border-color:color-mix(in srgb,var(--best-accent) 55%,transparent);background:linear-gradient(100deg,color-mix(in srgb,var(--best-accent) 9%,transparent),transparent 75%),#ffffff05;box-shadow:none}.mcard.featured:before{color:var(--best-accent)}.flow-play[aria-disabled=true]{opacity:.65;cursor:progress}
@media(max-width:700px){.best-game-tabs{top:20px;left:24px;right:24px;gap:19px;flex-wrap:wrap}.best-game-tabs>span{flex-basis:100%;margin:0 0 -15px}.best-game-tabs button{font-size:10px}.flow-hero[data-game=survivor] h2{font-size:clamp(42px,11vw,72px);margin-bottom:28px}.flow-film-controls{gap:10px}.flow-film-label{position:absolute;left:0;bottom:51px;white-space:nowrap}.flow-scenes button{min-width:38px}.flow-hero[data-game=beat] .flow-film video,.flow-hero[data-game=beat] .flow-poster{object-position:50% 50%}.flow-hero[data-game=survivor] .flow-film video,.flow-hero[data-game=survivor] .flow-poster{object-position:50% 50%}}
/* Keep BEAT's complete portrait playfield sharp, with its native framing. */
@media(min-width:701px){.flow-hero[data-game=beat] .flow-film{left:42%;right:2%}.flow-hero[data-game=beat] .flow-film video,.flow-hero[data-game=beat] .flow-poster{object-fit:contain;object-position:center}.flow-hero[data-game=beat] .flow-film-shade{background:linear-gradient(90deg,#02050d 8%,#02050dbb 33%,transparent 64%),linear-gradient(0deg,#0b0e1a,transparent 20%)}}
