/* Game imagery leads discovery; platform chrome stays outside the game viewport. */
.game-detail-page .game-first-screen{grid-template-columns:minmax(0,3fr) minmax(300px,2fr);gap:32px;align-items:start}
.game-detail-page .game-artwork{position:static}
.game-preview{display:grid;place-items:center;position:relative;width:100%;height:440px;padding:24px;background:var(--surface-secondary);border:1px solid var(--border);border-radius:16px;overflow:hidden;cursor:zoom-in}
.game-detail-page .game-preview .game-hero{width:100%;height:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;border:0;border-radius:8px;min-height:0}
.preview-caption{display:flex;gap:8px;align-items:center;position:absolute;right:16px;bottom:16px;padding:8px 12px;background:#10131ce8;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px}
.preview-caption svg{width:16px;height:16px}.preview-credit{margin:12px 0 0;color:var(--text-secondary);font-size:14px;overflow-wrap:anywhere}
.game-meta-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.preview-badge{border:1px solid var(--border);border-radius:6px;padding:4px 8px;color:var(--text-secondary);font-size:12px}
.game-detail-page .game-identity .lead{font-size:16px;margin:16px 0}.game-detail-page .game-identity .platform-tags{margin:16px 0}.game-detail-page .game-identity .creator-name{display:inline-flex;min-height:32px;align-items:center}
.game-detail-page .compatibility{padding:0;border-top:1px solid var(--border);border-radius:0;background:transparent;margin-top:24px}.game-detail-page summary{min-height:48px;padding:16px 0;cursor:pointer;font-size:16px;line-height:1.5}.game-detail-page .compatibility dl{margin:8px 0 0;font-size:14px}.game-detail-page .compatibility dd{line-height:1.6;color:var(--text-secondary)}
.detail-screenshots,.detail-reading{margin:32px 0}.detail-screenshots h2,.detail-reading h2{font-size:24px;margin-bottom:16px}.detail-reading{max-width:860px}.detail-reading .source-credit{border-top:1px solid var(--border);padding:0;background:transparent}.source-credit p{overflow-wrap:anywhere;line-height:1.6}.source-credit code{overflow-wrap:anywhere;word-break:break-all}
.game-detail-page .screenshots{scroll-snap-type:x mandatory;gap:16px;padding:0 0 16px}.game-detail-page .screenshot-thumbnail{scroll-snap-align:start;display:flex;align-items:center;justify-content:center;min-width:0;height:280px;padding:0}
.game-detail-page .screenshot-thumbnail.portrait-shot{width:180px}.game-detail-page .screenshot-thumbnail.landscape-shot{width:420px;max-width:80vw}.game-detail-page .screenshot-thumbnail img{width:100%;height:100%;object-fit:contain;max-width:100%;background:var(--surface-secondary)}
.game-detail-page #detail-actions{margin-bottom:32px}.game-detail-page #detail-actions .player-community{margin:0}.game-detail-page #detail-actions button,.game-detail-page #detail-actions a{min-height:44px;font-size:14px}
.game-detail-page .screenshot-dialog{max-height:calc(100dvh - 16px)}
/* A dedicated route, not a detail-page inset. The Runtime iframe remains opaque. */
body.game-player-page{margin:0;padding:0!important;overflow:hidden;background:#080b10;height:100vh;height:100dvh}
.game-player-page>.site-header,.game-player-page>.site-footer{display:none!important}
.game-player-page #store-content{position:fixed;inset:0;width:100%;max-width:none;margin:0;padding:0;height:100vh;height:100dvh;overflow:hidden}
.game-play-shell{position:relative;height:100%;width:100%;background:#080b10;color:var(--text-primary)}
.game-play-shell:fullscreen{width:100vw;height:100vh;height:100dvh;background:#080b10}
.play-route-controls{position:absolute;top:calc(env(safe-area-inset-top,0px) + 16px);left:calc(env(safe-area-inset-left,0px) + 16px);right:calc(env(safe-area-inset-right,0px) + 16px);display:flex;gap:16px;justify-content:space-between;z-index:5}
.game-play-shell.is-playing>.play-route-controls{display:none}
.game-player-page #player-zone{position:absolute;inset:0;margin:0;padding:0}
.play-entry{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 24px 64px;overflow:auto}
.play-entry h1{font-size:clamp(28px,4vw,44px);line-height:1.2;overflow-wrap:anywhere;margin:16px 0;max-width:640px}.play-entry>p{max-width:520px;color:var(--text-secondary);line-height:1.6}.play-entry #launch{min-width:200px;min-height:56px;margin:24px 0;font-size:18px;justify-content:center}.play-entry .play-entry-hint{font-size:14px;max-width:360px}
.game-player-page .player-panel.player-immersive{position:absolute;inset:0;margin:0;border:0;border-radius:0;padding:0;overflow:hidden}
.player-immersive .player-surface{position:absolute;inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.player-immersive .player-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;max-height:none;aspect-ratio:auto;padding:0;border-radius:0;max-width:100%;background:#080b10}
.player-immersive .player-frame iframe{width:100%;height:100%;border:0;margin:0;display:block}
.player-menu-toggle{position:absolute;z-index:8;right:calc(env(safe-area-inset-right,0px) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);width:48px;height:48px;padding:12px;background:#141923e8;color:var(--text-primary);border:1px solid #535d70;border-radius:12px;display:grid;place-items:center}
.player-immersive .player-tools{position:absolute;z-index:8;right:calc(env(safe-area-inset-right,0px) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 80px);width:min(288px,calc(100% - 32px));margin:0;padding:16px;border:1px solid var(--border);background:#141923f5;border-radius:12px;display:grid;grid-template-columns:1fr;gap:8px}
.player-immersive .player-tools button{width:100%;min-height:48px;justify-content:flex-start;font-size:16px}.player-tools-title{margin:0 0 8px;color:var(--text-secondary);overflow-wrap:anywhere;font-size:14px}
.player-immersive [hidden]{display:none!important}.player-immersive [data-player-state]{position:absolute;top:calc(env(safe-area-inset-top,0px) + 16px);left:calc(env(safe-area-inset-left,0px) + 16px);right:calc(env(safe-area-inset-right,0px) + 16px);z-index:3;margin:0;padding:12px 16px;border-radius:8px;background:#141923e8;font-size:14px;pointer-events:none}
.player-immersive [data-player-warning],.player-immersive [data-player-pause]{position:absolute;z-index:4;top:calc(env(safe-area-inset-top,0px) + 64px);left:16px;right:16px;margin:0;padding:16px;font-size:14px;line-height:1.6;background:#141923f5;border:1px solid var(--border);border-radius:8px;max-height:40%;overflow:auto}
.play-information{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--border);border-radius:16px;padding:24px;background:var(--surface);color:var(--text-primary)}
.play-information::backdrop{background:#05080ed9}.play-information .section-heading{gap:16px;align-items:center;margin-bottom:24px}.play-information h2{font-size:24px;margin:0}.play-information h3{font-size:20px;overflow-wrap:anywhere}.play-information p,.play-information dd{line-height:1.6;overflow-wrap:anywhere}.play-information dd{margin:8px 0 16px;color:var(--text-secondary)}.play-information dl{margin:24px 0}.play-information button,.play-information .button{min-height:48px}.play-route-fallback{padding:32px;max-width:600px;margin:auto;line-height:1.6}
@media(max-width:760px){
 .game-detail-page .game-first-screen{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:24px}.game-detail-page .game-identity{order:-1}.game-detail-page .game-identity h1{font-size:32px;margin:12px 0}.game-detail-page .game-identity .lead{margin:12px 0}.game-preview{height:360px;padding:16px}.game-detail-page .compatibility{margin-top:16px}.game-detail-page .detail-primary-action{position:fixed;bottom:0;left:0;right:0;z-index:25;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 12px);margin:0;border-top:1px solid var(--border);background:var(--background)}.game-detail-page .detail-primary-action #device-notice{display:none}.game-detail-page .detail-primary-action:has(button:disabled) #device-notice{display:block;margin:0 0 8px;max-height:72px;overflow:auto}.game-detail-page .detail-primary-action #launch{min-height:48px;font-size:16px}.game-detail-page #store-content{padding-bottom:104px}.game-detail-page>.site-footer{padding-bottom:120px}.game-detail-page .screenshot-thumbnail{height:300px}.game-detail-page .screenshot-thumbnail.portrait-shot{width:192px}.game-detail-page .screenshot-thumbnail.landscape-shot{width:80vw}.game-detail-page #detail-actions{margin-bottom:24px}.play-route-controls{gap:8px;top:calc(env(safe-area-inset-top,0px) + 8px);left:8px;right:8px}.play-route-controls .button,.play-route-controls button{font-size:14px;padding:8px 12px;min-height:48px}.play-information{padding:16px}.play-entry{justify-content:safe center;padding-top:80px}.player-menu-toggle{right:calc(env(safe-area-inset-right,0px) + 8px);bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}
}
@media(max-height:480px){.game-preview{height:280px}.play-entry{padding-top:64px;padding-bottom:16px}.play-entry h1{font-size:24px;margin:8px 0}.play-entry #launch{margin:12px 0}.play-entry-hint{display:none}.player-immersive [data-player-state]{font-size:12px;padding:8px}.player-immersive .player-tools{max-height:calc(100dvh - 96px);overflow:auto}}
@media(prefers-reduced-motion:reduce){.game-preview,.player-menu-toggle{transition:none}}

@media(max-width:760px){.game-detail-page .game-preview.portrait-preview{padding:0;height:420px}.game-detail-page .portrait-preview .game-hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:0}}
