.game-page .masthead{align-items:center;padding-top:16px;padding-bottom:24px}
.game-page .main-nav{padding-top:0}
.game-page .brand img{width:148px;height:auto}
.game-main{max-width:1280px}
.player-shell{background:#101820;border:1px solid #e4e8ee;border-radius:16px;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto}
.game-stage{position:relative;width:100%;min-width:0;height:min(720px,calc(100dvh - 165px));min-height:320px;aspect-ratio:auto;background:#101820;overflow:hidden}
.game-stage iframe{display:block;border:0;width:100%;height:100%;min-width:0;position:absolute;inset:0;background:#101820}
.game-loading{position:absolute;inset:0;z-index:2;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#101820;color:#fff;pointer-events:none}
.game-loading>img{width:100%;height:100%;object-fit:cover}
.loading-status{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;font-size:14px;font-weight:600;line-height:1.5;background:#101820}
.loading-dot{height:8px;width:8px;background:#e63937;border-radius:50%;animation:loading-pulse 1s ease-in-out infinite alternate}
@keyframes loading-pulse{to{opacity:.35}}
.player-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:12px 20px;background:white;color:var(--ink)}
.player-identity{display:flex;align-items:baseline;gap:14px;min-width:0}
.player-identity h1{font-size:21px;letter-spacing:-.04em;font-weight:800;line-height:1.3}
.player-identity>span{font-size:12px;color:var(--muted);font-weight:600}
.player-button{border:1px solid #dde2e9;border-radius:9px;background:white;color:var(--ink);padding:10px 13px;font:650 14px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.025em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:42px;-webkit-tap-highlight-color:transparent}
.player-button:hover{background:#f3f5fa;border-color:#bac3d2}
.player-button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.player-button svg,.next-heading svg{stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.player-button.primary{background:var(--accent);border-color:var(--accent);color:white;padding-inline:22px}
.game-error{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:#101820;color:white;padding:28px;text-align:center}
.game-error p{font-size:15px;line-height:1.5;max-width:380px;color:#bdc7d4}
.game-error .error-title{font-size:28px;font-weight:800;letter-spacing:-.04em;color:white}
[hidden]{display:none!important}
.game-information{display:grid;grid-template-columns:1.5fr 1fr;gap:72px;margin-top:34px}
.game-information h2,.play-next h2{font-size:24px;line-height:1.3;letter-spacing:-.04em;font-weight:800}
.game-description>p{font-size:16px;line-height:1.75;letter-spacing:-.015em;color:#526078;max-width:650px;margin-top:12px}
.beta-progress{margin-top:20px;color:var(--muted);font-size:13px;line-height:1.65}
.beta-progress summary{cursor:pointer;font-weight:650;color:#526078;text-underline-offset:4px}
.beta-progress summary:hover{color:var(--accent)}
.beta-progress p{margin-top:9px;max-width:590px}
.beta-progress a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.game-controls{border-left:1px solid var(--rule);padding-left:32px}
.game-controls p{font-size:14px;line-height:1.6;margin-top:12px}
.game-controls strong{display:block;font-size:13px;font-weight:800;margin-bottom:3px}
.game-controls p span{color:#526078}
.game-controls .save-note{font-size:12px;color:var(--muted);margin-top:15px}
.play-next{margin-top:40px;padding-top:27px;border-top:1px solid var(--rule)}
.next-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.next-heading>a{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;color:var(--accent)}
.next-games{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:20px}
.next-games article{display:flex;align-items:center;gap:18px;min-width:0}
.next-game-art{width:148px;flex:0 0 148px;aspect-ratio:1.5;border-radius:10px;overflow:hidden}
.next-game-art img{width:100%;height:100%;object-fit:contain;padding:3px}
.next-games h3{font-size:16px;font-weight:800;line-height:1.4;letter-spacing:-.03em}
.next-games p{font-size:13px;color:var(--muted);margin-top:4px}
.game-page .site-footer{padding-top:38px}
.no-script-note{font-size:16px;color:var(--ink);padding-top:24px}
.player-shell.is-expanded{border:0;border-radius:0;width:100%;height:100%;max-width:none;background:#101820;grid-template-rows:minmax(0,1fr) auto}
.player-shell.is-expanded .game-stage{width:100%;height:100%;aspect-ratio:auto;max-height:none;min-height:0}
.player-shell.is-expanded .player-toolbar{background:#101820;color:white;padding-bottom:max(12px,env(safe-area-inset-bottom));padding-right:max(20px,env(safe-area-inset-right));padding-left:max(20px,env(safe-area-inset-left))}
.player-shell.is-expanded .player-button{background:#24303d;border-color:#3d4b5d;color:white}
.player-shell.is-expanded .player-identity>span{color:#aab7c9}
.player-shell.is-expanded{position:fixed;inset:auto;top:var(--player-viewport-top,0px);left:var(--player-viewport-left,0px);z-index:100;margin:0;width:var(--player-viewport-width,100%);height:100vh;height:var(--player-viewport-height,100dvh)}
/* Native fullscreen owns its viewport; visual-viewport pixels are for the in-page fallback. */
.player-shell:fullscreen{inset:0;width:100%;height:100%;margin:0}
.player-shell:-webkit-full-screen{inset:0;width:100%;height:100%;margin:0}
html.player-expanded,body.player-expanded{overflow:hidden;overscroll-behavior:none}
body.player-expanded{position:fixed;top:var(--player-scroll-top,0px);left:0;right:0;width:100%}
@media(max-width:960px){.game-information{gap:36px}.game-controls{padding-left:25px}.next-game-art{width:120px;flex-basis:120px}.next-games{gap:24px}.next-games article{gap:13px}}
@media(max-width:760px){.game-page .masthead{padding-top:14px;padding-bottom:18px}.game-page .brand img{width:130px}.player-shell{margin-inline:calc(-1*var(--gutter));border-radius:0;border-left:0;border-right:0}.game-stage{height:calc(100svh - 153px);min-height:480px;max-height:none;aspect-ratio:auto}.player-toolbar{padding:10px 18px;min-height:63px;gap:10px}.player-identity{gap:9px}.player-identity h1{font-size:18px}.player-identity>span{font-size:11px}.fullscreen-button{padding:9px;min-width:40px}.fullscreen-button>span{display:none}.game-information{grid-template-columns:minmax(0,1fr);gap:27px;margin-top:28px}.game-information h2,.play-next h2{font-size:22px}.game-description>p{font-size:15px}.game-controls{border-left:0;border-top:1px solid var(--rule);padding:24px 0 0}.game-controls p{font-size:14px}.play-next{margin-top:30px;padding-top:24px}.next-heading{align-items:baseline}.next-heading>a{font-size:12px;gap:5px}.next-heading>a svg{width:16px}.next-games{grid-template-columns:minmax(0,1fr);gap:18px}.next-game-art{width:112px;flex-basis:112px}.next-games h3{font-size:15px}.next-games p{font-size:12px}.game-page .site-footer{padding-top:30px}}
@media(max-width:760px) and (orientation:landscape){.game-stage{height:calc(100svh - 120px);min-height:260px}.game-page .masthead{padding-block:10px}.game-page .brand img{width:110px}}
@media(prefers-reduced-motion:reduce){.loading-dot{animation:none}}
