.game-stats{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 22px}
.stat-chip{background:var(--white);border:1px solid var(--line);padding:12px 18px;min-width:92px}
.stat-chip span{display:block;font:9px 'DM Mono',monospace;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.stat-chip strong{font-size:20px;letter-spacing:-.03em}
.ended-chip{background:#fdeceb;border-color:#f3c7c1}
.ended-chip strong{color:#a13a2c}

.start-state{background:var(--white);border:1px solid var(--line);padding:60px 24px;margin-top:30px}
.start-button{max-width:280px;margin:22px auto 0}

.seat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.seat-card{position:relative;text-align:left;background:var(--white);border:1px solid var(--line);padding:14px 14px 12px;min-height:88px;display:flex;flex-direction:column;gap:5px;font:inherit}
.seat-card.live{cursor:pointer;border-left:3px solid var(--navy)}
.seat-card.live:hover{background:#fbf8ef}
.seat-card.winner{border-left-color:var(--lime);background:#fdf6e3}
.seat-card.empty{color:var(--muted);border-style:dashed;cursor:pointer;align-items:flex-start}
.seat-card.empty:hover{background:#fbf8ef;color:var(--ink)}
.seat-card.empty.ended{cursor:default}
.seat-card.empty.ended:hover{background:var(--white);color:var(--muted)}
.seat-num{font:9px 'DM Mono',monospace;letter-spacing:.12em;color:var(--muted)}
.seat-card strong{font-size:14px;letter-spacing:-.02em}
.seat-meta{font-size:10px;color:var(--muted)}
.add-label{font-size:12px;margin-top:6px}
.seat-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.seat-actions button{border:1px solid var(--line);background:var(--paper);border-radius:4px;padding:7px 10px;font-size:10px;color:var(--ink)}
.seat-actions button:hover{background:var(--lime)}
.seat-actions .act-out{border-color:#e3b9b2;color:#a13a2c}
.seat-actions .act-out:hover{background:#fdeceb}
.seat-actions .act-remove{color:var(--muted)}

.add-player-panel{background:var(--white);border:1px solid var(--lime);border-left-width:3px;padding:14px 18px;margin:0 0 18px}
.add-player-panel strong{font-size:12px}

.out-header{margin-top:30px}
.out-row{grid-template-columns:.5fr 1.5fr 2fr;gap:8px}
.place-badge{font:13px 'DM Mono',monospace;color:#a13a2c}
.out-player{display:flex;flex-direction:column;gap:3px}
.out-name{font-weight:600}
.out-meta{font-size:10px;color:var(--muted)}
.out-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.seat-choose{font:11px Inter,sans-serif;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--white)}

.game-controls{margin-top:26px;display:flex;gap:10px}
.game-controls .button{max-width:220px}

@media(max-width:900px){.seat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){
  .seat-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .seat-card{min-height:80px;padding:12px}
  .stat-chip{min-width:72px;padding:10px 12px;flex:1}
  .out-row{grid-template-columns:.4fr 1.2fr 1.6fr;padding:12px 10px}
  .game-controls .button{flex:1;max-width:none}
  /* style.css's mobile ledger rule hides :nth-child(3)/(4) of every
     .ledger-row (meant for the Overview money ledger) -- on THIS page the
     3rd/4th children here are the action buttons (Re-enter/Undo out,
     Reopen, View report) and the entry counts. Without these overrides
     they're invisible on phones, which is 90% of usage: "there is no
     button to put an out player back in" was this. */
  .out-row>:nth-child(3),.out-row>:nth-child(4){display:flex}
  .night-game-row{grid-template-columns:1fr 1.2fr .9fr}
  .night-game-row>:nth-child(3){display:none}
  .night-game-row>:nth-child(4){display:flex;justify-content:flex-end}
}
.venue-lock-hint{font:10px "DM Mono",monospace;color:var(--muted);letter-spacing:.05em}
.night-game-row{grid-template-columns:.6fr 1.4fr .5fr .5fr;margin-bottom:0}
#night-games{margin-bottom:14px}
.reopen-link{margin-left:auto}
.report-controls{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.past-header{margin-top:34px}
#past-games .night-game-row strong{font-size:11px}
.timer-panel{background:var(--navy);color:#fff;padding:16px 20px;margin-bottom:20px;border-left:4px solid var(--lime);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.timer-main{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.timer-clock{font:700 40px "DM Mono",monospace;letter-spacing:.02em;color:var(--lime);min-width:120px}
.timer-clock.timer-paused{color:#e8b76a;opacity:.85}
.timer-clock.times-up{color:var(--coral);animation:timerflash 1s steps(2) infinite}
@keyframes timerflash{50%{opacity:.25}}
.timer-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.timer-length{display:flex;align-items:center;gap:8px;font:9px "DM Mono",monospace;letter-spacing:.1em;color:#9db3ab}
.timer-length select{font:13px Inter,sans-serif;padding:7px 9px;border-radius:4px;border:0}
.timer-button{padding:10px 16px}
.timer-panel .admin-toggle{color:#fff;border-color:#3a6355}
.timer-panel .admin-toggle:hover{background:#163d31}
.timer-totals{display:flex;gap:18px;font:9px "DM Mono",monospace;letter-spacing:.1em;color:#9db3ab}
.timer-totals strong{display:block;font-size:15px;color:#fff;margin-top:4px}
@media(max-width:600px){.timer-panel{padding:12px 14px}.timer-clock{font-size:32px;min-width:96px}.timer-totals{gap:12px}}
.view-back-banner{display:block;width:100%;background:var(--navy);color:#fff;border:0;border-left:4px solid var(--lime);text-align:left;font:600 13px Inter,sans-serif;padding:14px 18px;margin-bottom:16px;cursor:pointer}
.view-back-banner:hover{background:#163d31}
.viewing-row{background:#fdf6e3;border-left:3px solid var(--lime)}
#past-section{margin-top:30px}
.bounty-bar{background:#fdf6e3;border:1px solid var(--lime);border-left:3px solid var(--lime);color:var(--ink);font-size:13px;padding:12px 16px;margin-bottom:18px;border-radius:4px}
.bounty-hint{color:var(--muted);font-size:11px}
.seat-card.has-bounty{border-left-color:var(--lime);background:#fdf6e3}
.seat-actions .act-bounty{border-color:var(--lime);color:#8a6d1f}
.seat-actions .act-bounty:hover{background:#fdf6e3}
.bounty-prompt{background:#fdf6e3;border:1px solid var(--lime);border-left:3px solid var(--lime);padding:14px 16px;margin-bottom:18px;border-radius:4px}
.bounty-prompt strong{display:block;font-size:13px;margin-bottom:10px}
.bounty-prompt-options{display:flex;flex-wrap:wrap;gap:8px}
.bounty-prompt-options .admin-toggle{padding:9px 13px}
.bounty-prompt-options .bounty-none{border-color:var(--lime)}
