/* GENERATED by gen_dark.py from style.css + design-ui.css: maps hard-coded light colours to theme tokens in dark mode. Do not edit by hand. */
:root[data-theme="dark"] body { color: var(--text); }
:where(:root[data-theme="dark"]) .nav-link:hover { background: var(--surface); }
:where(:root[data-theme="dark"]) .leaderboard-row--top2 .leaderboard-score { color: var(--muted); }
:where(:root[data-theme="dark"]) .exercise-loading { background: var(--surface); }
:where(:root[data-theme="dark"]) .exercise-loading-spinner { border: 3px solid var(--border); }
:where(:root[data-theme="dark"]) .exercise-feedback-option:hover { border-color: var(--border-strong); background: var(--surface-2); }
:where(:root[data-theme="dark"]) .picker-step { background: var(--surface); }
:where(:root[data-theme="dark"]) .picker-trail { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .picker-trail-chip { background: var(--surface); }
:where(:root[data-theme="dark"]) .picker-case-section { background: var(--surface); }
:where(:root[data-theme="dark"]) .picker-case-head { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .picker-paradigm-case { background: var(--surface); }
:where(:root[data-theme="dark"]) .picker-form-chip { background: var(--surface); }
:where(:root[data-theme="dark"]) .picker-chip-section { background: var(--surface); }
:where(:root[data-theme="dark"]) .picker-lemma-card,
:where(:root[data-theme="dark"]) .picker-group-card,
:where(:root[data-theme="dark"]) .picker-form-card { background: var(--surface); }
:where(:root[data-theme="dark"]) .sent-progress-track { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .sent-progress-dot { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .sent-progress-dot.current { background: var(--surface); }
:where(:root[data-theme="dark"]) .slot { border: 2px dashed var(--border-strong); }
:where(:root[data-theme="dark"]) .slot--new-tier { background: rgba(96, 165, 250, 0.12); }
:where(:root[data-theme="dark"]) .slot--new-tier:hover:not(.done) { background: rgba(96, 165, 250, 0.12); }
:where(:root[data-theme="dark"]) .sent-new-tier-banner { background: rgba(96, 165, 250, 0.12); border: 1px solid var(--border-strong); }
:where(:root[data-theme="dark"]) .tier-word-chip { background: var(--surface); border: 1px solid var(--border-strong); }
:where(:root[data-theme="dark"]) .phrases-list-pane { background: var(--surface); }
:where(:root[data-theme="dark"]) .phrases-card { background: var(--surface); border: 1px solid var(--card-border, var(--border)); }
:where(:root[data-theme="dark"]) .phrase-tag.muted { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .phrase-tag.curated { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .phrase-tag-tier { background: rgba(96, 165, 250, 0.12); }
:where(:root[data-theme="dark"]) .phrases-card .phrase-id { background: var(--surface-2); border: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .wordlist-table-head { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .wordlist-table-row { border-bottom: 1px solid var(--border); background: var(--surface); }
:where(:root[data-theme="dark"]) .wordlist-table-row:hover { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .report-loading-spinner { border: 3px solid var(--border); }
:where(:root[data-theme="dark"]) .app-header { border-bottom: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .main-nav { background: var(--surface-2); border: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .nav-link:hover { background: var(--surface); }
:where(:root[data-theme="dark"]) .nav-link.active { background: var(--surface); border-color: var(--border); }
:where(:root[data-theme="dark"]) .header-stat-pill--score { background: var(--surface-2); border-color: var(--border); }
:where(:root[data-theme="dark"]) .header-avatar { border: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .pt-hero::before,
:where(:root[data-theme="dark"]) .pt-hero::after { background: var(--surface-hover); }
:where(:root[data-theme="dark"]) .pt-hero::after { background: var(--surface-hover); }
:where(:root[data-theme="dark"]) .pt-hero-cta { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-stat-card { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-game-card { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-game-card:hover { border-color: var(--border); }
:where(:root[data-theme="dark"]) .pt-game-card-foot { border-top: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .pt-profile-card { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-panel { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-progress-bar { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .pt-achievement--earned { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-achievement--locked { background: var(--surface-2); border: 1px dashed var(--border); }
:where(:root[data-theme="dark"]) .pt-achievement--locked .pt-achievement-icon { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .pt-account-row { border-bottom: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .pt-btn-outline-danger { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-podium-place--second .pt-podium-avatar { background: var(--surface-2); border: 3px solid var(--border); color: var(--muted); }
:where(:root[data-theme="dark"]) .pt-podium-place--third .pt-podium-avatar { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .pt-leaderboard-row { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-leaderboard-rank { background: var(--surface-2); }
:where(:root[data-theme="dark"]) .pt-leaderboard-you-badge { background: var(--surface); }
:where(:root[data-theme="dark"]) .pt-tabbar { background: var(--surface); border-top: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .game-list-pane { background: var(--surface); }
:where(:root[data-theme="dark"]) .game-list-pane .dict-tabs,
:where(:root[data-theme="dark"]) .game-list-pane .wordlist-toolbar { border-bottom: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .dict-row.game-list-row,
:where(:root[data-theme="dark"]) .wordlist-table-row.game-list-row { background: var(--surface); }
:where(:root[data-theme="dark"]) .game-stage--quiz .game-card-panel-foot { border-top: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .swipe-card-hint { border-bottom: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .game-sidebar { background: var(--surface); }
:where(:root[data-theme="dark"]) .game-card-panel { background: var(--surface); }
:where(:root[data-theme="dark"]) .game-card-panel-head { border-bottom: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .game-card-panel-foot { border-top: 1px solid var(--border); }
:where(:root[data-theme="dark"]) .game-action-btn--learn:hover { background: var(--ok-bg); }
:where(:root[data-theme="dark"]) .game-action-btn--skip:hover { background: var(--accent-soft); }
:where(:root[data-theme="dark"]) .game-screen .swipe-card { background: var(--surface); }
:where(:root[data-theme="dark"]) .game-screen .swipe-empty { background: var(--surface); }
@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme="light"])) .nav-link:hover { background: var(--surface); }
:where(:root:not([data-theme="light"])) .leaderboard-row--top2 .leaderboard-score { color: var(--muted); }
:where(:root:not([data-theme="light"])) .exercise-loading { background: var(--surface); }
:where(:root:not([data-theme="light"])) .exercise-loading-spinner { border: 3px solid var(--border); }
:where(:root:not([data-theme="light"])) .exercise-feedback-option:hover { border-color: var(--border-strong); background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .picker-step { background: var(--surface); }
:where(:root:not([data-theme="light"])) .picker-trail { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .picker-trail-chip { background: var(--surface); }
:where(:root:not([data-theme="light"])) .picker-case-section { background: var(--surface); }
:where(:root:not([data-theme="light"])) .picker-case-head { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .picker-paradigm-case { background: var(--surface); }
:where(:root:not([data-theme="light"])) .picker-form-chip { background: var(--surface); }
:where(:root:not([data-theme="light"])) .picker-chip-section { background: var(--surface); }
:where(:root:not([data-theme="light"])) .picker-lemma-card,
:where(:root:not([data-theme="light"])) .picker-group-card,
:where(:root:not([data-theme="light"])) .picker-form-card { background: var(--surface); }
:where(:root:not([data-theme="light"])) .sent-progress-track { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .sent-progress-dot { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .sent-progress-dot.current { background: var(--surface); }
:where(:root:not([data-theme="light"])) .slot { border: 2px dashed var(--border-strong); }
:where(:root:not([data-theme="light"])) .slot--new-tier { background: rgba(96, 165, 250, 0.12); }
:where(:root:not([data-theme="light"])) .slot--new-tier:hover:not(.done) { background: rgba(96, 165, 250, 0.12); }
:where(:root:not([data-theme="light"])) .sent-new-tier-banner { background: rgba(96, 165, 250, 0.12); border: 1px solid var(--border-strong); }
:where(:root:not([data-theme="light"])) .tier-word-chip { background: var(--surface); border: 1px solid var(--border-strong); }
:where(:root:not([data-theme="light"])) .phrases-list-pane { background: var(--surface); }
:where(:root:not([data-theme="light"])) .phrases-card { background: var(--surface); border: 1px solid var(--card-border, var(--border)); }
:where(:root:not([data-theme="light"])) .phrase-tag.muted { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .phrase-tag.curated { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .phrase-tag-tier { background: rgba(96, 165, 250, 0.12); }
:where(:root:not([data-theme="light"])) .phrases-card .phrase-id { background: var(--surface-2); border: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .wordlist-table-head { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .wordlist-table-row { border-bottom: 1px solid var(--border); background: var(--surface); }
:where(:root:not([data-theme="light"])) .wordlist-table-row:hover { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .report-loading-spinner { border: 3px solid var(--border); }
:where(:root:not([data-theme="light"])) .app-header { border-bottom: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .main-nav { background: var(--surface-2); border: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .nav-link:hover { background: var(--surface); }
:where(:root:not([data-theme="light"])) .nav-link.active { background: var(--surface); border-color: var(--border); }
:where(:root:not([data-theme="light"])) .header-stat-pill--score { background: var(--surface-2); border-color: var(--border); }
:where(:root:not([data-theme="light"])) .header-avatar { border: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .pt-hero::before,
:where(:root:not([data-theme="light"])) .pt-hero::after { background: var(--surface-hover); }
:where(:root:not([data-theme="light"])) .pt-hero::after { background: var(--surface-hover); }
:where(:root:not([data-theme="light"])) .pt-hero-cta { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-stat-card { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-game-card { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-game-card:hover { border-color: var(--border); }
:where(:root:not([data-theme="light"])) .pt-game-card-foot { border-top: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .pt-profile-card { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-panel { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-progress-bar { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .pt-achievement--earned { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-achievement--locked { background: var(--surface-2); border: 1px dashed var(--border); }
:where(:root:not([data-theme="light"])) .pt-achievement--locked .pt-achievement-icon { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .pt-account-row { border-bottom: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .pt-btn-outline-danger { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-podium-place--second .pt-podium-avatar { background: var(--surface-2); border: 3px solid var(--border); color: var(--muted); }
:where(:root:not([data-theme="light"])) .pt-podium-place--third .pt-podium-avatar { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .pt-leaderboard-row { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-leaderboard-rank { background: var(--surface-2); }
:where(:root:not([data-theme="light"])) .pt-leaderboard-you-badge { background: var(--surface); }
:where(:root:not([data-theme="light"])) .pt-tabbar { background: var(--surface); border-top: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .game-list-pane { background: var(--surface); }
:where(:root:not([data-theme="light"])) .game-list-pane .dict-tabs,
:where(:root:not([data-theme="light"])) .game-list-pane .wordlist-toolbar { border-bottom: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .dict-row.game-list-row,
:where(:root:not([data-theme="light"])) .wordlist-table-row.game-list-row { background: var(--surface); }
:where(:root:not([data-theme="light"])) .game-stage--quiz .game-card-panel-foot { border-top: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .swipe-card-hint { border-bottom: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .game-sidebar { background: var(--surface); }
:where(:root:not([data-theme="light"])) .game-card-panel { background: var(--surface); }
:where(:root:not([data-theme="light"])) .game-card-panel-head { border-bottom: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .game-card-panel-foot { border-top: 1px solid var(--border); }
:where(:root:not([data-theme="light"])) .game-action-btn--learn:hover { background: var(--ok-bg); }
:where(:root:not([data-theme="light"])) .game-action-btn--skip:hover { background: var(--accent-soft); }
:where(:root:not([data-theme="light"])) .game-screen .swipe-card { background: var(--surface); }
:where(:root:not([data-theme="light"])) .game-screen .swipe-empty { background: var(--surface); }
}

