.game-page-topbar,.game-page-main{width:100%;max-width:80rem;margin-inline:auto;padding-inline:clamp(1.125rem,3vw,2.5rem)}
.game-page-topbar{display:flex;align-items:center;justify-content:space-between;min-height:4.5rem}
.game-page-topbar .brand>.icon{width:1.5rem;height:1.5rem}
.game-page-main{padding-top:.25rem;padding-bottom:3.5rem}
.back-to-catalog{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted);min-height:2.75rem;margin-bottom:.75rem}
.back-to-catalog:hover{color:var(--accent)}
.back-to-catalog .icon{width:1rem;height:1rem;transform:rotate(180deg)}
.game-gallery{width:100%;margin-bottom:2rem}
.gallery-track{display:flex;width:100%;aspect-ratio:16/9;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--muted) var(--surface);border-radius:4px;background:var(--image-bg)}
.gallery-track:focus-visible{outline:2px solid var(--ring);outline-offset:4px}
.gallery-slide{flex:0 0 100%;min-width:0;height:100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.gallery-slide img{width:100%;height:100%;object-fit:contain}
.gallery-empty{width:100%;display:grid;place-items:center;min-height:12rem;color:var(--muted);font-size:1rem}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}
.gallery-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:3px;min-width:0;scrollbar-width:thin}
.gallery-thumb{padding:0;flex:0 0 4.75rem;width:4.75rem;height:2.75rem;border:2px solid transparent;border-radius:3px;overflow:hidden;opacity:.6}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb:hover,.gallery-thumb[aria-pressed=true]{opacity:1}
.gallery-thumb[aria-pressed=true]{border-color:var(--accent)}
.gallery-navigation{display:flex;align-items:center;gap:.25rem;flex-shrink:0}
.gallery-navigation .icon-button{width:2.75rem;height:2.75rem}
[data-gallery-prev] .icon{transform:rotate(180deg)}
.gallery-position{color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums;min-width:3rem;text-align:center}
.gallery-track{background:#111310;scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-thumbs{position:relative}
.gallery-navigation button:disabled{opacity:.35}
.game-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}
.game-heading>div{min-width:0}
.game-heading h1{font-size:clamp(1.875rem,1.2rem + 2vw,3rem);font-weight:650;line-height:1.15;letter-spacing:-.035em;margin:0 0 .625rem;text-wrap:balance;overflow-wrap:anywhere}
.game-page-meta{font-size:.875rem;line-height:1.6;color:var(--muted);margin:0}
.launch-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3.25rem;padding:.875rem 2rem;border-radius:4px;background:var(--text);color:var(--bg);font-size:1rem;font-weight:600;white-space:nowrap;flex-shrink:0;transition:opacity .15s}
.launch-button:hover{opacity:.84}
.launch-button:active{transform:translateY(1px)}
.launch-button .icon{width:1.125rem;height:1.125rem}
.game-page-summary{font-size:1rem;line-height:1.75;max-width:72ch;color:var(--muted);margin:1.25rem 0}
.game-launch-details{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.5rem}
.project-choice{display:flex;align-items:center;gap:.75rem;font-size:.875rem;min-width:0}
.project-choice>span{color:var(--muted)}
.project-choice select{font:inherit;background:var(--sidebar);color:var(--text);border:1px solid var(--line);border-radius:4px;min-height:2.75rem;padding:.5rem 2rem .5rem .75rem;max-width:24rem;min-width:0}
.project-platforms{font-size:.875rem;color:var(--muted);margin:0;line-height:1.6}
.project-requirement{font-size:.875rem;color:var(--muted);line-height:1.7;margin:1rem 0 0;max-width:65ch}
@media(min-width:1600px){.game-page-summary{font-size:1.125rem}.game-page-meta,.project-platforms,.project-requirement,.project-choice{font-size:1rem}}
@media(max-width:620px){.game-page-topbar{min-height:4rem}.game-gallery{margin-bottom:1.5rem}.gallery-track{max-height:none}.gallery-thumb{flex-basis:3.5rem;width:3.5rem;height:2.125rem}.gallery-bottom{gap:.5rem}.gallery-navigation{gap:0}.gallery-navigation .icon-button{width:2.5rem;height:2.75rem}.gallery-position{min-width:2.25rem}.game-heading{display:block}.game-heading h1{font-size:clamp(1.875rem,1.25rem + 2.6vw,2.5rem)}.launch-button{width:100%;margin-top:1.25rem}.game-page-summary{margin-top:1rem}.game-launch-details{display:block;margin-top:1.25rem}.project-choice{display:grid;grid-template-columns:auto minmax(0,1fr)}.project-choice select{width:100%;max-width:none}.project-platforms{margin-top:.875rem}}

/* Keep missing media compact, and preserve optional release details below the launch area. */
.game-gallery-empty .gallery-track{aspect-ratio:auto;min-height:12rem}
.game-information{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.25rem;color:var(--muted)}
.game-information>summary{display:flex;align-items:center;gap:.75rem;cursor:pointer;list-style:none;font-size:.875rem;min-height:2.75rem;width:fit-content}
.game-information>summary::-webkit-details-marker{display:none}
.game-information>summary .icon{width:1rem;height:1rem}
.game-information[open]>summary .icon{transform:rotate(180deg)}
.game-information-content{max-width:75ch;line-height:1.75;padding-top:.5rem;overflow-wrap:anywhere}
.game-information-content>section{margin:1.5rem 0}
.game-information-content h2{font-size:1rem;color:var(--text);margin-bottom:.75rem}
.game-information-content h3{font-size:.9375rem;color:var(--text)}
.game-information-content p,.game-information-content li{font-size:.9375rem}
.game-information-content a:hover{color:var(--accent)}
.game-information-content ul,.game-information-content ol{padding-left:1.25rem}
.game-information-content li+li{margin-top:.5rem}
.release-downloads{padding:1rem 0;border-bottom:1px solid var(--line)}
.download-option{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0}
.download-option small{font-size:.8125rem}
.secondary-download{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem .875rem;border:1px solid var(--line);border-radius:4px;color:var(--text)}
.game-page-main .page-footer{margin-top:3rem}
