/* Shared app shell and accessible scoreboards. Never clip a game board to hide overflow. */
.ps-game-page { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
.ps-game-page main { min-width: 0; }
.ps-game-page :is(button, .btn, .sbtn, select) { min-height: 48px; }
.ps-game-page :is(input:not([type="checkbox"]), select) { max-width: 100%; font: inherit; font-size: 16px; color: #eef6ff; background: #0d1b2a; border: 1px solid #578583; border-radius: 12px; padding: .7rem; }
.ps-game-page :is(button, a, input, select):focus-visible { outline: 3px solid #00fff0; outline-offset: 3px; }
.ps-game-page [data-progress-status] { font-size: .9rem; color: #c3d8e4; }
.ps-game-page .scoreboard { margin: 1.5rem auto; padding: clamp(1rem, 4vw, 2rem); background: #0d1b2a; color: #eef6ff; border: 1px solid #578583; border-radius: 24px; }
.scoreboard label { display: grid; gap: .5rem; margin: .9rem 0; }
.scoreboard .score-consent { display: flex; align-items: flex-start; gap: .75rem; }
.scoreboard input[type="checkbox"] { width: 24px; height: 24px; flex: 0 0 24px; margin: 0; }
.scoreboard .score-list { list-style: none; padding: 0; }
.score-list li { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: .9rem .5rem; border-bottom: 1px solid #36505d; overflow-wrap: anywhere; }
.score-list small { font-weight: normal; }
.scoreboard .btn-row { display: flex; gap: .7rem; flex-wrap: wrap; }
.ps-game-page .psg-bar-wrap { overflow-wrap: anywhere; }
@media (max-width: 540px) {
 .ps-game-page .game-card { padding: 1rem; border-radius: 24px; }
 .ps-game-page .stats { flex-wrap: wrap; gap: .5rem; }
 .ps-game-page .stat { min-width: 0; flex: 1 1 25%; }
 .ps-game-page .scoreboard button { width: 100%; }
}

.scoreboard-panel > summary { min-height: 48px; padding: 1rem; cursor: pointer; font-weight: 700; }

/* Keep both original welcome images, with less scrolling before the games. */
.games-hub-page > header { position: relative; top: auto; z-index: auto; }
.games-hub-page .games-welcome-art { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; width: min(1100px,calc(100% - 2rem)); margin: 1rem auto; align-items: start; }
.games-hub-page .games-welcome-art :is(.ps-theme-pic,figure) { width: 100%; margin: 0; }
.games-hub-page .games-welcome-art img { height: 160px; max-height: none; object-fit: cover; }
.games-hub-page .games-welcome-art figcaption { font-size: .9rem; line-height: 1.5; margin-top: .5rem; }
.games-hub-page .ps-next { padding-inline: 1rem; }
@media(max-width:640px) { .games-hub-page .games-welcome-art { gap: .65rem; } .games-hub-page .games-welcome-art img { height: 105px; border-radius: 14px; } }
