/* Generated by scripts/themes/build_themes.py — do not edit. */

:root[data-skin] body {
  background-image: var(--bg-image);
  background-attachment: fixed;
}

/* Theme dropdown (hub header, video library). */
.theme-picker {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 20;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 4px 4px 10px;
  border: 1px solid var(--glass-border, var(--line));
  border-radius: 999px;
  background: var(--glass-bg, var(--paper));
  backdrop-filter: blur(8px);
}
.theme-picker select {
  font: inherit;
  font-size: 0.9rem;
  color: var(--text-main, var(--ink));
  background: transparent;
  border: 0;
  padding: 4px 6px;
  border-radius: 999px;
  cursor: pointer;
}
.theme-picker select:focus-visible {
  outline: 2px solid var(--primary-neon, var(--accent));
}
@media (max-width: 600px) {
  .theme-picker {
    position: static;
    margin: 0 auto 10px;
  }
}
.theme-picker option {
  color: #1d2733;
  background: #ffffff;
}

/* Video library page: map its own tokens onto the theme. */
html:root[data-skin] {
  --bg: var(--bg-color);
  --paper: color-mix(in srgb, var(--surface-color) 100%, var(--bg-color));
  --ink: var(--text-main);
  --muted: var(--text-muted);
  --line: var(--border-color);
  --accent: var(--primary-neon);
  --de: var(--secondary-neon);
  --de-bg: color-mix(in srgb, var(--secondary-neon) 14%, var(--bg-color));
  --fr: var(--primary-neon);
  --fr-bg: color-mix(in srgb, var(--primary-neon) 14%, var(--bg-color));
  --good: var(--success-neon);
  --good-bg: color-mix(in srgb, var(--success-neon) 14%, var(--bg-color));
  --mid: var(--warning-neon);
  --mid-bg: color-mix(in srgb, var(--warning-neon) 14%, var(--bg-color));
  --bad: var(--secondary-neon);
  --bad-bg: color-mix(in srgb, var(--secondary-neon) 14%, var(--bg-color));
  --display: var(--font-display);
  --body: var(--font-body);
}

/* Pastel — Une boîte de macarons : crème, rose poudré, menthe et lavande, tout en rondeur et en douceur. */
:root[data-skin="pastel"] {
  --bg-color: #fdf4ee;
  --bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cg fill-opacity='.5'%3E%3Ccircle cx='10' cy='12' r='3' fill='%23f7b6cf'/%3E%3Ccircle cx='46' cy='22' r='2.5' fill='%23a8e3cb'/%3E%3Ccircle cx='28' cy='50' r='3' fill='%23cdbdf3'/%3E%3Ccircle cx='62' cy='58' r='2' fill='%23ffd2a8'/%3E%3Crect x='54' y='4' width='8' height='3' rx='1.5' fill='%23cdbdf3' transform='rotate(30 58 5)'/%3E%3Crect x='6' y='40' width='8' height='3' rx='1.5' fill='%23a8e3cb' transform='rotate(-25 10 41)'/%3E%3C/g%3E%3C/svg%3E"), radial-gradient(60% 50% at 0% 0%, rgba(249,201,220,.45), transparent 70%), radial-gradient(55% 45% at 100% 100%, rgba(191,232,214,.45), transparent 70%);
  --surface-color: rgba(255,255,255,.88);
  --border-color: #f2d3e2;
  --glass-bg: rgba(247,240,255,.75);
  --glass-border: #e3d6f7;
  --glass-shadow: 0 10px 30px -8px rgba(194,120,170,.28), 0 2px 6px rgba(160,120,190,.12);
  --text-main: #3b2c4d;
  --text-muted: #6c5a80;
  --primary-neon: #c0306f;
  --secondary-neon: #cc2a36;
  --tertiary-neon: #7646cc;
  --success-neon: #1b7f55;
  --warning-neon: #a95a00;
  --gold: #9a7000;
  --on-accent: #ffffff;
  --overlay: #5a3a6e;
  --glow: 0.15;
  --subj-geschichte: #c2363a;
  --subj-deutsch: #2f62cf;
  --subj-physik: #ad5600;
  --subj-chemie: #0d7f72;
  --subj-latein: #8247c9;
  --subj-english7: #3b7d1c;
  --subj-math: #8a6a00;
  --subj-musik: #b8259f;
  --subj-brevet: #0e6f8f;
  --subj-francais: #b4471f;
  --subj-gk: #455a64;
  --subj-biologie: #2e7d32;
  --subj-ethik: #b45309;
  --font-display: 'Fredoka', 'Nunito', system-ui, sans-serif;
  --font-body: 'Nunito', system-ui, sans-serif;
  --radius-k: 1.5px;
  --fig-bg: color-mix(in srgb, var(--text-main) 88%, #000);
  color-scheme: light;
}

/* Cahier — Un cahier d’écolier : papier ligné, encre bleue et corrections au stylo rouge. */
:root[data-skin="papier"] {
  --bg-color: #fbf8f0;
  --bg-image: linear-gradient(to right, transparent 0 56px, rgba(214,58,70,.32) 56px 57px, transparent 57px 60px, rgba(214,58,70,.32) 60px 61px, transparent 61px), repeating-linear-gradient(to bottom, transparent 0 31px, rgba(80,120,200,.20) 31px 32px);
  --surface-color: #fffefa;
  --border-color: #d8d2c2;
  --glass-bg: rgba(243,239,226,.85);
  --glass-border: #cfc8b4;
  --glass-shadow: 2px 3px 0 rgba(31,42,68,.10), 0 8px 18px -6px rgba(31,42,68,.12);
  --text-main: #1c2741;
  --text-muted: #525d75;
  --primary-neon: #1d4fb8;
  --secondary-neon: #c8102e;
  --tertiary-neon: #6a3ca0;
  --success-neon: #1d7537;
  --warning-neon: #a35400;
  --gold: #946d00;
  --on-accent: #ffffff;
  --overlay: #1c2741;
  --glow: 0;
  --subj-geschichte: #b3261e;
  --subj-deutsch: #1d4fb8;
  --subj-physik: #a65400;
  --subj-chemie: #0b7466;
  --subj-latein: #6a3ca0;
  --subj-english7: #3a7316;
  --subj-math: #806300;
  --subj-musik: #a3237f;
  --subj-brevet: #0d5f7a;
  --subj-francais: #a3401c;
  --subj-gk: #455a64;
  --subj-biologie: #2e7d32;
  --subj-ethik: #b45309;
  --font-display: 'Kalam', 'Patrick Hand', cursive;
  --font-body: 'Source Sans 3', 'Segoe UI', system-ui, sans-serif;
  --radius-k: 0.25px;
  --fig-bg: color-mix(in srgb, var(--text-main) 88%, #000);
  color-scheme: light;
}

/* Matcha — Un jardin japonais au calme : thé matcha, papier beige, vagues seigaiha et une touche de sakura. */
:root[data-skin="matcha"] {
  --bg-color: #f3efe2;
  --bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24'%3E%3Cg fill='none' stroke='%236f8f4e' stroke-opacity='.16'%3E%3Cpath d='M0 24a24 24 0 0 1 48 0M8 24a16 16 0 0 1 32 0M16 24a8 8 0 0 1 16 0M-24 12a24 24 0 0 1 48 0M-16 12a16 16 0 0 1 32 0M-8 12a8 8 0 0 1 16 0M24 12a24 24 0 0 1 48 0M32 12a16 16 0 0 1 32 0M40 12a8 8 0 0 1 16 0'/%3E%3C/g%3E%3C/svg%3E"), radial-gradient(40% 35% at 92% 6%, rgba(232,169,189,.30), transparent 70%);
  --surface-color: rgba(252,250,243,.93);
  --border-color: #d3d9c0;
  --glass-bg: rgba(230,237,216,.72);
  --glass-border: #c4cfac;
  --glass-shadow: 0 6px 22px -6px rgba(63,90,40,.20), 0 1px 3px rgba(63,90,40,.10);
  --text-main: #24301c;
  --text-muted: #535d47;
  --primary-neon: #3f6e22;
  --secondary-neon: #b3283a;
  --tertiary-neon: #a03a72;
  --success-neon: #22784a;
  --warning-neon: #9e5a08;
  --gold: #8a6810;
  --on-accent: #ffffff;
  --overlay: #2f3d22;
  --glow: 0.1;
  --subj-geschichte: #a63c2c;
  --subj-deutsch: #355b9a;
  --subj-physik: #9e5f08;
  --subj-chemie: #1d7a68;
  --subj-latein: #764697;
  --subj-english7: #4a7618;
  --subj-math: #806800;
  --subj-musik: #a8376f;
  --subj-brevet: #22677f;
  --subj-francais: #a04a2a;
  --subj-gk: #455a64;
  --subj-biologie: #2e7d32;
  --subj-ethik: #b45309;
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Zen Maru Gothic', system-ui, sans-serif;
  --radius-k: 0.875px;
  --fig-bg: color-mix(in srgb, var(--text-main) 88%, #000);
  color-scheme: light;
}

/* Méditerranée — Une terrasse au bord de la mer : murs blanchis, azur, sable chaud et carreaux de terre cuite. */
:root[data-skin="mer"] {
  --bg-color: #f6f8fa;
  --bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='none' stroke='%232a7cc7' stroke-opacity='.13'%3E%3Cpath d='M28 4 52 28 28 52 4 28Z'/%3E%3Ccircle cx='28' cy='28' r='9'/%3E%3Cpath d='M0 0h56v56H0z'/%3E%3C/g%3E%3Cg fill='%23c46a3c' fill-opacity='.12'%3E%3Ccircle cx='0' cy='0' r='5'/%3E%3Ccircle cx='56' cy='0' r='5'/%3E%3Ccircle cx='0' cy='56' r='5'/%3E%3Ccircle cx='56' cy='56' r='5'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(to bottom, rgba(214,234,250,.6), transparent 35%, transparent 75%, rgba(236,220,190,.55));
  --surface-color: rgba(255,255,255,.92);
  --border-color: #cfe0ec;
  --glass-bg: rgba(233,242,250,.82);
  --glass-border: #bcd5e8;
  --glass-shadow: 0 12px 32px -10px rgba(16,70,120,.22), 0 2px 6px rgba(16,70,120,.08);
  --text-main: #12304a;
  --text-muted: #465f74;
  --primary-neon: #0a62b3;
  --secondary-neon: #c41e3f;
  --tertiary-neon: #a64a26;
  --success-neon: #25763c;
  --warning-neon: #a05e05;
  --gold: #8f6b06;
  --on-accent: #ffffff;
  --overlay: #12304a;
  --glow: 0.2;
  --subj-geschichte: #b2402a;
  --subj-deutsch: #1c5cbc;
  --subj-physik: #a25d08;
  --subj-chemie: #0a7a82;
  --subj-latein: #6c46ae;
  --subj-english7: #467a16;
  --subj-math: #836900;
  --subj-musik: #ac3584;
  --subj-brevet: #0e6e93;
  --subj-francais: #b0451f;
  --subj-gk: #455a64;
  --subj-biologie: #2e7d32;
  --subj-ethik: #b45309;
  --font-display: 'Outfit', system-ui, sans-serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --radius-k: 0.75px;
  --fig-bg: color-mix(in srgb, var(--text-main) 88%, #000);
  color-scheme: light;
}

/* Seventies — Un coucher de soleil rétro des années 70 : moutarde, orange brûlé, chocolat et arcs groovy. */
:root[data-skin="seventies"] {
  --bg-color: #f6eacf;
  --bg-image: radial-gradient(ellipse 120% 55% at 50% 118%, rgba(200,84,26,.20) 0 34%, rgba(226,162,37,.20) 34% 44%, rgba(176,90,40,.13) 44% 54%, rgba(226,162,37,.10) 54% 62%, transparent 62%), repeating-linear-gradient(135deg, rgba(200,120,40,.05) 0 14px, transparent 14px 28px);
  --surface-color: rgba(255,248,233,.92);
  --border-color: #e0c08c;
  --glass-bg: rgba(240,218,170,.55);
  --glass-border: #d6b072;
  --glass-shadow: 5px 5px 0 rgba(120,58,20,.20);
  --text-main: #3a2312;
  --text-muted: #6a4528;
  --primary-neon: #b1430c;
  --secondary-neon: #ab1d29;
  --tertiary-neon: #76386b;
  --success-neon: #4a7016;
  --warning-neon: #955f00;
  --gold: #8a6400;
  --on-accent: #fff8ea;
  --overlay: #5a3420;
  --glow: 0;
  --subj-geschichte: #a82c1d;
  --subj-deutsch: #2c5689;
  --subj-physik: #a85200;
  --subj-chemie: #1b7262;
  --subj-latein: #763b86;
  --subj-english7: #53720f;
  --subj-math: #836200;
  --subj-musik: #a12d64;
  --subj-brevet: #1d6a87;
  --subj-francais: #a8401a;
  --subj-gk: #455a64;
  --subj-biologie: #2e7d32;
  --subj-ethik: #b45309;
  --font-display: 'Righteous', 'Shrikhand', system-ui, sans-serif;
  --font-body: 'Karla', system-ui, sans-serif;
  --radius-k: 1.25px;
  --fig-bg: color-mix(in srgb, var(--text-main) 88%, #000);
  color-scheme: light;
}

/* Aurore — Une nuit polaire silencieuse où des voiles d'aurore turquoise et violets ondulent derrière les cartes. */
:root[data-skin="aurore"] {
  --bg-color: #070b1a;
  --bg-image: radial-gradient(120% 60% at 15% -10%, rgba(45,212,191,.20), transparent 60%), radial-gradient(90% 50% at 85% 0%, rgba(167,139,250,.18), transparent 65%), radial-gradient(70% 40% at 50% 15%, rgba(74,222,128,.10), transparent 70%), linear-gradient(180deg, rgba(7,11,26,0) 40%, #050816 100%);
  --surface-color: rgba(15,24,48,.72);
  --border-color: rgba(94,234,212,.18);
  --glass-bg: rgba(20,32,62,.55);
  --glass-border: rgba(182,156,255,.22);
  --glass-shadow: 0 10px 40px -8px rgba(2,6,23,.7), 0 0 0 1px rgba(94,234,212,.04);
  --text-main: #e6f1ff;
  --text-muted: #9fb3cc;
  --primary-neon: #5eead4;
  --secondary-neon: #ff7a90;
  --tertiary-neon: #b69cff;
  --success-neon: #6ee7a0;
  --warning-neon: #ffc76b;
  --gold: #f5d27a;
  --on-accent: #04201c;
  --overlay: #ffffff;
  --glow: 0.8;
  --subj-geschichte: #ff8f8f;
  --subj-deutsch: #8ab4ff;
  --subj-physik: #ffb35c;
  --subj-chemie: #4fe3c1;
  --subj-latein: #c9a7ff;
  --subj-english7: #a3e86b;
  --subj-math: #f3e27a;
  --subj-musik: #ff8ad8;
  --subj-brevet: #7ad7ff;
  --subj-francais: #ffab91;
  --subj-gk: #b0bec5;
  --subj-biologie: #81c784;
  --subj-ethik: #ffb74d;
  --font-display: 'Space Grotesk', 'Sora', system-ui, sans-serif;
  --font-body: 'Sora', system-ui, sans-serif;
  --radius-k: 1.125px;
  color-scheme: dark;
}

/* Synthwave — Un coucher de soleil rétro des années 80 : grille infinie, magenta brûlant et chrome électrique. */
:root[data-skin="synthwave"] {
  --bg-color: #14041f;
  --bg-image: radial-gradient(60% 35% at 50% 100%, rgba(255,60,172,.22), transparent 70%), repeating-linear-gradient(0deg, rgba(255,60,172,.07) 0 1px, transparent 1px 44px), repeating-linear-gradient(90deg, rgba(41,197,255,.05) 0 1px, transparent 1px 64px), linear-gradient(180deg, rgba(20,4,31,0) 0%, rgba(58,10,72,.55) 100%);
  --surface-color: rgba(38,10,60,.80);
  --border-color: rgba(255,60,172,.35);
  --glass-bg: rgba(48,14,78,.60);
  --glass-border: rgba(41,197,255,.30);
  --glass-shadow: 0 8px 32px rgba(10,0,20,.65), 0 0 18px -4px rgba(255,60,172,.35);
  --text-main: #fdeeff;
  --text-muted: #c9a8dd;
  --primary-neon: #ff3cac;
  --secondary-neon: #ff5e3a;
  --tertiary-neon: #29c5ff;
  --success-neon: #3dffb0;
  --warning-neon: #ffb347;
  --gold: #ffd23f;
  --on-accent: #1a0026;
  --overlay: #ffffff;
  --glow: 1.3;
  --subj-geschichte: #ff6b6b;
  --subj-deutsch: #4cc9ff;
  --subj-physik: #ff9f1c;
  --subj-chemie: #2de2c4;
  --subj-latein: #b388ff;
  --subj-english7: #9dff4a;
  --subj-math: #ffe14d;
  --subj-musik: #ff5fe0;
  --subj-brevet: #8f9bff;
  --subj-francais: #ff9e80;
  --subj-gk: #b0bec5;
  --subj-biologie: #81c784;
  --subj-ethik: #ffb74d;
  --font-display: 'Audiowide', 'Exo 2', sans-serif;
  --font-body: 'Exo 2', system-ui, sans-serif;
  --radius-k: 0.5px;
  color-scheme: dark;
}

/* Cosmos — Un voyage joyeux dans une galaxie étoilée, entre nébuleuses roses et planètes indigo. */
:root[data-skin="cosmos"] {
  --bg-color: #0b0821;
  --bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='14' cy='22' r='1' opacity='.7'/%3E%3Ccircle cx='96' cy='12' r='.6' opacity='.5'/%3E%3Ccircle cx='150' cy='48' r='1.2' opacity='.8'/%3E%3Ccircle cx='42' cy='88' r='.7' opacity='.45'/%3E%3Ccircle cx='120' cy='104' r='.9' opacity='.6'/%3E%3Ccircle cx='70' cy='150' r='1.1' opacity='.75'/%3E%3Ccircle cx='166' cy='158' r='.6' opacity='.4'/%3E%3Ccircle cx='8' cy='130' r='.5' opacity='.5'/%3E%3C/g%3E%3C/svg%3E"), radial-gradient(50% 40% at 85% 10%, rgba(255,105,200,.16), transparent 70%), radial-gradient(60% 50% at 10% 80%, rgba(99,102,241,.18), transparent 70%);
  --surface-color: rgba(30,22,70,.74);
  --border-color: rgba(140,155,255,.22);
  --glass-bg: rgba(40,30,90,.55);
  --glass-border: rgba(255,138,216,.25);
  --glass-shadow: 0 12px 40px -6px rgba(5,2,20,.75), 0 0 24px -10px rgba(140,155,255,.45);
  --text-main: #f3eeff;
  --text-muted: #b7abe2;
  --primary-neon: #ff8ad8;
  --secondary-neon: #ff6b81;
  --tertiary-neon: #8c9bff;
  --success-neon: #5ef0a8;
  --warning-neon: #ffc857;
  --gold: #ffe066;
  --on-accent: #2a0630;
  --overlay: #ffffff;
  --glow: 1;
  --subj-geschichte: #ff7a7a;
  --subj-deutsch: #7fa8ff;
  --subj-physik: #ffb347;
  --subj-chemie: #4ff0d0;
  --subj-latein: #c49bff;
  --subj-english7: #8cf05a;
  --subj-math: #ffe45c;
  --subj-musik: #ff7ae0;
  --subj-brevet: #5fd0ff;
  --subj-francais: #ffa58a;
  --subj-gk: #b0bec5;
  --subj-biologie: #81c784;
  --subj-ethik: #ffb74d;
  --font-display: 'Baloo 2', 'Lexend', system-ui, sans-serif;
  --font-body: 'Lexend', system-ui, sans-serif;
  --radius-k: 1.5px;
  color-scheme: dark;
}

/* Bibliothèque — Une vieille bibliothèque à la lueur d'une lampe en laiton : cuir, parchemin et reliures bordeaux. */
:root[data-skin="bibliotheque"] {
  --bg-color: #1e1510;
  --bg-image: radial-gradient(80% 50% at 50% -5%, rgba(212,169,90,.14), transparent 65%), radial-gradient(60% 60% at 100% 100%, rgba(120,30,45,.18), transparent 70%), repeating-linear-gradient(97deg, rgba(255,240,210,.018) 0 2px, transparent 2px 5px), repeating-linear-gradient(3deg, rgba(0,0,0,.07) 0 1px, transparent 1px 4px);
  --surface-color: rgba(44,30,22,.94);
  --border-color: #5c402c;
  --glass-bg: rgba(58,40,28,.70);
  --glass-border: rgba(212,169,90,.30);
  --glass-shadow: 0 2px 0 rgba(255,235,200,.04) inset, 0 10px 28px rgba(8,4,2,.6);
  --text-main: #efe3c8;
  --text-muted: #bfa98a;
  --primary-neon: #d4a95a;
  --secondary-neon: #e8706a;
  --tertiary-neon: #d48a9b;
  --success-neon: #95c47e;
  --warning-neon: #e2a046;
  --gold: #e6c065;
  --on-accent: #1e1510;
  --overlay: #fff4dc;
  --glow: 0.1;
  --subj-geschichte: #e3806f;
  --subj-deutsch: #93b4dc;
  --subj-physik: #dba64e;
  --subj-chemie: #7fc2a6;
  --subj-latein: #c69ed2;
  --subj-english7: #adc76d;
  --subj-math: #e8d283;
  --subj-musik: #dc8fb8;
  --subj-brevet: #8ccde0;
  --subj-francais: #e8a58e;
  --subj-gk: #b0bec5;
  --subj-biologie: #81c784;
  --subj-ethik: #ffb74d;
  --font-display: 'Cormorant Garamond', 'EB Garamond', Georgia, serif;
  --font-body: 'EB Garamond', Georgia, serif;
  --radius-k: 0.375px;
  color-scheme: dark;
}

/* Terminal — Un vieux moniteur à phosphore vert qui grésille : lignes de balayage, curseur clignotant et lueur ambre. */
:root[data-skin="terminal"] {
  --bg-color: #050805;
  --bg-image: repeating-linear-gradient(0deg, rgba(51,255,102,.035) 0 1px, transparent 1px 3px), radial-gradient(ellipse at center, rgba(51,255,102,.06) 0%, transparent 60%, rgba(0,0,0,.55) 100%);
  --surface-color: #0b140c;
  --border-color: #1f5a2b;
  --glass-bg: rgba(14,32,18,.85);
  --glass-border: #2b7a3b;
  --glass-shadow: 0 0 0 1px rgba(51,255,102,.08), 0 6px 0 rgba(0,0,0,.6);
  --text-main: #c6ffd2;
  --text-muted: #72c486;
  --primary-neon: #33ff66;
  --secondary-neon: #ff5c4d;
  --tertiary-neon: #ffb000;
  --success-neon: #b0ff4d;
  --warning-neon: #ff9a3c;
  --gold: #ffd84d;
  --on-accent: #001a07;
  --overlay: #ffffff;
  --glow: 0.7;
  --subj-geschichte: #ff6b5c;
  --subj-deutsch: #6cb6ff;
  --subj-physik: #ffb000;
  --subj-chemie: #33ffcc;
  --subj-latein: #c79bff;
  --subj-english7: #9cff3a;
  --subj-math: #fff04d;
  --subj-musik: #ff6bd6;
  --subj-brevet: #4de1ff;
  --subj-francais: #ff9f7a;
  --subj-gk: #b0bec5;
  --subj-biologie: #81c784;
  --subj-ethik: #ffb74d;
  --font-display: 'VT323', 'IBM Plex Mono', monospace;
  --font-body: 'IBM Plex Mono', ui-monospace, monospace;
  --radius-k: 0.125px;
  color-scheme: dark;
}

/* Holo — Un hologramme irisé : reflets nacrés cyan, rose et lilas qui glissent sur une nuit d'encre. */
:root[data-skin="holo"] {
  --bg-color: #0a0c14;
  --bg-image: radial-gradient(70% 45% at 10% 0%, rgba(124,243,255,.16), transparent 70%), radial-gradient(60% 40% at 95% 20%, rgba(255,122,217,.14), transparent 70%), radial-gradient(70% 50% at 50% 110%, rgba(182,155,255,.18), transparent 70%), repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 2px, transparent 2px 18px);
  --surface-color: rgba(22,26,44,.78);
  --border-color: rgba(124,243,255,.28);
  --glass-bg: rgba(26,30,52,.62);
  --glass-border: rgba(255,122,217,.28);
  --glass-shadow: 0 8px 32px rgba(0,0,0,.55), 0 0 22px -6px rgba(124,243,255,.35);
  --text-main: #f2f4ff;
  --text-muted: #a9b0d6;
  --primary-neon: #7cf3ff;
  --secondary-neon: #ff7ad9;
  --tertiary-neon: #b69bff;
  --success-neon: #6dffb3;
  --warning-neon: #ffd36e;
  --gold: #ffe08a;
  --on-accent: #0a0c14;
  --overlay: #ffffff;
  --glow: 1.2;
  --subj-geschichte: #ff7b7b;
  --subj-deutsch: #7cc4ff;
  --subj-physik: #ffb547;
  --subj-chemie: #3fe0c0;
  --subj-latein: #c3a3ff;
  --subj-english7: #a6f05a;
  --subj-math: #ffe45c;
  --subj-musik: #ff7be6;
  --subj-brevet: #8fa8ff;
  --subj-francais: #ffa184;
  --subj-gk: #b0bec5;
  --subj-biologie: #81c784;
  --subj-ethik: #ffb74d;
  --font-display: 'Unbounded', 'Manrope', sans-serif;
  --font-body: 'Manrope', system-ui, sans-serif;
  --radius-k: 1.125px;
  color-scheme: dark;
}

/* Manga — Une planche de manga : papier blanc, encre noire, trames de points et un rouge qui claque. */
:root[data-skin="manga"] {
  --bg-color: #fbfaf6;
  --bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='3' cy='3' r='1.1' fill='%23141414' fill-opacity='.09'/%3E%3C/svg%3E"), linear-gradient(160deg, rgba(200,16,46,.05), transparent 40%);
  --surface-color: rgba(255,255,255,.94);
  --border-color: #141414;
  --glass-bg: rgba(255,255,255,.88);
  --glass-border: #2b2b2b;
  --glass-shadow: 4px 4px 0 rgba(20,20,20,.85);
  --text-main: #141414;
  --text-muted: #4a4a4a;
  --primary-neon: #c8102e;
  --secondary-neon: #9b0d24;
  --tertiary-neon: #1f3fbf;
  --success-neon: #1b7a3a;
  --warning-neon: #9a5b00;
  --gold: #8a6a00;
  --on-accent: #ffffff;
  --overlay: #141414;
  --glow: 0.1;
  --subj-geschichte: #b3262b;
  --subj-deutsch: #1f4fb8;
  --subj-physik: #9a4a00;
  --subj-chemie: #0b6f63;
  --subj-latein: #6d34b3;
  --subj-english7: #2f6b14;
  --subj-math: #7a5c00;
  --subj-musik: #a01f8a;
  --subj-brevet: #0d5f7a;
  --subj-francais: #a33d17;
  --subj-gk: #455a64;
  --subj-biologie: #2e7d32;
  --subj-ethik: #b45309;
  --font-display: 'Bangers', 'Zen Kaku Gothic New', sans-serif;
  --font-body: 'Zen Kaku Gothic New', system-ui, sans-serif;
  --radius-k: 0.25px;
  --fig-bg: color-mix(in srgb, var(--text-main) 88%, #000);
  color-scheme: light;
}

/* Volcan — Une coulée de lave dans la nuit : obsidienne, braises orange et lueurs de feu. */
:root[data-skin="volcan"] {
  --bg-color: #120a08;
  --bg-image: radial-gradient(80% 40% at 50% 115%, rgba(255,106,43,.30), transparent 70%), radial-gradient(40% 30% at 15% 100%, rgba(255,59,59,.18), transparent 70%), radial-gradient(35% 25% at 85% 95%, rgba(255,176,46,.16), transparent 70%), repeating-linear-gradient(170deg, rgba(255,255,255,.02) 0 1px, transparent 1px 26px);
  --surface-color: rgba(36,18,12,.82);
  --border-color: rgba(255,106,43,.35);
  --glass-bg: rgba(42,20,12,.62);
  --glass-border: rgba(255,176,46,.28);
  --glass-shadow: 0 8px 32px rgba(0,0,0,.6), 0 0 20px -6px rgba(255,106,43,.45);
  --text-main: #fff1e8;
  --text-muted: #d1b3a3;
  --primary-neon: #ff6a2b;
  --secondary-neon: #ff3b3b;
  --tertiary-neon: #ffb02e;
  --success-neon: #7bdc65;
  --warning-neon: #ffc145;
  --gold: #ffcf4a;
  --on-accent: #1a0b06;
  --overlay: #ffffff;
  --glow: 1.1;
  --subj-geschichte: #ff7b7b;
  --subj-deutsch: #7cc4ff;
  --subj-physik: #ffb547;
  --subj-chemie: #3fe0c0;
  --subj-latein: #c3a3ff;
  --subj-english7: #a6f05a;
  --subj-math: #ffe45c;
  --subj-musik: #ff7be6;
  --subj-brevet: #8fa8ff;
  --subj-francais: #ffa184;
  --subj-gk: #b0bec5;
  --subj-biologie: #81c784;
  --subj-ethik: #ffb74d;
  --font-display: 'Oxanium', 'Inter', sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --radius-k: 0.625px;
  color-scheme: dark;
}

/* Prestige — Un salon Art déco : onyx, filets d'or et lumière tamisée, réservé aux légendes. */
:root[data-skin="prestige"] {
  --bg-color: #0c0b09;
  --bg-image: radial-gradient(60% 40% at 50% -5%, rgba(227,179,65,.18), transparent 70%), repeating-linear-gradient(45deg, rgba(227,179,65,.045) 0 1px, transparent 1px 24px), repeating-linear-gradient(-45deg, rgba(227,179,65,.045) 0 1px, transparent 1px 24px);
  --surface-color: rgba(24,21,15,.85);
  --border-color: rgba(227,179,65,.38);
  --glass-bg: rgba(28,24,16,.66);
  --glass-border: rgba(227,179,65,.32);
  --glass-shadow: 0 10px 34px rgba(0,0,0,.65), 0 0 16px -6px rgba(227,179,65,.35);
  --text-main: #f5ecd7;
  --text-muted: #c2b48f;
  --primary-neon: #e3b341;
  --secondary-neon: #e0605a;
  --tertiary-neon: #b7a4ff;
  --success-neon: #7fd68a;
  --warning-neon: #f0b54a;
  --gold: #ffd76a;
  --on-accent: #1a1406;
  --overlay: #ffffff;
  --glow: 0.8;
  --subj-geschichte: #ff7b7b;
  --subj-deutsch: #7cc4ff;
  --subj-physik: #ffb547;
  --subj-chemie: #3fe0c0;
  --subj-latein: #c3a3ff;
  --subj-english7: #a6f05a;
  --subj-math: #ffe45c;
  --subj-musik: #ff7be6;
  --subj-brevet: #8fa8ff;
  --subj-francais: #ffa184;
  --subj-gk: #b0bec5;
  --subj-biologie: #81c784;
  --subj-ethik: #ffb74d;
  --font-display: 'Cinzel', 'Lato', serif;
  --font-body: 'Lato', system-ui, sans-serif;
  --radius-k: 0.375px;
  color-scheme: dark;
}
