/*! fertig-themes v5.0.0 — named colour themes for fertig. MIT */

/* Put data-theme="forest" (or any name below) on the <html> element and the
   whole sheet re-skins: surfaces, text, the accent and the semantic tones, all
   from one place. Each theme is a flat palette of its own — it does not track
   the operating-system scheme, it just declares which one it belongs to with
   color-scheme so form controls and the base's light-dark() tokens follow.

   The sheet re-opens @layer fertig, which keeps the base's override rules:
   your own unlayered CSS still wins over every theme here without !important. */

@layer fertig {

/* ---- forest -----------------------------------------------------
   A night-green canopy. Deep moss surfaces, a bright leaf-green accent and a
   gold secondary for the price tags and the sale badges. */
:root[data-theme=forest] {
  color-scheme: dark;
  --fertig-a1: .34; --fertig-a2: .30;
  --fertig-bg:   oklch(24% .02 165);
  --fertig-el:   oklch(28% .025 165);
  --fertig-face: oklch(32% .03 165);
  --fertig-tb:   oklch(23% .02 165);
  --fertig-fg:   oklch(94% .015 165);
  --fertig-mut:  oklch(70% .03 165);
  --fertig-bd:   oklch(92% .015 165 / .16);
  --fertig-sh:   oklch(15% .02 165);
  --fertig-ac:     oklch(72% .13 155);
  --fertig-on-ac:  oklch(20% .03 160);
  --fertig-primary: var(--fertig-ac);
  --fertig-on-primary: var(--fertig-on-ac);
  --fertig-secondary: oklch(72% .10 90);
  --fertig-on-secondary: oklch(20% .03 90);
}

/* ---- aqua -------------------------------------------------------
   A clear-water teal. Cool surfaces, a cyan accent and a violet secondary
   for the layer that implies a different category entirely. */
:root[data-theme=aqua] {
  color-scheme: dark;
  --fertig-a1: .34; --fertig-a2: .30;
  --fertig-bg:   oklch(24% .03 225);
  --fertig-el:   oklch(28% .03 225);
  --fertig-face: oklch(32% .035 225);
  --fertig-tb:   oklch(23% .03 225);
  --fertig-fg:   oklch(94% .02 230);
  --fertig-mut:  oklch(71% .04 225);
  --fertig-bd:   oklch(94% .02 230 / .16);
  --fertig-sh:   oklch(15% .03 225);
  --fertig-ac:     oklch(76% .11 195);
  --fertig-on-ac:  oklch(20% .03 230);
  --fertig-primary: var(--fertig-ac);
  --fertig-on-primary: var(--fertig-on-ac);
  --fertig-secondary: oklch(70% .13 285);
  --fertig-on-secondary: oklch(20% .03 285);
}

/* ---- retro ------------------------------------------------------
   Aged paper and a pixel-green ink. Muted, slightly desaturated, with a rust
   secondary for the category labels a terminal could never print. */
:root[data-theme=retro] {
  color-scheme: light;
  --fertig-a1: .08; --fertig-a2: .10;
  --fertig-bg:   oklch(95% .025 85);
  --fertig-el:   oklch(97% .02 85);
  --fertig-face: oklch(88% .035 80);
  --fertig-tb:   oklch(96% .025 85);
  --fertig-fg:   oklch(29% .03 160);
  --fertig-mut:  oklch(47% .035 160);
  --fertig-bd:   oklch(34% .04 160 / .20);
  --fertig-sh:   oklch(35% .03 160);
  --fertig-ac:     oklch(42% .10 160);
  --fertig-on-ac:  oklch(96% .02 90);
  --fertig-primary: var(--fertig-ac);
  --fertig-on-primary: var(--fertig-on-ac);
  --fertig-secondary: oklch(52% .10 45);
  --fertig-on-secondary: oklch(96% .02 45);
}

/* ---- coffee -----------------------------------------------------
   A warm cream cup. Espresso text on soft latte surfaces, a caramel accent
   and a butter secondary. */
:root[data-theme=coffee] {
  color-scheme: light;
  --fertig-a1: .08; --fertig-a2: .10;
  --fertig-bg:   oklch(93% .024 60);
  --fertig-el:   oklch(96% .02 60);
  --fertig-face: oklch(85% .03 60);
  --fertig-tb:   oklch(95% .022 60);
  --fertig-fg:   oklch(31% .04 50);
  --fertig-mut:  oklch(48% .04 50);
  --fertig-bd:   oklch(36% .05 40 / .22);
  --fertig-sh:   oklch(33% .04 50);
  --fertig-ac:     oklch(45% .10 45);
  --fertig-on-ac:  oklch(95% .02 60);
  --fertig-primary: var(--fertig-ac);
  --fertig-on-primary: var(--fertig-on-ac);
  --fertig-secondary: oklch(63% .09 90);
  --fertig-on-secondary: oklch(22% .04 90);
}

/* ---- night ------------------------------------------------------
   A deep slate-blue. The quietest of the set: low chroma, one indigo accent
   and a cyan secondary. */
:root[data-theme=night] {
  color-scheme: dark;
  --fertig-a1: .34; --fertig-a2: .30;
  --fertig-bg:   oklch(21% .02 255);
  --fertig-el:   oklch(25% .025 255);
  --fertig-face: oklch(29% .03 255);
  --fertig-tb:   oklch(20% .02 255);
  --fertig-fg:   oklch(94% .01 255);
  --fertig-mut:  oklch(71% .02 255);
  --fertig-bd:   oklch(94% .015 255 / .16);
  --fertig-sh:   oklch(14% .02 255);
  --fertig-ac:     oklch(72% .11 260);
  --fertig-on-ac:  oklch(18% .03 260);
  --fertig-primary: var(--fertig-ac);
  --fertig-on-primary: var(--fertig-on-ac);
  --fertig-secondary: oklch(76% .09 190);
  --fertig-on-secondary: oklch(18% .03 190);
}

/* ---- cyberpunk ------------------------------------------------ */
/* A near-black magenta grid. Cold neon surfaces and hot magenta accents hold
   ink text, and the secondary is a poison green. */
:root[data-theme=cyberpunk] {
  color-scheme: dark;
  --fertig-a1: .34; --fertig-a2: .30;
  --fertig-bg:   oklch(20% .04 305);
  --fertig-el:   oklch(25% .045 305);
  --fertig-face: oklch(29% .05 305);
  --fertig-tb:   oklch(19% .04 305);
  --fertig-fg:   oklch(95% .02 320);
  --fertig-mut:  oklch(74% .04 310);
  --fertig-bd:   oklch(94% .03 310 / .18);
  --fertig-sh:   oklch(12% .02 305);
  --fertig-ac:     oklch(68% .23 335);
  --fertig-on-ac:  oklch(19% .04 320);
  --fertig-primary: var(--fertig-ac);
  --fertig-on-primary: var(--fertig-on-ac);
  --fertig-secondary: oklch(68% .18 160);
  --fertig-on-secondary: oklch(19% .04 160);
}

/* ---- synthwave -------------------------------------------------- */
/* Deep violet with electric cyan-blue where the sun sets and magenta as the
   second voice. */
:root[data-theme=synthwave] {
  color-scheme: dark;
  --fertig-a1: .34; --fertig-a2: .30;
  --fertig-bg:   oklch(20% .045 300);
  --fertig-el:   oklch(25% .05 300);
  --fertig-face: oklch(29% .05 300);
  --fertig-tb:   oklch(19% .045 300);
  --fertig-fg:   oklch(95% .02 300);
  --fertig-mut:  oklch(73% .04 300);
  --fertig-bd:   oklch(94% .025 300 / .18);
  --fertig-sh:   oklch(13% .03 300);
  --fertig-ac:     oklch(75% .12 260);
  --fertig-on-ac:  oklch(19% .04 270);
  --fertig-primary: var(--fertig-ac);
  --fertig-on-primary: var(--fertig-on-ac);
  --fertig-secondary: oklch(70% .15 335);
  --fertig-on-secondary: oklch(19% .04 335);
}

/* ---- blossom ----------------------------------------------------- */
/* A soft-petal pink. Warm rose text on near-white petals, a rose accent and
   a little lavender for the quiet secondary. */
:root[data-theme=blossom] {
  color-scheme: light;
  --fertig-a1: .08; --fertig-a2: .10;
  --fertig-bg:   oklch(96% .02 350);
  --fertig-el:   oklch(98% .015 350);
  --fertig-face: oklch(89% .03 350);
  --fertig-tb:   oklch(97% .018 350);
  --fertig-fg:   oklch(34% .04 330);
  --fertig-mut:  oklch(50% .04 330);
  --fertig-bd:   oklch(45% .05 330 / .15);
  --fertig-sh:   oklch(33% .03 330);
  --fertig-ac:     oklch(48% .13 345);
  --fertig-on-ac:  oklch(97% .02 350);
  --fertig-primary: var(--fertig-ac);
  --fertig-on-primary: var(--fertig-on-ac);
  --fertig-secondary: oklch(62% .09 280);
  --fertig-on-secondary: oklch(22% .03 280);
}

}