/* Theme-Block-Token des Bestands — SPEC-0363.
 *
 * Der Bestand setzt in App.vue je `.theme-*`-Block eine Reihe von Token, die
 * NICHT zu den 23 generierten Theme-Token gehoeren, aber ueberall gelesen
 * werden. Im Port fehlten sie. Weil an jeder Lesestelle ein Rueckfall steht,
 * sah nichts kaputt aus — die Flaechen folgten nur nicht dem Thema, sondern
 * ihrem letzten Rueckfall: einer festen Palette (`--core-color-*`, in allen
 * Themen gleich) oder einer CSS-Systemfarbe (`Canvas`, `Mark`, `LinkText`).
 *
 * Gemessen mit der geschaerften Theme-Achse: 41 Blaetter betroffen,
 * 17 Token. Das ist derselbe Befund wie ueberall in diesem Vorhaben — die
 * Regel steht da, der LESER fehlt; hier fehlte umgekehrt die DEFINITION.
 *
 * Werte 1:1 aus dem Bestand (App.vue, je Theme-Block: light 2275-2386,
 * dark 2387-2495, contrast 2496-2590, avangers 2591-2729).
 *
 * Sie stehen hier und nicht in `themes/*.css`, weil die generiert sind
 * ("NICHT von Hand editieren") — dieselbe Entscheidung wie bei den
 * `--settings-*`-Token in `admin-panels.css`.
 *
 * LUECKEN BEWUSST GESPIEGELT, nicht geglaettet: wo der Bestand ein Token in
 * einem Thema NICHT setzt, fehlt es hier ebenso, damit der Verbraucher
 * denselben Rueckfall nimmt wie dort.
 */

html[data-core-theme="light"] {
  --settings-border: var(--border);
  --settings-group-bg: var(--border);
  --settings-input-bg: var(--surface);
  --app-bg: var(--surface);
  --menu-muted-fg: var(--text-muted);
  --transaction-panel-bg-soft: var(--surface);
  --transaction-control-bg: var(--surface);
  --transaction-control-border: var(--border);
  --transaction-control-fg: var(--text);
  --transaction-fg: var(--text);
  --transaction-muted: var(--text-muted);
  --transaction-overlay-bg: linear-gradient(180deg, var(--surface-elevated), var(--surface-elevated));
  --transaction-panel-bg: var(--text-inverse);
  --transaction-panel-border: var(--border);
  --transaction-panel-shadow: 0 18px 42px var(--border);
}

html[data-core-theme="dark"] {
  --settings-border: var(--border);
  --settings-group-bg: var(--surface);
  --settings-input-bg: rgba(4, 16, 32, 0.86);
  --app-bg: var(--surface);
  --menu-muted-fg: var(--text-muted);
  --transaction-panel-bg-soft: var(--surface-elevated);
  --transaction-control-bg: var(--surface);
  --transaction-control-border: var(--border-strong);
  --transaction-control-fg: var(--text);
  --transaction-fg: var(--text);
  --transaction-muted: var(--text-muted);
  --transaction-overlay-bg: linear-gradient(180deg, var(--surface-elevated), var(--surface));
  --transaction-panel-bg: var(--surface-elevated);
  --transaction-panel-border: var(--border);
  --transaction-panel-shadow: 0 22px 56px var(--shadow-card), inset 0 1px 0 var(--border);
}

html[data-core-theme="contrast"] {
  --settings-border: rgba(255, 255, 255, 0.2);
  --settings-group-bg: rgba(255, 255, 255, 0.05);
  --settings-input-bg: #020617;
  --app-bg: var(--text);
  /* `--menu-muted-fg` fehlt im Bestand fuer contrast — hier ebenso. */
  --transaction-panel-bg-soft: #080808;
  --transaction-control-bg: var(--text);
  --transaction-control-border: var(--text-inverse);
  --transaction-control-fg: var(--text-inverse);
  --transaction-fg: var(--text-inverse);
  --transaction-muted: var(--text-inverse);
  --transaction-overlay-bg: var(--text);
  --transaction-panel-bg: var(--text);
  --transaction-panel-border: var(--text-inverse);
  --transaction-panel-shadow: 0 0 0 2px var(--text-soft);
}

html[data-core-theme="avangers"] {
  --settings-border: rgba(66, 218, 255, 0.38);
  --settings-group-bg: rgba(7, 46, 108, 0.34);
  --settings-input-bg: rgba(2, 12, 30, 0.94);
  --app-bg: #02091c;
  --menu-muted-fg: #7fdfff;
  --transaction-panel-bg-soft: var(--surface-elevated);
  --transaction-control-bg: var(--surface);
  --transaction-control-border: var(--border-strong);
  --transaction-control-fg: var(--text);
  --transaction-fg: #d9e7f6;
  --transaction-muted: var(--text-muted);
  /* `--transaction-overlay-bg` fehlt im Bestand fuer avangers — hier ebenso. */
  --transaction-panel-bg: linear-gradient(180deg, var(--surface-elevated), rgba(4, 14, 30, 0.96));
  --transaction-panel-border: rgba(36, 151, 213, 0.28);
  --transaction-panel-shadow: 0 22px 56px var(--shadow-card), inset 0 1px 0 var(--border);
  --menu-hover-text-shadow: 0 0 12px rgba(79, 231, 255, 0.16);
  --menu-title-text-shadow: 0 0 14px rgba(79, 231, 255, 0.12);
}
