/* HF-201: the home page follows the device's dark appearance. Scoped to the
   page outside a room (no data-phase), so the green table is untouched.
   HF-202 extends the same palette to the lobby before the deal.
   HF-203 keys the palette on the theme stamped by theme.js, so the account's
   preference decides and "system" keeps following the device. */
html[data-scheme="dark"]:not([data-phase]) {
  color-scheme: dark;
  --paper: #121b18;
  --paper-2: #1b2622;
  --ink: #ece7db;
  --muted: #a6b0aa;
  --forest-2: #9fc7b8;
  --line: rgba(236, 231, 219, .16);
  --shadow: 0 20px 55px rgba(0, 0, 0, .45);
}
html[data-scheme="dark"]:not([data-phase]) body { background: radial-gradient(circle at 80% 0%, #1d2b26 0, var(--paper) 48%, #0c1310 100%); }
html[data-scheme="dark"]:not([data-phase]) h1, html[data-scheme="dark"]:not([data-phase]) h2, html[data-scheme="dark"]:not([data-phase]) .finished-games h3,
html[data-scheme="dark"]:not([data-phase]) .alerts-default-label { color: #e6efe9; }
html[data-scheme="dark"]:not([data-phase]) .join-card, html[data-scheme="dark"]:not([data-phase]) .saved-games, html[data-scheme="dark"]:not([data-phase]) .seat-link-import,
html[data-scheme="dark"]:not([data-phase]) .panel { background: rgba(27, 38, 34, .84); border-color: rgba(255, 255, 255, .08); }
html[data-scheme="dark"]:not([data-phase]) input, html[data-scheme="dark"]:not([data-phase]) select { background: #1b2622; color: var(--ink); border-color: var(--line); }
html[data-scheme="dark"]:not([data-phase]) button { background: #1b2622; color: #cfe3da; border-color: var(--line); }
html[data-scheme="dark"]:not([data-phase]) .primary { background: #2f7a68; color: #fff; border-color: #2f7a68; }
html[data-scheme="dark"]:not([data-phase]) .secondary { background: #24352f; color: #cfe3da; border-color: #3a5048; }
html[data-scheme="dark"]:not([data-phase]) .ghost-dark { background: transparent; color: var(--muted); }
html[data-scheme="dark"]:not([data-phase]) .or { color: var(--muted); }
html[data-scheme="dark"]:not([data-phase]) .saved-game, html[data-scheme="dark"]:not([data-phase]) .finished-game { background: #1b2622; border-color: var(--line); }
html[data-scheme="dark"]:not([data-phase]) .saved-game:hover, html[data-scheme="dark"]:not([data-phase]) .finished-game:hover { background: #22302b; border-color: #3a5048; }
html[data-scheme="dark"]:not([data-phase]) .saved-game-topline > strong { color: #cfe3da; }
html[data-scheme="dark"]:not([data-phase]) .saved-game-status.turn { color: #f2d984; background: #4d3f14; }
html[data-scheme="dark"]:not([data-phase]) .finished-game-remove:hover { background: #3a2622; }
html[data-scheme="dark"]:not([data-phase]) .pill { color: #cfe3da; }
html[data-scheme="dark"]:not([data-phase]) .identity-status { color: var(--muted); }
html[data-scheme="dark"]:not([data-phase]) .identity-pill, html[data-scheme="dark"]:not([data-phase]) .identity-account,
html[data-scheme="dark"]:not([data-phase]) .identity-history-item, html[data-scheme="dark"]:not([data-phase]) .identity-stats { background: #1b2622; color: var(--ink); border-color: var(--line); }
html[data-scheme="dark"]:not([data-phase]) .identity-stats span, html[data-scheme="dark"]:not([data-phase]) .identity-stats-note,
html[data-scheme="dark"]:not([data-phase]) .identity-history-item p,
html[data-scheme="dark"]:not([data-phase]) .identity-history-count, html[data-scheme="dark"]:not([data-phase]) .identity-history-loading,
html[data-scheme="dark"]:not([data-phase]) .identity-history > summary::marker { color: var(--muted); }
html[data-scheme="dark"]:not([data-phase]) .identity-stats > div { background: #24352f; color: var(--ink); }
html[data-scheme="dark"]:not([data-phase]) .identity-history { background: rgba(27, 38, 34, .84); border-color: var(--line); }
html[data-scheme="dark"]:not([data-phase]) .identity-history > summary { color: #cfe3da; }
html[data-scheme="dark"]:not([data-phase]) .identity-coverage-label { background: #24352f; color: #cfe3da; }
html[data-scheme="dark"]:not([data-phase]) .identity-coverage-label[data-result="loss"] { background: #442827; color: #f3b9b4; }
html[data-scheme="dark"]:not([data-phase]) .identity-coverage-label[data-result="tie"] { background: #26323f; color: #bdd3ee; }
html[data-scheme="dark"]:not([data-phase]) .identity-coverage-label:is([data-result="incomplete"], [data-result="pending"]) { background: #3d3524; color: #f2d984; }
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog, html[data-scheme="dark"]:not([data-phase]) .identity-dialog,
html[data-scheme="dark"]:not([data-phase]) .install-help { background: #16211d; color: var(--ink); border: 1px solid rgba(236, 231, 219, .3); box-shadow: 0 24px 70px rgba(0, 0, 0, .6); }
html[data-scheme="dark"]:not([data-phase]) .identity-dialog p { color: var(--muted); }
html[data-scheme="dark"]:not([data-phase]) .identity-history-team,
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-card { background: #1b2622; color: var(--ink); border-color: var(--line); }
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-card.went-out { border-color: #c9a348; }
html[data-scheme="dark"]:not([data-phase]) .identity-history-team strong,
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-name,
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-score,
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-line strong,
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-line.total,
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-summary::after { color: #cfe3da; }
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-went-out { color: #f2d984; }
html[data-scheme="dark"]:not([data-phase]) .identity-history-team p, html[data-scheme="dark"]:not([data-phase]) .identity-history-players,
html[data-scheme="dark"]:not([data-phase]) .identity-history-available-total, html[data-scheme="dark"]:not([data-phase]) .identity-history-unavailable,
html[data-scheme="dark"]:not([data-phase]) .identity-history-loading, html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-totals,
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-line,
html[data-scheme="dark"]:not([data-phase]) .identity-history-dialog .round-result-fallback { color: var(--muted); }
html[data-scheme="dark"]:not([data-phase]) .whats-new-entry, html[data-scheme="dark"]:not([data-phase]) .home-release-notes,
html[data-scheme="dark"]:not([data-phase]) .release-notes-panel { background: rgba(27, 38, 34, .84); color: var(--ink); border-color: var(--line); }
html[data-scheme="dark"]:not([data-phase]) .release-note h3, html[data-scheme="dark"]:not([data-phase]) .release-note h4 { color: #cfe3da; }
html[data-scheme="dark"]:not([data-phase]) .prototype-note, html[data-scheme="dark"]:not([data-phase]) .lede { color: var(--muted); }
html[data-scheme="dark"]:not([data-phase]) .install-help .install-privacy { color: #f2d984; background: #3d3524; }

html[data-scheme="dark"][data-phase="lobby"] {
  color-scheme: dark;
  --paper: #121b18;
  --paper-2: #1b2622;
  --ink: #ece7db;
  --muted: #a6b0aa;
  --forest-2: #9fc7b8;
  --line: rgba(236, 231, 219, .16);
  --shadow: 0 20px 55px rgba(0, 0, 0, .45);
}
html[data-scheme="dark"][data-phase="lobby"] body { background: radial-gradient(circle at 80% 0%, #1d2b26 0, var(--paper) 48%, #0c1310 100%); }
html[data-scheme="dark"][data-phase="lobby"] h1, html[data-scheme="dark"][data-phase="lobby"] h2, html[data-scheme="dark"][data-phase="lobby"] h3 { color: #e6efe9; }
html[data-scheme="dark"][data-phase="lobby"] .game > .panel { background: rgba(27, 38, 34, .84); border-color: rgba(255, 255, 255, .08); }
html[data-scheme="dark"][data-phase="lobby"] input, html[data-scheme="dark"][data-phase="lobby"] select { background: #1b2622; color: var(--ink); border-color: var(--line); }
html[data-scheme="dark"][data-phase="lobby"] .game > .panel button { background: #1b2622; color: #cfe3da; border-color: var(--line); }
html[data-scheme="dark"][data-phase="lobby"] .game > .panel .primary { background: #2f7a68; color: #fff; border-color: #2f7a68; }
html[data-scheme="dark"][data-phase="lobby"] .game > .panel .secondary { background: #24352f; color: #cfe3da; border-color: #3a5048; }
html[data-scheme="dark"][data-phase="lobby"] .pill { color: #cfe3da; }
html[data-scheme="dark"][data-phase="lobby"] .room-invite { background: #24352f; border-color: #3a5048; }
html[data-scheme="dark"][data-phase="lobby"] .room-invite strong, html[data-scheme="dark"][data-phase="lobby"] .room-invite p span,
html[data-scheme="dark"][data-phase="lobby"] #invite-room-code { color: #cfe3da; }
html[data-scheme="dark"][data-phase="lobby"] .player-row { background: #1b2622; color: var(--ink); border-color: var(--line); }
html[data-scheme="dark"][data-phase="lobby"] .player-row strong { color: #cfe3da; }
html[data-scheme="dark"][data-phase="lobby"] .table-guide { background: #24352f; color: #cfe3da; }
html[data-scheme="dark"][data-phase="lobby"] .table-guide p { color: var(--muted); }
html[data-scheme="dark"][data-phase="lobby"] .rule-warning { background: #3d3524; color: #f2d984; }
html[data-scheme="dark"][data-phase="lobby"] details { background: rgba(27, 38, 34, .84); border-color: var(--line); }
html[data-scheme="dark"][data-phase="lobby"] summary { color: #cfe3da; }
html[data-scheme="dark"][data-phase="lobby"] label { color: var(--muted); }
html[data-scheme="dark"][data-phase="lobby"] .team-assignments { background: rgba(27, 38, 34, .84); border-color: var(--line); }
html[data-scheme="dark"][data-phase="lobby"] .game-options-menu { background: #16211d; border-color: rgba(236, 231, 219, .3); }
html[data-scheme="dark"][data-phase="lobby"] .game-options-menu button { background: #1b2622; color: #cfe3da; border-color: var(--line); }
