/* The arcade uses the shared deep-space theme, with a compact gallery. */
.game-gallery, .game-gallery * { margin-top: 0; box-sizing: border-box; }
.game-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; }
.game-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(12,12,16,.88); }
.game-featured { grid-column: 1 / -1; }
.game-art { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.12) !important; background: #101218; }
.game-art img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.game-body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem; gap: .8rem; }
.game-kind { font-family: var(--bh-mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: #b2b2ba; }
.game-body h2 { font-size: 1.4rem; padding: 0; margin: 0; line-height: 1.25; }
.game-body h2::after { display: none; }
.game-body h2 a { color: #fff; border: none; }
.game-alias { color: #9999a2; font-size: .9rem; font-weight: 400; white-space: nowrap; }
.main-content .game-body p { font-size: .94rem; line-height: 1.65; margin: 0; color: #b8b8c0; }
.game-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: auto; padding-top: .7rem; font-size: .82rem; }
.game-actions .game-play { padding: .6rem .85rem; border: 1px solid rgba(255,255,255,.38); border-radius: 3px; color: #fff; background: rgba(255,255,255,.05); }
.game-play:hover { background: rgba(255,255,255,.12); }
.game-gallery a:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
.game-body a:focus-visible { outline-offset: 4px; }
.mission-art { aspect-ratio: 2.4 / 1; background: radial-gradient(ellipse at 50% 50%, #1c2839, #0a0d15 80%); }
.mission-art svg { display: block; width: 100%; height: 100%; }
.orbit-art { display: grid; place-items: center; background: radial-gradient(ellipse at center, #222638, #0b0d14 75%); }
.orbit-ring { position: absolute; width: 62%; height: 55%; border: 1px solid #9297ad; border-radius: 50%; transform: rotate(-25deg); }
.orbit-ring::after { content: ""; position: absolute; top: 17%; right: 7%; width: 7px; height: 7px; border-radius: 50%; background: #dce2fc; box-shadow: 0 0 16px #879dd9; }
.orbit-ring.tilted { transform: rotate(48deg); height: 35%; border-color: #505c7b; }
.orbit-core { width: 20px; height: 20px; border-radius: 50%; background: #ffe7b4; box-shadow: 0 0 32px 8px rgba(255,209,121,.25); }
.orbit-caption { position: absolute; bottom: 1rem; color: #aeb1c5; font-family: var(--bh-mono); font-size: .65rem; letter-spacing: .2em; }
.flat .orbit-ring { transform: none; width: 52%; height: 65%; }
.games-footer { margin-top: 2rem; }
@media (max-width: 600px) {
    .game-gallery { grid-template-columns: 1fr; }
    .game-body { padding: 1.1rem; }
    .mission-art { aspect-ratio: 2 / 1; }
}
