/* A quieter evening palette. Supplier games retain their own rendering. */
:root {
  color-scheme: dark;
  --bg: #171c23;
  --surface: #202731;
  --surface-raised: #28313e;
  --ink: #e0e6ec;
  --muted: #a7b3c2;
  --border: #394455;
  --control-border: #6d7b91;
  --purple: #b3a7d4;
  --purple-hover: #c7bce3;
  --purple-light: #343144;
  --lime: #9eaf9c;
  --button-ink: #171c23;
  --button-bg: #b3a7d4;
  --button-hover: #c2b6dd;
  --focus: #c2b6dd;
  --saved-ink: #efb4c1;
  --saved-bg: #49303b;
  scrollbar-color: #657087 var(--bg);
}

body { background: var(--bg); }
::selection { color: var(--button-ink); background: var(--purple); }
.topbar { background: #1b222c; }
.search-box input, .lang-button, .filter-pill, .game-actions button { border-color: var(--control-border); }
.search-box input:hover, .lang-button:hover, .filter-pill:hover, .game-actions button:hover { border-color: var(--purple); }
.sort-select option { color: var(--ink); background: var(--surface); }
.section-title > span { color: #c8c1db; background: var(--purple-light); }

.mobile-menu { color: var(--ink); background: #11151b; border-color: var(--control-border); }
.mobile-menu:hover { color: var(--ink); background: var(--surface-raised); }
.nav-item.active { color: #e5dfef; background: #3b354c; }
.sidebar .nav-badge { color: var(--muted); background: var(--surface-raised); }
.sidebar .nav-item.active .nav-badge { color: #e5dfef; background: #534961; }
.bottom-banner button:hover { background: #403a52; }
.sidebar, .filter-row, .recent-games { scrollbar-color: #657087 transparent; }
.sidebar::-webkit-scrollbar-thumb, .filter-row::-webkit-scrollbar-thumb { background: #657087; }


.primary-button, .install-now, .gpx-button { color: var(--button-ink); background: var(--button-bg); }
.primary-button:hover, .install-now:hover, .gpx-button:hover:not(:disabled) { color: var(--button-ink); background: var(--button-hover); }
.filter-pill.active { color: #e0d8ee; border-color: #9787b1; background: #51455f; }
.gpx-secondary { color: #d2c6e6; background: var(--purple-light); }
.gpx-secondary:hover:not(:disabled) { color: #e3d8f2; background: #403a52; }
.gpx-player[data-phase=invalid] .gpx-title, .gpx-player[data-phase=error] .gpx-status { color: var(--saved-ink); }
.gpx-frame-host, .gpx-frame { background: #151a21; }

.game-label, .game-label.platform-label { color: var(--ink); background: var(--surface); }
.favorite-btn { color: #c0cad8; background: #202731; }
.favorite-btn:hover, .favorite-btn.saved, .game-actions button[aria-pressed="true"] { color: var(--saved-ink); background: var(--saved-bg); }
.card-meta .card-description, .game-actions button { color: var(--muted); }
.card-open:hover .art-wrap, .card-open:focus-visible .art-wrap { transform: translateY(-1px); box-shadow: 0 8px 18px #080c142e; }
.card-open:hover .art-wrap > .game-cover { transform: scale(1.015); }
.card-open:hover .card-play { color: var(--button-ink); background: var(--button-bg); }
.game-empty { border-color: var(--control-border); }

.skip-link { color: var(--button-ink); background: var(--button-bg); }
.toast { color: var(--ink); background: #303a49; box-shadow: 0 8px 24px #080c1455; }
dialog { box-shadow: 0 24px 80px #080c1470; }
dialog::backdrop, .mobile-shade { background: #090e17a8; }
.dialog-copy input { color: var(--ink); background: var(--surface-raised); }
