@import url("tokens.css?v=design-v1");

/* Linked by each active entry point. System appearance preserves the selected palette. */
:root[data-color-scheme="light"] body { background: var(--background); color: var(--foreground); }
:root[data-color-scheme="light"] :is(.waybar, .app-nav-bar, .app-bar) {
  background: var(--surface); color: var(--bright);
  border-color: var(--muted); box-shadow: 0 3px 16px rgb(35 47 75 / .08);
}
:root[data-color-scheme="light"] :is(.panel-title > span:last-child, .bar-center, .app-row small, .command-row small, .metric > span, .sound-level, .preset-label) { color: var(--secondary); }
:root[data-color-scheme="light"] :is(.toast, .app-nav-drawer, .pattern-gallery, .pattern-preview, .player-panel, .player-card, .current-card, .leader-list li, .hud-powerups, .hud-metrics) {
  background: var(--surface); color: var(--foreground); border-color: var(--muted);
}
:root[data-color-scheme="light"] :is(.app-nav-menu-button, .app-nav-drawer__close) { color: var(--bright); border-color: var(--muted); }
:root[data-color-scheme="light"] .app-nav-drawer__link { color: var(--foreground); }
:root[data-color-scheme="light"] :is(.app-nav-drawer__label, .app-nav-drawer__link small) { color: var(--secondary); }
:root[data-color-scheme="light"] .app-nav-drawer__link[aria-current="page"] { color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--surface)); border-color: var(--accent); }
:root[data-color-scheme="light"] :is(.app-nav-drawer__head, .app-nav-drawer) { border-color: var(--muted); }
:root[data-color-scheme="light"] :is(.app-nav-drawer__link:hover, .app-nav-drawer__close:hover, .app-nav-menu-button:hover) { background: var(--surface-2); }
:root[data-color-scheme="light"] :is(.control-btn.primary, #start-btn, .mine-mode.active, .game-dialog .primary, [data-game-restart], .leaderboard-form button[type="submit"]) { color: var(--on-accent); background: var(--accent); }
:root[data-color-scheme="light"] :is(.bar-module, .command-button, .classic-button, .back-link):is(:hover, :focus-visible) { color: var(--on-accent); }

/* Soundboard captions, search, favorites and navigation. */
:root[data-color-scheme="light"] .sound div { color: var(--foreground); background: var(--surface); }
:root[data-color-scheme="light"] .sound { border: 1px solid var(--muted); }
:root[data-color-scheme="light"] .sound::after { background: color-mix(in srgb, var(--accent) 12%, transparent); }
:root[data-color-scheme="light"] .app-bar .md-search {
  background: var(--surface-2);
  border-color: var(--secondary);
  box-shadow: inset 0 1px 2px rgb(35 47 75 / .06);
}
:root[data-color-scheme="light"] .app-bar .md-search:focus-within {
  background: var(--surface);
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}
:root[data-color-scheme="light"] .app-bar :is(.md-search__input, .md-search__clear, .md-search__icon, .app-bar__action) { color: var(--foreground); }
:root[data-color-scheme="light"] .app-bar .md-search__input::placeholder { color: var(--secondary); opacity: 1; }
:root[data-color-scheme="light"] .sound .fav-badge.add { background: var(--green); color: #fff; }
:root[data-color-scheme="light"] .sound .fav-badge.remove { background: var(--red); color: #fff; }

/* Main app play areas. Playing-card illustrations retain their own colors. */
:root[data-color-scheme="light"] :is(.mine-board-frame, .card-table, .radio-map, .soundboard-game canvas, .soundboard-game .board-shell) { background: var(--canvas-bg); border-color: var(--muted); }
:root[data-color-scheme="light"] .counter { background: var(--surface); color: var(--bright); }
:root[data-color-scheme="light"] .cell.revealed { background: var(--dark-background); }
:root[data-color-scheme="light"] .cell.covered { background: var(--surface); box-shadow: inset 0 -2px 0 var(--dark-background); }
:root[data-color-scheme="light"] .cell.mine { background: var(--red); color: var(--on-accent); }
:root[data-color-scheme="light"] :is(.pile-label, .radio-hint span) { background: var(--surface-2); color: var(--foreground); }
:root[data-color-scheme="light"] .radio-search input { background: var(--surface); color: var(--foreground); }
:root[data-color-scheme="light"] :is(.radio-map-status, .radio-signal-count) { color: var(--foreground); text-shadow: none; }
:root[data-color-scheme="light"] :is(.radio-hint, .radio-status-line, .radio-now span) { color: var(--secondary); text-shadow: none; }

/* Sound games: panels, overlays and the default Memory card backs. */
:root[data-color-scheme="light"] .game-overlay { background: color-mix(in srgb, var(--surface) 88%, transparent); color: var(--bright); }
:root[data-color-scheme="light"] :is(.game-overlay small, .hud-powerups strong, .hint, .controls-list, .leaderboard__rank, .leaderboard__score, .leaderboard-restart-hint, .leaderboard-status.info, .leaderboard-preview h3) { color: var(--secondary); }
:root[data-color-scheme="light"] :is(.leaderboard__name, .leaderboard-list, .mode-overlay__panel p) { color: var(--foreground); }
:root[data-color-scheme="light"] .leaderboard-status.success { color: var(--green); }
:root[data-color-scheme="light"] :is(.leaderboard-error, .leaderboard-status.error, .system-message, .error-box) { color: var(--red); }
:root[data-color-scheme="light"] :is(.controls-list kbd, .pattern-trigger, .player-card, .game-dialog .leaderboard-prompt) { background: var(--surface-2); color: var(--foreground); border-color: var(--muted); }
:root[data-color-scheme="light"] .player-card.is-active { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
:root[data-color-scheme="light"] :is(.board[data-pattern="stripes"] .card__face--back, .pattern-preview[data-pattern="stripes"] .pattern-preview__skin, .pattern-tile__skin[data-pattern="stripes"]) {
  background-color: var(--surface-2);
  background-image: repeating-linear-gradient(135deg, transparent 0 18px, color-mix(in srgb, var(--accent) 20%, transparent) 18px 36px);
  border-color: var(--muted);
}
:root[data-color-scheme="light"] .pattern-tile__label { color: var(--foreground); }
:root[data-color-scheme="light"] :is(.game-dialog, .sound-dialog, .session-dialog)::backdrop { background: rgb(36 46 62 / .35); }
:root[data-color-scheme="light"] #countdown-overlay { color: var(--bright); text-shadow: none; }
:root[data-color-scheme="light"] :is(.station-row small, .station-empty, .volume-readout, .radio-now span, .radio-status-line) { color: var(--secondary); }
:root[data-color-scheme="light"] .radio-control:is(:hover, :focus-visible) { color: var(--on-accent); background: var(--accent); }
:root[data-color-scheme="light"] .soundboard-game .controls { background: var(--dark-background); }
:root[data-color-scheme="light"] dialog::backdrop { background: rgb(36 46 62 / .35); }
:root[data-color-scheme="light"] :is(.overlay-content small, .card .hint) { opacity: 1; }
:root[data-color-scheme="light"] .w3-blue { background: var(--accent) !important; color: var(--on-accent) !important; }
@media (prefers-reduced-motion: reduce) {
  :root[data-color-scheme] .app-row { transition: none; }
}
