/**
 * Krimi-Deduktion: UI-Theme Definitionen
 * 
 * Jedes Theme muss zwingend alle folgenden Variablen definieren:
 * 
 * Flächen & Texturen:
 *   --surface-app        : Haupthintergrund der Anwendung (Schreibtisch/Akte)
 *   --surface-panel      : Panel-Hintergründe (Header, Footer, Kartenspalte)
 *   --surface-card       : Kartenhintergrund
 *   --surface-raised     : Angehobene Kacheln, Hover-Zustände
 *   --surface-sunken     : Eingelegte Flächen (Regel-Badges, Modusleiste)
 *   --texture            : CSS-Hintergrundtextur (z.B. SVG-Noise für Papier, 'none' für Nacht)
 * 
 * Typografie & Textfarben:
 *   --font-display       : Schriftart für Überschriften ('Cinzel', serif)
 *   --font-story         : Schriftart für Zitate & Story ('Lora', serif)
 *   --font-ui            : Schriftart für Bedienelemente & Fließtext ('Inter', sans-serif)
 *   --text               : Haupttextfarbe
 *   --text-soft          : Sekundäre Textfarbe
 *   --text-faint         : Muted Text & Hilfstexte
 *   --text-on-accent     : Kontrastfarbe auf Primär-Buttons
 * 
 * Linien & Rahmen:
 *   --line               : Dezente Begrenzungen & Trennlinien
 *   --line-strong        : Kräftige Rahmen
 * 
 * Semantische Akzentfarben:
 *   --accent-select      : Auswahl, Primär-Aktion (Messing/Gold)
 *   --accent-select-hover: Hover-Status
 *   --accent-select-bg   : Zarte Hintergrundtönung
 *   --accent-select-border: Randtönung
 *   --accent-info        : Leitfaden, Tipps, Notizen (Tintenblau)
 *   --accent-info-bg     : Zarte Hintergrundtönung
 *   --accent-info-border : Randtönung
 *   --accent-danger      : Sperren (X), Opfer, Löschen (Karmesin/Ochsenblut)
 *   --accent-danger-bg   : Zarte Hintergrundtönung
 *   --accent-danger-border: Randtönung
 *   --accent-success     : Gelöst, Platziert (Oliv/Salbei)
 *   --accent-success-bg  : Zarte Hintergrundtönung
 *   --accent-success-border: Randtönung
 * 
 * Spielbrett & Grundriss:
 *   --board-frame        : Äußerer Rahmen des Spielbretts
 *   --board-grid-line    : Feine Gitterlinie zwischen Feldern (Bleistift)
 *   --board-wall         : Kräftige Raumwandlinie (Tinte)
 *   --board-wall-width   : Stärke der Raumwände (z.B. 3px)
 *   --room-0 bis 5       : Raumtönungen
 *   --landmark-hatch     : Schraffur für blockierende Hindernisse
 *   --x-auto             : Automatisches Ausschlusskreuz
 *   --x-manual           : Manuell gesetztes Sperrkreuz
 *   --token-label-bg     : Hintergrund des Namensetiketts auf der Spielfigur
 *   --token-label-text   : Schriftfarbe des Namensetiketts
 *   --room-label         : Schriftfarbe des Raumnamens in der Ecke
 * 
 * Schatten & Radien:
 *   --shadow-sm          : Subtiler Schatten
 *   --shadow-md          : Mittlerer Schatten (Spielbrett, Karten)
 *   --shadow-pop         : Kräftiger Schatten (Modals, Overlays)
 *   --radius-sm          : 3px
 *   --radius-md          : 6px
 *   --radius-lg          : 10px
 *   --radius-pill        : 999px
 */

/* ========================================================================= */
/* 1. Theme: Papier (Standard)                                               */
/* ========================================================================= */
:root,
[data-theme="paper"] {
  --surface-app: #ede5d4;
  --surface-panel: #f6efe2;
  --surface-card: #fdfaf3;
  --surface-raised: #ffffff;
  --surface-sunken: rgba(56, 42, 28, 0.06);

  /* SVG Noise Papierstruktur (inline, offlinefähig, autark) */
  --texture: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.045'/%3E%3C/svg%3E");

  --font-display: 'Cinzel', serif;
  --font-story: 'Lora', Georgia, serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --text: #2c2219;
  --text-soft: #615141;
  --text-faint: #918170;
  --text-on-accent: #ffffff;

  --line: rgba(56, 42, 28, 0.16);
  --line-strong: rgba(56, 42, 28, 0.45);

  --accent-select: #a06a25;
  --accent-select-hover: #b87c2f;
  --accent-select-bg: rgba(160, 106, 37, 0.12);
  --accent-select-border: rgba(160, 106, 37, 0.45);

  --accent-info: #2d5584;
  --accent-info-bg: rgba(45, 85, 132, 0.1);
  --accent-info-border: rgba(45, 85, 132, 0.35);

  --accent-danger: #9c2a2b;
  --accent-danger-bg: rgba(156, 42, 43, 0.1);
  --accent-danger-border: rgba(156, 42, 43, 0.35);

  --accent-success: #3e6e4a;
  --accent-success-bg: rgba(62, 110, 74, 0.12);
  --accent-success-border: rgba(62, 110, 74, 0.4);

  --board-frame: #3d2d1e;
  --board-grid-line: rgba(56, 42, 28, 0.14);
  --board-wall: #26190f;
  --board-wall-width: 3.5px;

  /* Raumtönungen: Warme, dezent getönte Papierstufen */
  --room-0: #fbf6ec;
  --room-1: #edf3ec;
  --room-2: #ecf1f5;
  --room-3: #f5edf2;
  --room-4: #f4edd9;
  --room-5: #edf0ea;

  /* Schraffur für Hindernisse / Landmarken */
  --landmark-hatch: repeating-linear-gradient(
    45deg,
    rgba(56, 42, 28, 0.08),
    rgba(56, 42, 28, 0.08) 5px,
    rgba(56, 42, 28, 0.18) 5px,
    rgba(56, 42, 28, 0.18) 10px
  );

  --x-auto: rgba(156, 42, 43, 0.45);
  --x-manual: #9c2a2b;

  --token-label-bg: rgba(38, 25, 15, 0.88);
  --token-label-text: #fdfaf3;
  --room-label: rgba(56, 42, 28, 0.72);

  --shadow-sm: 0 1px 3px rgba(56, 42, 28, 0.08);
  --shadow-md: 0 4px 14px rgba(56, 42, 28, 0.12);
  --shadow-pop: 0 14px 32px rgba(56, 42, 28, 0.22);

  --radius-sm: 4px;
  --radius-md: 7px;
  --radius-lg: 10px;
  --radius-pill: 999px;
}

/* ========================================================================= */
/* 2. Theme: Nacht (Klassisches Dark-Theme)                                  */
/* ========================================================================= */
[data-theme="night"] {
  --surface-app: #0d1117;
  --surface-panel: #161b22;
  --surface-card: #1f242d;
  --surface-raised: #282f3a;
  --surface-sunken: rgba(0, 0, 0, 0.4);

  --texture: none;

  --font-display: 'Cinzel', serif;
  --font-story: 'Lora', Georgia, serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --text: #f0f6fc;
  --text-soft: #8b949e;
  --text-faint: #6e7681;
  --text-on-accent: #121212;

  --line: #30363d;
  --line-strong: #484f58;

  --accent-select: #e5a93b;
  --accent-select-hover: #f3be56;
  --accent-select-bg: rgba(229, 169, 59, 0.15);
  --accent-select-border: rgba(229, 169, 59, 0.45);

  --accent-info: #58a6ff;
  --accent-info-bg: rgba(88, 166, 255, 0.14);
  --accent-info-border: rgba(88, 166, 255, 0.4);

  --accent-danger: #f85149;
  --accent-danger-bg: rgba(248, 81, 73, 0.14);
  --accent-danger-border: rgba(248, 81, 73, 0.4);

  --accent-success: #3fb950;
  --accent-success-bg: rgba(63, 185, 80, 0.14);
  --accent-success-border: rgba(63, 185, 80, 0.4);

  --board-frame: #4a3c2a;
  --board-grid-line: rgba(255, 255, 255, 0.08);
  --board-wall: #e5a93b;
  --board-wall-width: 3px;

  --room-0: #242933;
  --room-1: #1e2836;
  --room-2: #1c2b29;
  --room-3: #2a2233;
  --room-4: #2c2921;
  --room-5: #2e2323;

  --landmark-hatch: repeating-linear-gradient(
    45deg,
    rgba(0, 0, 0, 0.35),
    rgba(0, 0, 0, 0.35) 5px,
    rgba(0, 0, 0, 0.65) 5px,
    rgba(0, 0, 0, 0.65) 10px
  );

  --x-auto: rgba(248, 81, 73, 0.45);
  --x-manual: #f85149;

  --token-label-bg: rgba(0, 0, 0, 0.78);
  --token-label-text: #ffd875;
  --room-label: rgba(229, 169, 59, 0.85);

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.45);
  --shadow-pop: 0 16px 36px rgba(0, 0, 0, 0.7);

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-pill: 999px;
}
