/* Online play shares the flag board; only admission and the lobby have forms. */
.pvp-shell { grid-template-rows:minmax(0,1fr) auto; }
.pvp-entry, .pvp-lobby { width:min(100%,540px); margin:auto; padding-block:24px; min-width:0; }
.pvp-entry { text-align:center; }
.pvp-entry h1, .pvp-lobby h1 { font-size:clamp(38px,6vw,64px); letter-spacing:-.07em; line-height:1.1; margin-bottom:16px; }
.pvp-subtitle, .pvp-note { color:var(--game-muted); font-size:13px; line-height:1.65; }
.pvp-entry label, .pvp-settings label, .pvp-invite { display:grid; gap:8px; text-align:left; font-size:13px; min-width:0; }
.pvp-page :is(input,select) { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid var(--game-line); border-radius:12px; background:var(--game-surface); color:var(--game-ink); }
.pvp-name { width:min(100%,360px); margin:30px auto 18px; }
.pvp-entry-actions { display:flex; justify-content:center; gap:12px; }
.pvp-entry-actions .primary-button { min-width:180px; }
.pvp-join { width:min(100%,420px); margin:22px auto 0; text-align:left; }
.pvp-join summary { cursor:pointer; min-height:44px; padding:12px 0; font-size:14px; }
.pvp-join button { margin-top:12px; }
.pvp-invite { margin:22px 0; }
.pvp-invite>div { display:flex; flex-wrap:wrap; gap:8px; }
.pvp-invite input { font-size:12px!important; }
.pvp-roster { list-style:none; margin:16px 0 24px; padding:0; }
.pvp-roster li { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--game-line); font-size:14px; line-height:1.5; }
.pvp-roster li span { overflow-wrap:anywhere; min-width:0; }
.pvp-roster li small { color:var(--game-muted); text-align:right; flex:none; }
.pvp-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pvp-settings>p, .pvp-settings>button { grid-column:1/-1; }
.pvp-settings>button { justify-self:start; }
.pvp-status-wrap { min-width:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; align-items:center; }
.pvp-status-wrap .notice { flex-basis:100%; }
.pvp-board .flag-stage { padding-inline:0; }
.pvp-board #round-progress { width:100%; height:4px; accent-color:var(--flags-green); }
.pvp-board .quiz-topline { justify-content:space-between; }
.pvp-board .answer-feedback { min-height:20px; }
.pvp-page .result-panel h1 { font-size:clamp(30px,5vw,55px); letter-spacing:-.06em; line-height:1.15; }
.pvp-help { display:grid; gap:16px; font-size:13px; line-height:1.7; }
.pvp-help p { color:var(--game-muted); }
.pvp-help a { color:var(--game-ink); text-underline-offset:4px; }
.pvp-page #score-list { width:100%; }
@media(max-width:600px) { .pvp-entry,.pvp-lobby { padding-block:16px; }.pvp-entry h1 { font-size:42px; }.pvp-settings { gap:12px; }.pvp-board .answer-area { flex-direction:column; }.pvp-board .quiz-actions { width:100%; justify-content:center; }.pvp-page .game-top nav { gap:0; }.pvp-page .game-top { padding-inline:8px; }.pvp-page .tools-theme-control { margin:0; } }
@media(max-height:500px) and (min-width:620px) { .pvp-board .flag-stage { padding-bottom:0; }.pvp-entry { padding-block:8px; }.pvp-name { margin-block:12px; }.pvp-entry h1 { font-size:32px; }.pvp-join { margin-top:8px; } }
