/* === Lorath — Theme-Definitionen ===
 *
 * Gesteuert über data-theme="..." auf <html>.
 * Fantasy (Default) ist in :root (style.css) definiert.
 * Schriftarten über data-font="..." auf <html>.
 */

/* ─── Light — Pergament & Tinte ────────────────────────────────────────────── */
[data-theme="light"] {
  --ff-bg-primary: #faf8f5;
  --ff-bg-secondary: #f0ece6;
  --ff-bg-tertiary: #e8e2d8;
  --ff-bg-card: #ede8e0;
  --ff-bg-primary-rgb: 250, 248, 245;
  --ff-bg-secondary-rgb: 240, 236, 230;
  --ff-bg-tertiary-rgb: 232, 226, 216;
  --ff-bg-card-rgb: 237, 232, 224;

  --ff-text-primary: #2c2416;
  --ff-text-primary-rgb: 44, 36, 22;
  --ff-text-light: #3a3228;
  --ff-text-soft: #4a3e32;
  --ff-text-secondary: #5a4a3a;
  --ff-text-subdued: #6a5a4a;
  --ff-text-muted: #7a6954;
  --ff-text-muted-rgb: 122, 105, 84;
  --ff-text-dim: #a09080;
  --ff-text-faint: #b8a898;
  --ff-text-quote: #5a4030;

  --ff-accent: #a0334d;
  --ff-accent-hover: #8a2840;
  --ff-accent-dark: #7a2038;
  --ff-accent-darker: #6a1830;
  --ff-accent-rgb: 160, 51, 77;

  --ff-gold: #8b6d45;
  --ff-gold-light: #a08058;
  --ff-gold-dark: #6a5234;
  --ff-gold-rgb: 139, 109, 69;

  --ff-on-accent: #ffffff;
  --ff-on-gold: #ffffff;
  --ff-btn-primary-text: var(--ff-on-accent);
  --ff-promo-cta-bg: var(--ff-gold);
  --ff-promo-cta-bg-hover: var(--ff-gold-dark);
  --ff-warning-rgb: 243, 156, 18;
  --ff-error-rgb: 231, 76, 60;
  --ff-info-rgb: 52, 152, 219;
  --ff-intimate: #e6a292;
  --ff-intimate-rgb: 190, 90, 70;
  --ff-tindra-info-rgb: 100, 180, 255;
  --ff-type-world: #d4a574;
  --ff-type-continent: #4a9e5c;
  --ff-type-country: #5b8a3c;
  --ff-type-npc: #4fc3f7;
  --ff-type-organization: #9c27b0;
  --ff-type-organization-rgb: 156, 39, 176;
  --ff-type-god: #ffd54f;
  --ff-type-item: #7f8c8d;
  --ff-type-race: #e67e22;
  --ff-type-class: #2ecc71;
  --ff-type-creature: #ef5350;
  --ff-type-quest: #ff9800;
  --ff-type-artifact: #66bb6a;
  --ff-type-event: #e94560;
  --ff-type-curse: #ab47bc;
  --ff-type-culture: #26c6da;
  --ff-provider-anthropic: #d4a574;
  --ff-provider-google: #4285f4;
  --ff-provider-openai: #10a37f;
  --ff-provider-minimax: #8a4baf;
  --ff-provider-mistral: #ff7000;
  --ff-provider-deepseek: #1e6091;
  --ff-provider-elevenlabs: #e94560;
  --ff-provider-promptchan: #b450af;
  --ff-provider-runpod: #6c757d;
  --ff-provider-unknown: #555a6e;
  --ff-status-refunded: #d37a2e;
  --ff-status-partial: #e0a240;
  --ff-status-partial-text: #2a1200;
  --ff-status-disputed: #b03030;
  --ff-usk-0: #88c057;
  --ff-usk-6: #b3c855;
  --ff-usk-12: #d4a574;
  --ff-usk-16: #e9a045;
  --ff-usk-18: #e94560;
  --ff-on-usk-light: #0d0d1a;
  --ff-on-usk-strong: #ffffff;

  --ff-border: rgba(139, 109, 69, 0.2);
  --ff-border-strong: rgba(139, 109, 69, 0.35);
  --ff-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  --ff-glow-gold: rgba(139, 109, 69, 0.2);

  --ff-scrollbar-track: #e8e2d8;
  --ff-scrollbar-thumb: #8b6d45;

  --ff-purple: #7a5a90;
  --ff-purple-light: #8a6aa0;
  --ff-purple-rgb: 100, 70, 120;
  --ff-user-bubble-rgb: 120, 100, 80;
  --ff-user-strong: rgba(90, 60, 110, 1);
  --ff-ai-memory-rgb: 100, 70, 130;
  --ff-thinking-rgb: 80, 50, 110;
  --ff-lore-rgb: 120, 90, 60;
  --ff-code-border-rgb: 100, 90, 80;

  --ff-white-rgb: 255, 255, 255;
  --ff-black-rgb: 0, 0, 0;

  --ff-success: #2e8b3e;
  --ff-success-rgb: 46, 139, 62;
  --ff-success-dark: #1e7a30;
  --ff-success-dark-rgb: 30, 122, 48;
}

/* ─── Light-Mode Kontrast-Overrides (v1.1.0.128) ──────────────────────────────
   Form-Inputs liefen vorher auf `rgba(var(--ff-bg-secondary-rgb), 0.6)` —
   im Light-Theme ist das ein fast-weißes Crème (240, 236, 230) mit 60 %
   Deckkraft über einem ebenfalls hellen Hintergrund. Resultat: Felder hatten
   praktisch keinen sichtbaren Rand zum Hintergrund. Hier setzen wir sie auf
   volles Weiß mit kräftigerer Border, damit der User klar erkennt, wo er
   tippen kann. Im Settings-Menü greift derselbe Selektor pro Container.
   Greift fuer alle Light-Themes: light/sage/rose/coral. */
[data-theme="light"] .form-input,
[data-theme="sage"] .form-input,
[data-theme="rose"] .form-input,
[data-theme="coral"] .form-input,
[data-theme="light"] input.form-input,
[data-theme="sage"] input.form-input,
[data-theme="rose"] input.form-input,
[data-theme="coral"] input.form-input,
[data-theme="light"] select.form-input,
[data-theme="sage"] select.form-input,
[data-theme="rose"] select.form-input,
[data-theme="coral"] select.form-input,
[data-theme="light"] textarea.form-input,
[data-theme="sage"] textarea.form-input,
[data-theme="rose"] textarea.form-input,
[data-theme="coral"] textarea.form-input,
[data-theme="light"] .settings-container select,
[data-theme="sage"] .settings-container select,
[data-theme="rose"] .settings-container select,
[data-theme="coral"] .settings-container select,
[data-theme="light"] .settings-container input[type="text"],
[data-theme="sage"] .settings-container input[type="text"],
[data-theme="rose"] .settings-container input[type="text"],
[data-theme="coral"] .settings-container input[type="text"],
[data-theme="light"] .settings-container input[type="email"],
[data-theme="sage"] .settings-container input[type="email"],
[data-theme="rose"] .settings-container input[type="email"],
[data-theme="coral"] .settings-container input[type="email"],
[data-theme="light"] .settings-container input[type="number"],
[data-theme="sage"] .settings-container input[type="number"],
[data-theme="rose"] .settings-container input[type="number"],
[data-theme="coral"] .settings-container input[type="number"],
[data-theme="light"] .settings-container input[type="date"],
[data-theme="sage"] .settings-container input[type="date"],
[data-theme="rose"] .settings-container input[type="date"],
[data-theme="coral"] .settings-container input[type="date"],
[data-theme="light"] .settings-container textarea,
[data-theme="sage"] .settings-container textarea,
[data-theme="rose"] .settings-container textarea,
[data-theme="coral"] .settings-container textarea {
  background: #ffffff;
  border-color: rgba(var(--ff-gold-rgb), 0.45);
  color: var(--ff-text-primary);
}
[data-theme="light"] .form-input:hover:not(:disabled),
[data-theme="sage"] .form-input:hover:not(:disabled),
[data-theme="rose"] .form-input:hover:not(:disabled),
[data-theme="coral"] .form-input:hover:not(:disabled),
[data-theme="light"] input.form-input:hover:not(:disabled),
[data-theme="sage"] input.form-input:hover:not(:disabled),
[data-theme="rose"] input.form-input:hover:not(:disabled),
[data-theme="coral"] input.form-input:hover:not(:disabled),
[data-theme="light"] select.form-input:hover:not(:disabled),
[data-theme="sage"] select.form-input:hover:not(:disabled),
[data-theme="rose"] select.form-input:hover:not(:disabled),
[data-theme="coral"] select.form-input:hover:not(:disabled),
[data-theme="light"] textarea.form-input:hover:not(:disabled),
[data-theme="sage"] textarea.form-input:hover:not(:disabled),
[data-theme="rose"] textarea.form-input:hover:not(:disabled),
[data-theme="coral"] textarea.form-input:hover:not(:disabled),
[data-theme="light"] .settings-container select:hover,
[data-theme="sage"] .settings-container select:hover,
[data-theme="rose"] .settings-container select:hover,
[data-theme="coral"] .settings-container select:hover,
[data-theme="light"] .settings-container input:hover,
[data-theme="sage"] .settings-container input:hover,
[data-theme="rose"] .settings-container input:hover,
[data-theme="coral"] .settings-container input:hover,
[data-theme="light"] .settings-container textarea:hover,
[data-theme="sage"] .settings-container textarea:hover,
[data-theme="rose"] .settings-container textarea:hover,
[data-theme="coral"] .settings-container textarea:hover {
  border-color: var(--ff-gold);
}
[data-theme="light"] .form-input:focus,
[data-theme="sage"] .form-input:focus,
[data-theme="rose"] .form-input:focus,
[data-theme="coral"] .form-input:focus,
[data-theme="light"] input.form-input:focus,
[data-theme="sage"] input.form-input:focus,
[data-theme="rose"] input.form-input:focus,
[data-theme="coral"] input.form-input:focus,
[data-theme="light"] select.form-input:focus,
[data-theme="sage"] select.form-input:focus,
[data-theme="rose"] select.form-input:focus,
[data-theme="coral"] select.form-input:focus,
[data-theme="light"] textarea.form-input:focus,
[data-theme="sage"] textarea.form-input:focus,
[data-theme="rose"] textarea.form-input:focus,
[data-theme="coral"] textarea.form-input:focus {
  background: #ffffff;
}
[data-theme="light"] select.form-input,
[data-theme="sage"] select.form-input,
[data-theme="rose"] select.form-input,
[data-theme="coral"] select.form-input,
[data-theme="light"] .settings-container select,
[data-theme="sage"] .settings-container select,
[data-theme="rose"] .settings-container select,
[data-theme="coral"] .settings-container select {
  /* Custom-Pfeil sichtbar auf weißem Hintergrund */
  background-image: linear-gradient(45deg, transparent 50%, var(--ff-gold-dark) 50%),
                    linear-gradient(135deg, var(--ff-gold-dark) 50%, transparent 50%);
}
[data-theme="light"] .settings-container select option,
[data-theme="sage"] .settings-container select option,
[data-theme="rose"] .settings-container select option,
[data-theme="coral"] .settings-container select option {
  background: #ffffff;
  color: var(--ff-text-primary);
}
/* Datum-Input Calendar-Icon im Light-Theme dunkler einfärben */
[data-theme="light"] input[type="date"].form-input::-webkit-calendar-picker-indicator,
[data-theme="sage"] input[type="date"].form-input::-webkit-calendar-picker-indicator,
[data-theme="rose"] input[type="date"].form-input::-webkit-calendar-picker-indicator,
[data-theme="coral"] input[type="date"].form-input::-webkit-calendar-picker-indicator,
[data-theme="light"] .settings-container input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme="sage"] .settings-container input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme="rose"] .settings-container input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme="coral"] .settings-container input[type="date"]::-webkit-calendar-picker-indicator {
  filter: none;
  opacity: 0.7;
}
/* Akkordeon-Hover im Settings nutzt hartkodiertes Fantasy-Gold (212,165,116) —
   im Light-Theme wirkt das zu kalt. Stattdessen Gold-Token verwenden. */
[data-theme="light"] .accordion-header:hover,
[data-theme="sage"] .accordion-header:hover,
[data-theme="rose"] .accordion-header:hover,
[data-theme="coral"] .accordion-header:hover { background: rgba(var(--ff-gold-rgb), 0.08); }
[data-theme="light"] .accordion-info-btn:hover,
[data-theme="sage"] .accordion-info-btn:hover,
[data-theme="rose"] .accordion-info-btn:hover,
[data-theme="coral"] .accordion-info-btn:hover { background: rgba(var(--ff-gold-rgb), 0.18); }

/* ─── Dark — Reines Schwarz ────────────────────────────────────────────────── */
[data-theme="dark"] {
  --ff-bg-primary: #050508;
  --ff-bg-secondary: #0a0a10;
  --ff-bg-tertiary: #12121a;
  --ff-bg-card: #18182a;
  --ff-bg-primary-rgb: 5, 5, 8;
  --ff-bg-secondary-rgb: 10, 10, 16;
  --ff-bg-tertiary-rgb: 18, 18, 26;
  --ff-bg-card-rgb: 24, 24, 42;

  --ff-text-primary: #f0f0f0;
  --ff-text-primary-rgb: 240, 240, 240;
  --ff-text-light: #d8d8d8;
  --ff-text-soft: #c0c0c0;
  --ff-text-secondary: #b0b0b0;
  --ff-text-subdued: #909090;
  --ff-text-muted: #909090;
  --ff-text-muted-rgb: 144, 144, 144;
  --ff-text-dim: #505050;
  --ff-text-faint: #404040;
  --ff-text-quote: #d0d0d8;

  --ff-accent: #ff3a55;
  --ff-accent-hover: #e82a45;
  --ff-accent-dark: #c02038;
  --ff-accent-darker: #a01830;
  --ff-accent-rgb: 255, 58, 85;

  --ff-gold: #c0c0c8;
  --ff-gold-light: #d8d8e0;
  --ff-gold-dark: #909098;
  --ff-gold-rgb: 192, 192, 200;

  --ff-on-accent: #050508;
  --ff-on-gold: #050508;
  --ff-btn-primary-text: var(--ff-on-accent);
  --ff-promo-cta-bg: var(--ff-gold);
  --ff-promo-cta-bg-hover: var(--ff-gold-dark);
  --ff-warning-rgb: 243, 156, 18;
  --ff-error-rgb: 231, 76, 60;
  --ff-info-rgb: 52, 152, 219;
  --ff-intimate: #e6a292;
  --ff-intimate-rgb: 190, 90, 70;
  --ff-tindra-info-rgb: 100, 180, 255;
  --ff-type-world: #d4a574;
  --ff-type-continent: #4a9e5c;
  --ff-type-country: #5b8a3c;
  --ff-type-npc: #4fc3f7;
  --ff-type-organization: #9c27b0;
  --ff-type-organization-rgb: 156, 39, 176;
  --ff-type-god: #ffd54f;
  --ff-type-item: #7f8c8d;
  --ff-type-race: #e67e22;
  --ff-type-class: #2ecc71;
  --ff-type-creature: #ef5350;
  --ff-type-quest: #ff9800;
  --ff-type-artifact: #66bb6a;
  --ff-type-event: #e94560;
  --ff-type-curse: #ab47bc;
  --ff-type-culture: #26c6da;
  --ff-provider-anthropic: #d4a574;
  --ff-provider-google: #4285f4;
  --ff-provider-openai: #10a37f;
  --ff-provider-minimax: #8a4baf;
  --ff-provider-mistral: #ff7000;
  --ff-provider-deepseek: #1e6091;
  --ff-provider-elevenlabs: #e94560;
  --ff-provider-promptchan: #b450af;
  --ff-provider-runpod: #6c757d;
  --ff-provider-unknown: #555a6e;
  --ff-status-refunded: #d37a2e;
  --ff-status-partial: #e0a240;
  --ff-status-partial-text: #2a1200;
  --ff-status-disputed: #b03030;
  --ff-usk-0: #88c057;
  --ff-usk-6: #b3c855;
  --ff-usk-12: #d4a574;
  --ff-usk-16: #e9a045;
  --ff-usk-18: #e94560;
  --ff-on-usk-light: #0d0d1a;
  --ff-on-usk-strong: #ffffff;

  --ff-border: rgba(192, 192, 200, 0.12);
  --ff-border-strong: rgba(192, 192, 200, 0.25);
  --ff-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
  --ff-glow-gold: rgba(192, 192, 200, 0.15);

  --ff-scrollbar-track: #0a0a10;
  --ff-scrollbar-thumb: #c0c0c8;

  --ff-purple: #a090b8;
  --ff-purple-light: #b0a0c8;
  --ff-purple-rgb: 140, 120, 170;
  --ff-user-bubble-rgb: 130, 120, 140;
  --ff-user-strong: rgba(180, 160, 200, 1);
  --ff-ai-memory-rgb: 120, 100, 160;
  --ff-thinking-rgb: 90, 70, 130;
  --ff-lore-rgb: 130, 120, 140;
  --ff-code-border-rgb: 80, 80, 100;
}

/* ─── Grau — Schiefer & Stein (v1.1.0.060) ─────────────────────────────────── */
[data-theme="gray"] {
  --ff-bg-primary: #16181c;
  --ff-bg-secondary: #1f2229;
  --ff-bg-tertiary: #282c34;
  --ff-bg-card: #2e333c;
  --ff-bg-primary-rgb: 22, 24, 28;
  --ff-bg-secondary-rgb: 31, 34, 41;
  --ff-bg-tertiary-rgb: 40, 44, 52;
  --ff-bg-card-rgb: 46, 51, 60;

  --ff-text-primary: #ebedf0;
  --ff-text-primary-rgb: 235, 237, 240;
  --ff-text-light: #d8dadf;
  --ff-text-soft: #c2c5cb;
  --ff-text-secondary: #a8acb4;
  --ff-text-subdued: #8a8e96;
  --ff-text-muted: #8e929a;
  --ff-text-muted-rgb: 142, 146, 154;
  --ff-text-dim: #5a5d65;
  --ff-text-faint: #44474e;
  --ff-text-quote: #e2e4e9;

  --ff-accent: #6e95c0;
  --ff-accent-hover: #5b85b3;
  --ff-accent-dark: #4a749e;
  --ff-accent-darker: #3c648a;
  --ff-accent-rgb: 110, 149, 192;

  --ff-gold: #b0b4bc;
  --ff-gold-light: #c4c8d0;
  --ff-gold-dark: #8c9098;
  --ff-gold-rgb: 176, 180, 188;

  --ff-on-accent: #16181c;
  --ff-on-gold: #16181c;
  --ff-btn-primary-text: var(--ff-on-accent);
  --ff-promo-cta-bg: var(--ff-gold);
  --ff-promo-cta-bg-hover: var(--ff-gold-dark);
  --ff-warning-rgb: 243, 156, 18;
  --ff-error-rgb: 231, 76, 60;
  --ff-info-rgb: 52, 152, 219;
  --ff-intimate: #e6a292;
  --ff-intimate-rgb: 190, 90, 70;
  --ff-tindra-info-rgb: 100, 180, 255;
  --ff-type-world: #d4a574;
  --ff-type-continent: #4a9e5c;
  --ff-type-country: #5b8a3c;
  --ff-type-npc: #4fc3f7;
  --ff-type-organization: #9c27b0;
  --ff-type-organization-rgb: 156, 39, 176;
  --ff-type-god: #ffd54f;
  --ff-type-item: #7f8c8d;
  --ff-type-race: #e67e22;
  --ff-type-class: #2ecc71;
  --ff-type-creature: #ef5350;
  --ff-type-quest: #ff9800;
  --ff-type-artifact: #66bb6a;
  --ff-type-event: #e94560;
  --ff-type-curse: #ab47bc;
  --ff-type-culture: #26c6da;
  --ff-provider-anthropic: #d4a574;
  --ff-provider-google: #4285f4;
  --ff-provider-openai: #10a37f;
  --ff-provider-minimax: #8a4baf;
  --ff-provider-mistral: #ff7000;
  --ff-provider-deepseek: #1e6091;
  --ff-provider-elevenlabs: #e94560;
  --ff-provider-promptchan: #b450af;
  --ff-provider-runpod: #6c757d;
  --ff-provider-unknown: #555a6e;
  --ff-status-refunded: #d37a2e;
  --ff-status-partial: #e0a240;
  --ff-status-partial-text: #2a1200;
  --ff-status-disputed: #b03030;
  --ff-usk-0: #88c057;
  --ff-usk-6: #b3c855;
  --ff-usk-12: #d4a574;
  --ff-usk-16: #e9a045;
  --ff-usk-18: #e94560;
  --ff-on-usk-light: #0d0d1a;
  --ff-on-usk-strong: #ffffff;

  --ff-border: rgba(176, 180, 188, 0.18);
  --ff-border-strong: rgba(176, 180, 188, 0.32);
  --ff-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  --ff-glow-gold: rgba(176, 180, 188, 0.14);

  --ff-scrollbar-track: #1f2229;
  --ff-scrollbar-thumb: #b0b4bc;

  --ff-purple: #9098a8;
  --ff-purple-light: #a0a8b8;
  --ff-purple-rgb: 144, 152, 168;
  --ff-user-bubble-rgb: 130, 140, 156;
  --ff-user-strong: rgba(168, 178, 196, 1);
  --ff-ai-memory-rgb: 120, 130, 150;
  --ff-thinking-rgb: 100, 110, 130;
  --ff-lore-rgb: 140, 145, 155;
  --ff-code-border-rgb: 90, 95, 105;
}

/* ─── Blue — Ozean & Frost ─────────────────────────────────────────────────── */
[data-theme="blue"] {
  --ff-bg-primary: #060d18;
  --ff-bg-secondary: #0c1828;
  --ff-bg-tertiary: #122540;
  --ff-bg-card: #182e4a;
  --ff-bg-primary-rgb: 6, 13, 24;
  --ff-bg-secondary-rgb: 12, 24, 40;
  --ff-bg-tertiary-rgb: 18, 37, 64;
  --ff-bg-card-rgb: 24, 46, 74;

  --ff-text-primary: #e0eaf5;
  --ff-text-primary-rgb: 224, 234, 245;
  --ff-text-light: #c8d8e8;
  --ff-text-soft: #b0c8dd;
  --ff-text-secondary: #90b0d0;
  --ff-text-subdued: #78a0c0;
  --ff-text-muted: #7c9cba;
  --ff-text-muted-rgb: 124, 156, 186;
  --ff-text-dim: #486878;
  --ff-text-faint: #385060;
  --ff-text-quote: #d0e0f0;

  --ff-accent: #2d9cdb;
  --ff-accent-hover: #2088c8;
  --ff-accent-dark: #1878b0;
  --ff-accent-darker: #106898;
  --ff-accent-rgb: 45, 156, 219;

  --ff-gold: #90c0e0;
  --ff-gold-light: #a8d0ee;
  --ff-gold-dark: #6898b8;
  --ff-gold-rgb: 144, 192, 224;

  --ff-on-accent: #060d18;
  --ff-on-gold: #060d18;
  --ff-btn-primary-text: var(--ff-on-accent);
  --ff-promo-cta-bg: var(--ff-gold);
  --ff-promo-cta-bg-hover: var(--ff-gold-dark);
  --ff-warning-rgb: 243, 156, 18;
  --ff-error-rgb: 231, 76, 60;
  --ff-info-rgb: 52, 152, 219;
  --ff-intimate: #e6a292;
  --ff-intimate-rgb: 190, 90, 70;
  --ff-tindra-info-rgb: 100, 180, 255;
  --ff-type-world: #d4a574;
  --ff-type-continent: #4a9e5c;
  --ff-type-country: #5b8a3c;
  --ff-type-npc: #4fc3f7;
  --ff-type-organization: #9c27b0;
  --ff-type-organization-rgb: 156, 39, 176;
  --ff-type-god: #ffd54f;
  --ff-type-item: #7f8c8d;
  --ff-type-race: #e67e22;
  --ff-type-class: #2ecc71;
  --ff-type-creature: #ef5350;
  --ff-type-quest: #ff9800;
  --ff-type-artifact: #66bb6a;
  --ff-type-event: #e94560;
  --ff-type-curse: #ab47bc;
  --ff-type-culture: #26c6da;
  --ff-provider-anthropic: #d4a574;
  --ff-provider-google: #4285f4;
  --ff-provider-openai: #10a37f;
  --ff-provider-minimax: #8a4baf;
  --ff-provider-mistral: #ff7000;
  --ff-provider-deepseek: #1e6091;
  --ff-provider-elevenlabs: #e94560;
  --ff-provider-promptchan: #b450af;
  --ff-provider-runpod: #6c757d;
  --ff-provider-unknown: #555a6e;
  --ff-status-refunded: #d37a2e;
  --ff-status-partial: #e0a240;
  --ff-status-partial-text: #2a1200;
  --ff-status-disputed: #b03030;
  --ff-usk-0: #88c057;
  --ff-usk-6: #b3c855;
  --ff-usk-12: #d4a574;
  --ff-usk-16: #e9a045;
  --ff-usk-18: #e94560;
  --ff-on-usk-light: #0d0d1a;
  --ff-on-usk-strong: #ffffff;

  --ff-border: rgba(144, 192, 224, 0.2);
  --ff-border-strong: rgba(144, 192, 224, 0.35);
  --ff-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  --ff-glow-gold: rgba(45, 156, 219, 0.2);

  --ff-scrollbar-track: #0c1828;
  --ff-scrollbar-thumb: #90c0e0;

  --ff-purple: #8098c8;
  --ff-purple-light: #90a8d8;
  --ff-purple-rgb: 100, 120, 180;
  --ff-user-bubble-rgb: 90, 110, 150;
  --ff-user-strong: rgba(130, 170, 230, 1);
  --ff-ai-memory-rgb: 80, 100, 170;
  --ff-thinking-rgb: 60, 80, 140;
  --ff-lore-rgb: 100, 130, 170;
  --ff-code-border-rgb: 70, 90, 120;
}

/* ─── Sage — Salbei, Sand & Stein ──────────────────────────────────────────── */
[data-theme="sage"] {
  --ff-bg-primary: #ebdfd3;
  --ff-bg-secondary: #cfd9b6;
  --ff-bg-tertiary: #c4cfaa;
  --ff-bg-card: #e2d7c8;
  --ff-bg-primary-rgb: 235, 223, 211;
  --ff-bg-secondary-rgb: 207, 217, 182;
  --ff-bg-tertiary-rgb: 196, 207, 170;
  --ff-bg-card-rgb: 226, 215, 200;

  --ff-text-primary: #29261c;
  --ff-text-primary-rgb: 41, 38, 28;
  --ff-text-light: #383428;
  --ff-text-soft: #484335;
  --ff-text-secondary: #5a5444;
  --ff-text-subdued: #6e6755;
  --ff-text-muted: #6b6450;
  --ff-text-muted-rgb: 107, 100, 80;
  --ff-text-dim: #9b9381;
  --ff-text-faint: #b2aa9a;
  --ff-text-quote: #4f4634;

  --ff-accent: #808a68;
  --ff-accent-hover: #737d5e;
  --ff-accent-dark: #687153;
  --ff-accent-darker: #5a6248;
  --ff-accent-rgb: 128, 138, 104;

  --ff-gold: #a8b7be;
  --ff-gold-light: #bbc7cc;
  --ff-gold-dark: #83969e;
  --ff-gold-rgb: 168, 183, 190;

  --ff-on-accent: #ffffff;
  --ff-on-gold: #29261c;
  --ff-btn-primary-text: var(--ff-on-accent);
  --ff-promo-cta-bg: var(--ff-gold);
  --ff-promo-cta-bg-hover: var(--ff-gold-dark);
  --ff-warning-rgb: 243, 156, 18;
  --ff-error-rgb: 231, 76, 60;
  --ff-info-rgb: 52, 152, 219;
  --ff-intimate: #e6a292;
  --ff-intimate-rgb: 230, 162, 146;
  --ff-tindra-info-rgb: 100, 180, 255;
  --ff-type-world: #d4a574;
  --ff-type-continent: #4a9e5c;
  --ff-type-country: #5b8a3c;
  --ff-type-npc: #4fc3f7;
  --ff-type-organization: #9c27b0;
  --ff-type-organization-rgb: 156, 39, 176;
  --ff-type-god: #ffd54f;
  --ff-type-item: #7f8c8d;
  --ff-type-race: #e67e22;
  --ff-type-class: #2ecc71;
  --ff-type-creature: #ef5350;
  --ff-type-quest: #ff9800;
  --ff-type-artifact: #66bb6a;
  --ff-type-event: #e94560;
  --ff-type-curse: #ab47bc;
  --ff-type-culture: #26c6da;
  --ff-provider-anthropic: #d4a574;
  --ff-provider-google: #4285f4;
  --ff-provider-openai: #10a37f;
  --ff-provider-minimax: #8a4baf;
  --ff-provider-mistral: #ff7000;
  --ff-provider-deepseek: #1e6091;
  --ff-provider-elevenlabs: #e94560;
  --ff-provider-promptchan: #b450af;
  --ff-provider-runpod: #6c757d;
  --ff-provider-unknown: #555a6e;
  --ff-status-refunded: #d37a2e;
  --ff-status-partial: #e0a240;
  --ff-status-partial-text: #2a1200;
  --ff-status-disputed: #b03030;
  --ff-usk-0: #88c057;
  --ff-usk-6: #b3c855;
  --ff-usk-12: #d4a574;
  --ff-usk-16: #e9a045;
  --ff-usk-18: #e94560;
  --ff-on-usk-light: #0d0d1a;
  --ff-on-usk-strong: #ffffff;

  --ff-border: rgba(168, 183, 190, 0.32);
  --ff-border-strong: rgba(168, 183, 190, 0.48);
  --ff-shadow: 0 4px 16px rgba(41, 38, 28, 0.08);
  --ff-glow-gold: rgba(168, 183, 190, 0.24);

  --ff-scrollbar-track: #c4cfaa;
  --ff-scrollbar-thumb: #a8b7be;

  --ff-purple: #76846d;
  --ff-purple-light: #8f9d82;
  --ff-purple-rgb: 118, 132, 109;
  --ff-user-bubble-rgb: 128, 138, 104;
  --ff-user-strong: rgba(92, 100, 74, 1);
  --ff-ai-memory-rgb: 112, 128, 110;
  --ff-thinking-rgb: 96, 104, 84;
  --ff-lore-rgb: 132, 112, 88;
  --ff-code-border-rgb: 128, 120, 104;

  --ff-white-rgb: 255, 255, 255;
  --ff-black-rgb: 0, 0, 0;

  --ff-success: #2e8b3e;
  --ff-success-rgb: 46, 139, 62;
  --ff-success-dark: #1e7a30;
  --ff-success-dark-rgb: 30, 122, 48;
}

/* ─── Rose — Puderrose & Mauve ─────────────────────────────────────────────── */
[data-theme="rose"] {
  --ff-bg-primary: #ead4d8;
  --ff-bg-secondary: #e1b8c9;
  --ff-bg-tertiary: #d9c2ca;
  --ff-bg-card: #e3cbd1;
  --ff-bg-primary-rgb: 234, 212, 216;
  --ff-bg-secondary-rgb: 225, 184, 201;
  --ff-bg-tertiary-rgb: 217, 194, 202;
  --ff-bg-card-rgb: 227, 203, 209;

  --ff-text-primary: #2d2228;
  --ff-text-primary-rgb: 45, 34, 40;
  --ff-text-light: #3a2c34;
  --ff-text-soft: #4a3842;
  --ff-text-secondary: #5e4a56;
  --ff-text-subdued: #725f6a;
  --ff-text-muted: #6d5865;
  --ff-text-muted-rgb: 109, 88, 101;
  --ff-text-dim: #a18f97;
  --ff-text-faint: #b8a9ae;
  --ff-text-quote: #5a3c4a;

  --ff-accent: #aa8ca4;
  --ff-accent-hover: #997e94;
  --ff-accent-dark: #8d7388;
  --ff-accent-darker: #80687b;
  --ff-accent-rgb: 170, 140, 164;

  --ff-gold: #a1bdc1;
  --ff-gold-light: #b7ccd0;
  --ff-gold-dark: #789fa5;
  --ff-gold-rgb: 161, 189, 193;

  --ff-on-accent: #ffffff;
  --ff-on-gold: #2d2228;
  --ff-btn-primary-text: var(--ff-on-accent);
  --ff-promo-cta-bg: var(--ff-gold);
  --ff-promo-cta-bg-hover: var(--ff-gold-dark);
  --ff-warning-rgb: 243, 156, 18;
  --ff-error-rgb: 231, 76, 60;
  --ff-info-rgb: 52, 152, 219;
  --ff-intimate: #e6a292;
  --ff-intimate-rgb: 230, 162, 146;
  --ff-tindra-info-rgb: 100, 180, 255;
  --ff-type-world: #d4a574;
  --ff-type-continent: #4a9e5c;
  --ff-type-country: #5b8a3c;
  --ff-type-npc: #4fc3f7;
  --ff-type-organization: #9c27b0;
  --ff-type-organization-rgb: 156, 39, 176;
  --ff-type-god: #ffd54f;
  --ff-type-item: #7f8c8d;
  --ff-type-race: #e67e22;
  --ff-type-class: #2ecc71;
  --ff-type-creature: #ef5350;
  --ff-type-quest: #ff9800;
  --ff-type-artifact: #66bb6a;
  --ff-type-event: #e94560;
  --ff-type-curse: #ab47bc;
  --ff-type-culture: #26c6da;
  --ff-provider-anthropic: #d4a574;
  --ff-provider-google: #4285f4;
  --ff-provider-openai: #10a37f;
  --ff-provider-minimax: #8a4baf;
  --ff-provider-mistral: #ff7000;
  --ff-provider-deepseek: #1e6091;
  --ff-provider-elevenlabs: #e94560;
  --ff-provider-promptchan: #b450af;
  --ff-provider-runpod: #6c757d;
  --ff-provider-unknown: #555a6e;
  --ff-status-refunded: #d37a2e;
  --ff-status-partial: #e0a240;
  --ff-status-partial-text: #2a1200;
  --ff-status-disputed: #b03030;
  --ff-usk-0: #88c057;
  --ff-usk-6: #b3c855;
  --ff-usk-12: #d4a574;
  --ff-usk-16: #e9a045;
  --ff-usk-18: #e94560;
  --ff-on-usk-light: #0d0d1a;
  --ff-on-usk-strong: #ffffff;

  --ff-border: rgba(161, 189, 193, 0.32);
  --ff-border-strong: rgba(161, 189, 193, 0.5);
  --ff-shadow: 0 4px 16px rgba(45, 34, 40, 0.08);
  --ff-glow-gold: rgba(161, 189, 193, 0.24);

  --ff-scrollbar-track: #d9c2ca;
  --ff-scrollbar-thumb: #a1bdc1;

  --ff-purple: #8b6f86;
  --ff-purple-light: #9e829a;
  --ff-purple-rgb: 139, 111, 134;
  --ff-user-bubble-rgb: 170, 140, 164;
  --ff-user-strong: rgba(128, 94, 120, 1);
  --ff-ai-memory-rgb: 150, 110, 142;
  --ff-thinking-rgb: 128, 88, 120;
  --ff-lore-rgb: 160, 118, 130;
  --ff-code-border-rgb: 126, 104, 116;

  --ff-white-rgb: 255, 255, 255;
  --ff-black-rgb: 0, 0, 0;

  --ff-success: #2e8b3e;
  --ff-success-rgb: 46, 139, 62;
  --ff-success-dark: #1e7a30;
  --ff-success-dark-rgb: 30, 122, 48;
}

/* ─── Coral — Creme, Nebel & Pflaume ───────────────────────────────────────── */
[data-theme="coral"] {
  --ff-bg-primary: #feeee5;
  --ff-bg-secondary: #c7d0cf;
  --ff-bg-tertiary: #eadbd3;
  --ff-bg-card: #f4e4dc;
  --ff-bg-primary-rgb: 254, 238, 229;
  --ff-bg-secondary-rgb: 199, 208, 207;
  --ff-bg-tertiary-rgb: 234, 219, 211;
  --ff-bg-card-rgb: 244, 228, 220;

  --ff-text-primary: #2c2424;
  --ff-text-primary-rgb: 44, 36, 36;
  --ff-text-light: #3a3032;
  --ff-text-soft: #493b3f;
  --ff-text-secondary: #5a4a50;
  --ff-text-subdued: #6f5f66;
  --ff-text-muted: #6b5861;
  --ff-text-muted-rgb: 107, 88, 97;
  --ff-text-dim: #a09398;
  --ff-text-faint: #b8adb0;
  --ff-text-quote: #5a3a46;

  --ff-accent: #785e6f;
  --ff-accent-hover: #6a5262;
  --ff-accent-dark: #5e4957;
  --ff-accent-darker: #523f4c;
  --ff-accent-rgb: 120, 94, 111;

  --ff-gold: #e8bab5;
  --ff-gold-light: #f0cbc7;
  --ff-gold-dark: #c8958f;
  --ff-gold-rgb: 232, 186, 181;

  --ff-on-accent: #ffffff;
  --ff-on-gold: #2c2424;
  --ff-btn-primary-text: var(--ff-on-accent);
  --ff-promo-cta-bg: var(--ff-gold);
  --ff-promo-cta-bg-hover: var(--ff-gold-dark);
  --ff-warning-rgb: 243, 156, 18;
  --ff-error-rgb: 231, 76, 60;
  --ff-info-rgb: 52, 152, 219;
  --ff-intimate: #e6a292;
  --ff-intimate-rgb: 230, 162, 146;
  --ff-tindra-info-rgb: 100, 180, 255;
  --ff-type-world: #d4a574;
  --ff-type-continent: #4a9e5c;
  --ff-type-country: #5b8a3c;
  --ff-type-npc: #4fc3f7;
  --ff-type-organization: #9c27b0;
  --ff-type-organization-rgb: 156, 39, 176;
  --ff-type-god: #ffd54f;
  --ff-type-item: #7f8c8d;
  --ff-type-race: #e67e22;
  --ff-type-class: #2ecc71;
  --ff-type-creature: #ef5350;
  --ff-type-quest: #ff9800;
  --ff-type-artifact: #66bb6a;
  --ff-type-event: #e94560;
  --ff-type-curse: #ab47bc;
  --ff-type-culture: #26c6da;
  --ff-provider-anthropic: #d4a574;
  --ff-provider-google: #4285f4;
  --ff-provider-openai: #10a37f;
  --ff-provider-minimax: #8a4baf;
  --ff-provider-mistral: #ff7000;
  --ff-provider-deepseek: #1e6091;
  --ff-provider-elevenlabs: #e94560;
  --ff-provider-promptchan: #b450af;
  --ff-provider-runpod: #6c757d;
  --ff-provider-unknown: #555a6e;
  --ff-status-refunded: #d37a2e;
  --ff-status-partial: #e0a240;
  --ff-status-partial-text: #2a1200;
  --ff-status-disputed: #b03030;
  --ff-usk-0: #88c057;
  --ff-usk-6: #b3c855;
  --ff-usk-12: #d4a574;
  --ff-usk-16: #e9a045;
  --ff-usk-18: #e94560;
  --ff-on-usk-light: #0d0d1a;
  --ff-on-usk-strong: #ffffff;

  --ff-border: rgba(232, 186, 181, 0.36);
  --ff-border-strong: rgba(232, 186, 181, 0.55);
  --ff-shadow: 0 4px 16px rgba(44, 36, 36, 0.08);
  --ff-glow-gold: rgba(232, 186, 181, 0.28);

  --ff-scrollbar-track: #eadbd3;
  --ff-scrollbar-thumb: #e8bab5;

  --ff-purple: #806678;
  --ff-purple-light: #9a7d8f;
  --ff-purple-rgb: 128, 102, 120;
  --ff-user-bubble-rgb: 120, 94, 111;
  --ff-user-strong: rgba(91, 67, 82, 1);
  --ff-ai-memory-rgb: 128, 98, 118;
  --ff-thinking-rgb: 112, 82, 102;
  --ff-lore-rgb: 158, 112, 104;
  --ff-code-border-rgb: 125, 104, 108;

  --ff-white-rgb: 255, 255, 255;
  --ff-black-rgb: 0, 0, 0;

  --ff-success: #2e8b3e;
  --ff-success-rgb: 46, 139, 62;
  --ff-success-dark: #1e7a30;
  --ff-success-dark-rgb: 30, 122, 48;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   SCHRIFTARTEN — v1.1.0.060: keine Schriftart-Auswahl mehr.
   Die App nutzt nur noch das Default-Schrift-Set (Segoe UI / Georgia + Noto-
   Fallbacks für nicht-lateinische Sprachen). Alte data-font="..."-Selektoren
   wurden entfernt; bestehende ff_font-Cookies werden ignoriert.
   ═══════════════════════════════════════════════════════════════════════════════ */
