/* ============================================================
   Catalogul de palete de culori — sursă canonică, unică.
   Referit direct prin cale absolută (`/css/palettes.css`) din orice
   site de pe glidepathservices.com — NU copiat fizic. Orice template
   nou pornit de acum înainte capătă automat catalogul complet doar
   legând acest fișier, fără nicio sincronizare manuală.
   Excepție: dxdngrave.com (domeniu separat) păstrează o copie fizică
   proprie (dxdngrave/palettes.css), sincronizată manual când se
   modifică acest fișier — ca site-ul unui client real să nu depindă
   de disponibilitatea glidepathservices.com.

   Doar cele 20 de teme de mai jos sunt selectabile din switcher — nu
   există o opțiune separată de "look implicit al site-ului" (a existat,
   sub numele "signature", eliminată la cerere: exact 20, nu 21). Look-ul
   implicit al fiecărui site tot există (definit în :root din propriul
   stylesheet), doar că nu mai apare ca mostră în switcher.

   Cele 20 de teme de mai jos sunt ORDONATE PE NUANȚĂ, în aceeași ordine
   peste tot (catalog + markup din fiecare HTML) — albastru → verde →
   roșu → portocaliu → mov/roz → nuanțe de lux/neutre — niciodată amestecat
   (roșu, apoi albastru, apoi verde etc.). Dacă adaugi o temă nouă,
   inserează-o la locul ei în secvența de nuanțe, nu la finalul fișierului.

   Vocabular canonic (nume de ROL, nu de nuanță) — fiecare paletă
   redefinește complet ambele seturi (light + dark), niciodată un
   diff parțial:
     --bg --bg-panel --bg-panel-2
     --ink --ink-soft --ink-faint
     --line
     --accent --accent-strong --accent-soft --accent-ink
   Opțional, doar la site-urile cu a doua nuanță de brand:
     --accent-2 --accent-2-soft

   --accent-glow — definit O SINGURĂ DATĂ, doar în blocul light al
   fiecărei palete (nu și în blocul dark) — cascada îl duce mai departe
   nemodificat și în starea dark, exact ca --panel-ink/--accent-panel de
   pe site-ul principal. E pentru text/iconițe pe panoul mereu-întunecat
   (hero diagram, .process, .roadmap, contact card) — NU folosi
   --accent-soft acolo: --accent-soft e gândit ca fundal tip tentă și în
   varianta dark e deliberat un ton închis/translucent (bun ca fundal de
   chip, dar ilizibil ca text pe un fundal deja aproape-negru). Valoarea
   lui --accent-glow e de obicei identică cu --accent din varianta dark
   a aceleiași palete (deja gândit să fie luminos pe fundal închis).

   Selector: html[data-palette="X"] pentru pagină, plus
   .palette-swatch[data-palette="X"] pentru mostrele din switcher —
   mostrele își iau singure culorile din cascadă, fără JS.
   Varianta dark e un selector compus [data-palette][data-theme="dark"],
   cu specificitate mai mare decât html[data-theme="dark"] de bază,
   deci câștigă cascada indiferent de ordinea din <link>.
   ============================================================ */

/* ------------------------------------------------------------
   1. Ocean Blue — Corporate / încredere
   ------------------------------------------------------------ */
html[data-palette="ocean-blue"],
.palette-swatch[data-palette="ocean-blue"] {
  --bg: oklch(0.975 0.006 225); --bg-panel: oklch(0.99 0.003 225); --bg-panel-2: oklch(0.92 0.014 225);
  --ink: oklch(0.21 0.03 225); --ink-soft: oklch(0.44 0.02 225); --ink-faint: oklch(0.59 0.015 225);
  --line: oklch(0.88 0.016 225);
  --accent: oklch(0.48 0.14 225); --accent-strong: oklch(0.38 0.14 225); --accent-soft: oklch(0.91 0.045 225); --accent-ink: oklch(0.98 0.006 225);
  --accent-glow: oklch(0.7 0.13 225);
}
html[data-palette="ocean-blue"][data-theme="dark"] {
  --bg: oklch(0.18 0.02 225); --bg-panel: oklch(0.23 0.022 225); --bg-panel-2: oklch(0.28 0.024 225);
  --ink: oklch(0.95 0.01 225); --ink-soft: oklch(0.75 0.015 225); --ink-faint: oklch(0.57 0.013 225);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.7 0.13 225); --accent-strong: oklch(0.8 0.11 225); --accent-soft: oklch(0.32 0.06 225); --accent-ink: oklch(0.14 0.02 225);
}

/* ------------------------------------------------------------
   2. Medical Blue — Medical / clinică
   ------------------------------------------------------------ */
html[data-palette="medical-blue"],
.palette-swatch[data-palette="medical-blue"] {
  --bg: oklch(0.975 0.006 200); --bg-panel: oklch(0.99 0.003 200); --bg-panel-2: oklch(0.92 0.013 200);
  --ink: oklch(0.22 0.025 205); --ink-soft: oklch(0.45 0.018 205); --ink-faint: oklch(0.6 0.013 205);
  --line: oklch(0.88 0.014 200);
  --accent: oklch(0.52 0.11 200); --accent-strong: oklch(0.41 0.11 200); --accent-soft: oklch(0.91 0.04 200); --accent-ink: oklch(0.98 0.006 200);
  --accent-glow: oklch(0.73 0.1 200);
}
html[data-palette="medical-blue"][data-theme="dark"] {
  --bg: oklch(0.18 0.018 200); --bg-panel: oklch(0.23 0.02 200); --bg-panel-2: oklch(0.28 0.022 200);
  --ink: oklch(0.95 0.009 200); --ink-soft: oklch(0.75 0.013 200); --ink-faint: oklch(0.57 0.011 200);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.73 0.1 200); --accent-strong: oklch(0.82 0.08 200); --accent-soft: oklch(0.32 0.05 200); --accent-ink: oklch(0.14 0.018 200);
}

/* ------------------------------------------------------------
   3. Navy Premium — Business / premium
   ------------------------------------------------------------ */
html[data-palette="navy-premium"],
.palette-swatch[data-palette="navy-premium"] {
  --bg: oklch(0.97 0.006 250); --bg-panel: oklch(0.99 0.004 250); --bg-panel-2: oklch(0.91 0.015 250);
  --ink: oklch(0.19 0.035 255); --ink-soft: oklch(0.42 0.025 255); --ink-faint: oklch(0.58 0.018 255);
  --line: oklch(0.87 0.017 250);
  --accent: oklch(0.4 0.15 250); --accent-strong: oklch(0.3 0.15 250); --accent-soft: oklch(0.9 0.045 250); --accent-ink: oklch(0.98 0.006 250);
  --accent-glow: oklch(0.65 0.14 250);
}
html[data-palette="navy-premium"][data-theme="dark"] {
  --bg: oklch(0.16 0.022 255); --bg-panel: oklch(0.21 0.024 255); --bg-panel-2: oklch(0.26 0.026 255);
  --ink: oklch(0.95 0.011 250); --ink-soft: oklch(0.75 0.016 250); --ink-faint: oklch(0.57 0.014 250);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.65 0.14 250); --accent-strong: oklch(0.75 0.12 250); --accent-soft: oklch(0.3 0.07 250); --accent-ink: oklch(0.13 0.02 250);
}

/* ------------------------------------------------------------
   4. Forest Green — Natural / eco
   ------------------------------------------------------------ */
html[data-palette="forest-green"],
.palette-swatch[data-palette="forest-green"] {
  --bg: oklch(0.975 0.008 150); --bg-panel: oklch(0.99 0.004 150); --bg-panel-2: oklch(0.92 0.018 150);
  --ink: oklch(0.2 0.03 155); --ink-soft: oklch(0.43 0.02 155); --ink-faint: oklch(0.58 0.015 155);
  --line: oklch(0.88 0.018 150);
  --accent: oklch(0.42 0.11 150); --accent-strong: oklch(0.32 0.11 150); --accent-soft: oklch(0.91 0.04 150); --accent-ink: oklch(0.98 0.006 150);
  --accent-glow: oklch(0.66 0.1 150);
}
html[data-palette="forest-green"][data-theme="dark"] {
  --bg: oklch(0.18 0.02 150); --bg-panel: oklch(0.23 0.022 150); --bg-panel-2: oklch(0.28 0.024 150);
  --ink: oklch(0.95 0.01 150); --ink-soft: oklch(0.75 0.015 150); --ink-faint: oklch(0.57 0.013 150);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.66 0.1 150); --accent-strong: oklch(0.76 0.09 150); --accent-soft: oklch(0.32 0.05 150); --accent-ink: oklch(0.14 0.02 150);
}

/* ------------------------------------------------------------
   5. Sage Green — Wellness / beauty
   ------------------------------------------------------------ */
html[data-palette="sage-green"],
.palette-swatch[data-palette="sage-green"] {
  --bg: oklch(0.975 0.006 135); --bg-panel: oklch(0.99 0.003 135); --bg-panel-2: oklch(0.92 0.012 135);
  --ink: oklch(0.24 0.018 135); --ink-soft: oklch(0.47 0.014 135); --ink-faint: oklch(0.61 0.011 135);
  --line: oklch(0.88 0.012 135);
  --accent: oklch(0.52 0.06 135); --accent-strong: oklch(0.41 0.06 135); --accent-soft: oklch(0.91 0.025 135); --accent-ink: oklch(0.98 0.005 135);
  --accent-glow: oklch(0.72 0.055 135);
}
html[data-palette="sage-green"][data-theme="dark"] {
  --bg: oklch(0.19 0.014 135); --bg-panel: oklch(0.24 0.015 135); --bg-panel-2: oklch(0.29 0.016 135);
  --ink: oklch(0.95 0.007 135); --ink-soft: oklch(0.75 0.01 135); --ink-faint: oklch(0.57 0.009 135);
  --line: oklch(1 0 0 / 11%);
  --accent: oklch(0.72 0.055 135); --accent-strong: oklch(0.8 0.05 135); --accent-soft: oklch(0.33 0.03 135); --accent-ink: oklch(0.15 0.015 135);
}

/* ------------------------------------------------------------
   6. Emerald — Modern / fresh
   ------------------------------------------------------------ */
html[data-palette="emerald"],
.palette-swatch[data-palette="emerald"] {
  --bg: oklch(0.975 0.008 160); --bg-panel: oklch(0.99 0.004 160); --bg-panel-2: oklch(0.92 0.018 160);
  --ink: oklch(0.21 0.03 160); --ink-soft: oklch(0.44 0.02 160); --ink-faint: oklch(0.59 0.015 160);
  --line: oklch(0.88 0.018 160);
  --accent: oklch(0.48 0.15 160); --accent-strong: oklch(0.38 0.15 160); --accent-soft: oklch(0.91 0.045 160); --accent-ink: oklch(0.98 0.006 160);
  --accent-glow: oklch(0.7 0.14 160);
}
html[data-palette="emerald"][data-theme="dark"] {
  --bg: oklch(0.18 0.02 160); --bg-panel: oklch(0.23 0.022 160); --bg-panel-2: oklch(0.28 0.024 160);
  --ink: oklch(0.95 0.01 160); --ink-soft: oklch(0.75 0.015 160); --ink-faint: oklch(0.57 0.013 160);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.7 0.14 160); --accent-strong: oklch(0.8 0.12 160); --accent-soft: oklch(0.32 0.06 160); --accent-ink: oklch(0.14 0.02 160);
}

/* ------------------------------------------------------------
   7. Burgundy — Luxury / elegant
   ------------------------------------------------------------ */
html[data-palette="burgundy"],
.palette-swatch[data-palette="burgundy"] {
  --bg: oklch(0.965 0.01 25); --bg-panel: oklch(0.99 0.005 25); --bg-panel-2: oklch(0.91 0.02 20);
  --ink: oklch(0.22 0.025 15); --ink-soft: oklch(0.45 0.02 15); --ink-faint: oklch(0.6 0.014 15);
  --line: oklch(0.87 0.02 20);
  --accent: oklch(0.34 0.13 10); --accent-strong: oklch(0.26 0.13 10); --accent-soft: oklch(0.9 0.045 10); --accent-ink: oklch(0.98 0.006 10);
  --accent-glow: oklch(0.58 0.13 10);
}
html[data-palette="burgundy"][data-theme="dark"] {
  --bg: oklch(0.17 0.018 15); --bg-panel: oklch(0.22 0.02 15); --bg-panel-2: oklch(0.27 0.022 15);
  --ink: oklch(0.95 0.01 20); --ink-soft: oklch(0.75 0.014 20); --ink-faint: oklch(0.57 0.012 20);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.58 0.13 10); --accent-strong: oklch(0.68 0.12 10); --accent-soft: oklch(0.28 0.06 10); --accent-ink: oklch(0.08 0.02 10);
}

/* ------------------------------------------------------------
   8. Classic Red — Energie / restaurant / servicii
   ------------------------------------------------------------ */
html[data-palette="classic-red"],
.palette-swatch[data-palette="classic-red"] {
  --bg: oklch(0.975 0.008 45); --bg-panel: oklch(0.99 0.004 45); --bg-panel-2: oklch(0.92 0.016 40);
  --ink: oklch(0.23 0.025 20); --ink-soft: oklch(0.46 0.02 20); --ink-faint: oklch(0.6 0.014 20);
  --line: oklch(0.88 0.018 40);
  --accent: oklch(0.5 0.19 25); --accent-strong: oklch(0.4 0.18 25); --accent-soft: oklch(0.91 0.05 25); --accent-ink: oklch(0.98 0.006 25);
  --accent-glow: oklch(0.68 0.17 25);
}
html[data-palette="classic-red"][data-theme="dark"] {
  --bg: oklch(0.18 0.016 25); --bg-panel: oklch(0.23 0.018 25); --bg-panel-2: oklch(0.28 0.02 25);
  --ink: oklch(0.95 0.009 40); --ink-soft: oklch(0.75 0.013 40); --ink-faint: oklch(0.57 0.011 40);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.68 0.17 25); --accent-strong: oklch(0.76 0.15 25); --accent-soft: oklch(0.32 0.07 25); --accent-ink: oklch(0.14 0.02 25);
}

/* ------------------------------------------------------------
   9. Terracotta — Warm / artisan / hospitality
   ------------------------------------------------------------ */
html[data-palette="terracotta"],
.palette-swatch[data-palette="terracotta"] {
  --bg: oklch(0.975 0.008 60); --bg-panel: oklch(1 0 0); --bg-panel-2: oklch(0.93 0.016 55);
  --ink: oklch(0.22 0.03 30); --ink-soft: oklch(0.45 0.025 30); --ink-faint: oklch(0.6 0.018 30);
  --line: oklch(0.89 0.02 50);
  --accent: oklch(0.53 0.15 35); --accent-strong: oklch(0.42 0.15 35); --accent-soft: oklch(0.92 0.05 35); --accent-ink: oklch(0.98 0.006 35);
  --accent-glow: oklch(0.72 0.14 35);
}
html[data-palette="terracotta"][data-theme="dark"] {
  --bg: oklch(0.18 0.02 30); --bg-panel: oklch(0.23 0.022 30); --bg-panel-2: oklch(0.28 0.024 30);
  --ink: oklch(0.95 0.01 50); --ink-soft: oklch(0.75 0.016 50); --ink-faint: oklch(0.57 0.014 50);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.72 0.14 35); --accent-strong: oklch(0.8 0.12 35); --accent-soft: oklch(0.32 0.07 35); --accent-ink: oklch(0.15 0.02 35);
}

/* ------------------------------------------------------------
   10. Orange — Friendly / energetic
   ------------------------------------------------------------ */
html[data-palette="orange"],
.palette-swatch[data-palette="orange"] {
  --bg: oklch(0.975 0.009 75); --bg-panel: oklch(1 0 0); --bg-panel-2: oklch(0.93 0.017 70);
  --ink: oklch(0.24 0.025 40); --ink-soft: oklch(0.46 0.02 40); --ink-faint: oklch(0.6 0.015 40);
  --line: oklch(0.88 0.018 70);
  --accent: oklch(0.58 0.17 60); --accent-strong: oklch(0.47 0.17 60); --accent-soft: oklch(0.92 0.05 65); --accent-ink: oklch(0.12 0.02 60);
  --accent-glow: oklch(0.78 0.14 60);
}
html[data-palette="orange"][data-theme="dark"] {
  --bg: oklch(0.19 0.017 65); --bg-panel: oklch(0.24 0.019 65); --bg-panel-2: oklch(0.29 0.021 65);
  --ink: oklch(0.95 0.01 70); --ink-soft: oklch(0.75 0.014 70); --ink-faint: oklch(0.57 0.012 70);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.78 0.14 60); --accent-strong: oklch(0.85 0.12 60); --accent-soft: oklch(0.34 0.06 60); --accent-ink: oklch(0.16 0.02 60);
}

/* ------------------------------------------------------------
   11. Royal Purple — Creative / premium
   ------------------------------------------------------------ */
html[data-palette="royal-purple"],
.palette-swatch[data-palette="royal-purple"] {
  --bg: oklch(0.97 0.008 295); --bg-panel: oklch(0.99 0.004 295); --bg-panel-2: oklch(0.91 0.017 295);
  --ink: oklch(0.22 0.035 295); --ink-soft: oklch(0.45 0.024 295); --ink-faint: oklch(0.6 0.017 295);
  --line: oklch(0.87 0.018 295);
  --accent: oklch(0.42 0.18 295); --accent-strong: oklch(0.33 0.17 295); --accent-soft: oklch(0.9 0.05 295); --accent-ink: oklch(0.98 0.006 295);
  --accent-glow: oklch(0.66 0.16 295);
}
html[data-palette="royal-purple"][data-theme="dark"] {
  --bg: oklch(0.17 0.022 295); --bg-panel: oklch(0.22 0.024 295); --bg-panel-2: oklch(0.27 0.026 295);
  --ink: oklch(0.95 0.011 295); --ink-soft: oklch(0.75 0.016 295); --ink-faint: oklch(0.57 0.014 295);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.66 0.16 295); --accent-strong: oklch(0.76 0.14 295); --accent-soft: oklch(0.3 0.07 295); --accent-ink: oklch(0.14 0.02 295);
}

/* ------------------------------------------------------------
   12. Lavender — Beauty / soft / modern
   ------------------------------------------------------------ */
html[data-palette="lavender"],
.palette-swatch[data-palette="lavender"] {
  --bg: oklch(0.975 0.007 285); --bg-panel: oklch(0.99 0.004 285); --bg-panel-2: oklch(0.92 0.014 285);
  --ink: oklch(0.25 0.02 285); --ink-soft: oklch(0.48 0.016 285); --ink-faint: oklch(0.62 0.012 285);
  --line: oklch(0.88 0.014 285);
  --accent: oklch(0.55 0.08 285); --accent-strong: oklch(0.45 0.08 285); --accent-soft: oklch(0.92 0.03 285); --accent-ink: oklch(0.98 0.005 285);
  --accent-glow: oklch(0.76 0.07 285);
}
html[data-palette="lavender"][data-theme="dark"] {
  --bg: oklch(0.19 0.015 285); --bg-panel: oklch(0.24 0.016 285); --bg-panel-2: oklch(0.29 0.017 285);
  --ink: oklch(0.95 0.008 285); --ink-soft: oklch(0.75 0.011 285); --ink-faint: oklch(0.57 0.009 285);
  --line: oklch(1 0 0 / 11%);
  --accent: oklch(0.76 0.07 285); --accent-strong: oklch(0.83 0.06 285); --accent-soft: oklch(0.34 0.035 285); --accent-ink: oklch(0.16 0.015 285);
}

/* ------------------------------------------------------------
   13. Rose — Beauty / fashion
   ------------------------------------------------------------ */
html[data-palette="rose"],
.palette-swatch[data-palette="rose"] {
  --bg: oklch(0.975 0.008 355); --bg-panel: oklch(0.99 0.004 355); --bg-panel-2: oklch(0.92 0.016 355);
  --ink: oklch(0.24 0.022 355); --ink-soft: oklch(0.47 0.018 355); --ink-faint: oklch(0.61 0.013 355);
  --line: oklch(0.88 0.016 355);
  --accent: oklch(0.56 0.15 355); --accent-strong: oklch(0.45 0.15 355); --accent-soft: oklch(0.92 0.045 355); --accent-ink: oklch(0.98 0.006 355);
  --accent-glow: oklch(0.75 0.12 355);
}
html[data-palette="rose"][data-theme="dark"] {
  --bg: oklch(0.19 0.017 355); --bg-panel: oklch(0.24 0.018 355); --bg-panel-2: oklch(0.29 0.02 355);
  --ink: oklch(0.95 0.009 355); --ink-soft: oklch(0.75 0.013 355); --ink-faint: oklch(0.57 0.011 355);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.75 0.12 355); --accent-strong: oklch(0.83 0.1 355); --accent-soft: oklch(0.33 0.06 355); --accent-ink: oklch(0.15 0.02 355);
}

/* ------------------------------------------------------------
   14. Black & Gold — Luxury / high-end
   ------------------------------------------------------------ */
html[data-palette="black-gold"],
.palette-swatch[data-palette="black-gold"] {
  --bg: oklch(0.97 0.003 80); --bg-panel: oklch(1 0 0); --bg-panel-2: oklch(0.9 0.006 80);
  --ink: oklch(0.14 0.006 80); --ink-soft: oklch(0.36 0.008 80); --ink-faint: oklch(0.52 0.007 80);
  --line: oklch(0.85 0.008 80);
  --accent: oklch(0.58 0.15 78); --accent-strong: oklch(0.47 0.15 78); --accent-soft: oklch(0.92 0.05 80); --accent-ink: oklch(0.14 0.02 78);
  --accent-glow: oklch(0.78 0.13 78);
}
html[data-palette="black-gold"][data-theme="dark"] {
  --bg: oklch(0.12 0.004 80); --bg-panel: oklch(0.16 0.005 80); --bg-panel-2: oklch(0.21 0.006 80);
  --ink: oklch(0.95 0.006 80); --ink-soft: oklch(0.74 0.008 80); --ink-faint: oklch(0.55 0.007 80);
  --line: oklch(1 0 0 / 13%);
  --accent: oklch(0.78 0.13 78); --accent-strong: oklch(0.85 0.11 78); --accent-soft: oklch(0.3 0.06 78); --accent-ink: oklch(0.13 0.02 78);
}

/* ------------------------------------------------------------
   15. Charcoal — Modern / masculine / professional
   ------------------------------------------------------------ */
html[data-palette="charcoal"],
.palette-swatch[data-palette="charcoal"] {
  --bg: oklch(0.975 0.003 235); --bg-panel: oklch(0.99 0.002 235); --bg-panel-2: oklch(0.92 0.006 235);
  --ink: oklch(0.2 0.008 235); --ink-soft: oklch(0.43 0.008 235); --ink-faint: oklch(0.58 0.007 235);
  --line: oklch(0.87 0.007 235);
  --accent: oklch(0.32 0.018 235); --accent-strong: oklch(0.24 0.018 235); --accent-soft: oklch(0.9 0.015 235); --accent-ink: oklch(0.98 0.003 235);
  --accent-glow: oklch(0.64 0.02 235);
}
html[data-palette="charcoal"][data-theme="dark"] {
  --bg: oklch(0.17 0.007 235); --bg-panel: oklch(0.22 0.008 235); --bg-panel-2: oklch(0.27 0.009 235);
  --ink: oklch(0.95 0.005 235); --ink-soft: oklch(0.75 0.007 235); --ink-faint: oklch(0.57 0.006 235);
  --line: oklch(1 0 0 / 12%);
  --accent: oklch(0.64 0.02 235); --accent-strong: oklch(0.74 0.018 235); --accent-soft: oklch(0.3 0.02 235); --accent-ink: oklch(0.13 0.01 235);
}

/* ------------------------------------------------------------
   16. Pure Monochrome — Alb + negru
   ------------------------------------------------------------ */
html[data-palette="monochrome"],
.palette-swatch[data-palette="monochrome"] {
  --bg: oklch(0.98 0 0); --bg-panel: oklch(1 0 0); --bg-panel-2: oklch(0.92 0 0);
  --ink: oklch(0.15 0 0); --ink-soft: oklch(0.4 0 0); --ink-faint: oklch(0.56 0 0);
  --line: oklch(0.86 0 0);
  --accent: oklch(0.16 0 0); --accent-strong: oklch(0.08 0 0); --accent-soft: oklch(0.9 0 0); --accent-ink: oklch(0.99 0 0);
  --accent-glow: oklch(0.85 0 0);
}
html[data-palette="monochrome"][data-theme="dark"] {
  --bg: oklch(0.12 0 0); --bg-panel: oklch(0.17 0 0); --bg-panel-2: oklch(0.22 0 0);
  --ink: oklch(0.96 0 0); --ink-soft: oklch(0.76 0 0); --ink-faint: oklch(0.56 0 0);
  --line: oklch(1 0 0 / 14%);
  --accent: oklch(0.9 0 0); --accent-strong: oklch(0.97 0 0); --accent-soft: oklch(0.28 0 0); --accent-ink: oklch(0.1 0 0);
}

/* ------------------------------------------------------------
   17. Cool Gray — Corporate / minimalist
   ------------------------------------------------------------ */
html[data-palette="cool-gray"],
.palette-swatch[data-palette="cool-gray"] {
  --bg: oklch(0.975 0.003 235); --bg-panel: oklch(0.99 0.002 235); --bg-panel-2: oklch(0.92 0.006 235);
  --ink: oklch(0.22 0.01 235); --ink-soft: oklch(0.45 0.01 235); --ink-faint: oklch(0.6 0.008 235);
  --line: oklch(0.87 0.008 235);
  --accent: oklch(0.44 0.02 235); --accent-strong: oklch(0.34 0.02 235); --accent-soft: oklch(0.91 0.015 235); --accent-ink: oklch(0.98 0.003 235);
  --accent-glow: oklch(0.68 0.018 235);
}
html[data-palette="cool-gray"][data-theme="dark"] {
  --bg: oklch(0.19 0.008 235); --bg-panel: oklch(0.24 0.009 235); --bg-panel-2: oklch(0.29 0.01 235);
  --ink: oklch(0.95 0.006 235); --ink-soft: oklch(0.75 0.008 235); --ink-faint: oklch(0.57 0.007 235);
  --line: oklch(1 0 0 / 11%);
  --accent: oklch(0.68 0.018 235); --accent-strong: oklch(0.78 0.016 235); --accent-soft: oklch(0.32 0.02 235); --accent-ink: oklch(0.15 0.01 235);
}

/* ------------------------------------------------------------
   18. Warm Gray — Elegant / architectural
   ------------------------------------------------------------ */
html[data-palette="warm-gray"],
.palette-swatch[data-palette="warm-gray"] {
  --bg: oklch(0.975 0.004 50); --bg-panel: oklch(0.99 0.003 50); --bg-panel-2: oklch(0.92 0.008 50);
  --ink: oklch(0.24 0.01 50); --ink-soft: oklch(0.46 0.01 50); --ink-faint: oklch(0.6 0.008 50);
  --line: oklch(0.87 0.009 50);
  --accent: oklch(0.44 0.02 50); --accent-strong: oklch(0.34 0.02 50); --accent-soft: oklch(0.91 0.016 50); --accent-ink: oklch(0.98 0.004 50);
  --accent-glow: oklch(0.68 0.018 50);
}
html[data-palette="warm-gray"][data-theme="dark"] {
  --bg: oklch(0.19 0.009 50); --bg-panel: oklch(0.24 0.01 50); --bg-panel-2: oklch(0.29 0.011 50);
  --ink: oklch(0.95 0.007 50); --ink-soft: oklch(0.75 0.009 50); --ink-faint: oklch(0.57 0.008 50);
  --line: oklch(1 0 0 / 11%);
  --accent: oklch(0.68 0.018 50); --accent-strong: oklch(0.78 0.016 50); --accent-soft: oklch(0.32 0.02 50); --accent-ink: oklch(0.15 0.01 50);
}

/* ------------------------------------------------------------
   19. Cream & Black — Old-school / editorial
   ------------------------------------------------------------ */
html[data-palette="cream-black"],
.palette-swatch[data-palette="cream-black"] {
  --bg: oklch(0.96 0.014 80); --bg-panel: oklch(0.99 0.008 80); --bg-panel-2: oklch(0.9 0.02 75);
  --ink: oklch(0.13 0.006 80); --ink-soft: oklch(0.35 0.008 80); --ink-faint: oklch(0.51 0.007 80);
  --line: oklch(0.84 0.012 75);
  --accent: oklch(0.16 0.006 80); --accent-strong: oklch(0.08 0.004 80); --accent-soft: oklch(0.89 0.02 75); --accent-ink: oklch(0.99 0.006 80);
  --accent-glow: oklch(0.85 0.01 80);
}
html[data-palette="cream-black"][data-theme="dark"] {
  --bg: oklch(0.13 0.008 80); --bg-panel: oklch(0.18 0.009 80); --bg-panel-2: oklch(0.23 0.01 80);
  --ink: oklch(0.95 0.012 80); --ink-soft: oklch(0.74 0.014 80); --ink-faint: oklch(0.55 0.012 80);
  --line: oklch(1 0 0 / 13%);
  --accent: oklch(0.9 0.014 80); --accent-strong: oklch(0.97 0.008 80); --accent-soft: oklch(0.26 0.012 80); --accent-ink: oklch(0.1 0.006 80);
}

/* ------------------------------------------------------------
   20. Paper / Vintage — Retro / traditional / artisan
   ------------------------------------------------------------ */
html[data-palette="vintage-paper"],
.palette-swatch[data-palette="vintage-paper"] {
  --bg: oklch(0.955 0.018 75); --bg-panel: oklch(0.98 0.012 75); --bg-panel-2: oklch(0.89 0.024 72);
  --ink: oklch(0.26 0.02 45); --ink-soft: oklch(0.48 0.018 45); --ink-faint: oklch(0.61 0.014 45);
  --line: oklch(0.85 0.02 70);
  --accent: oklch(0.45 0.09 55); --accent-strong: oklch(0.35 0.09 55); --accent-soft: oklch(0.89 0.03 60); --accent-ink: oklch(0.98 0.01 60);
  --accent-glow: oklch(0.68 0.08 55);
}
html[data-palette="vintage-paper"][data-theme="dark"] {
  --bg: oklch(0.2 0.02 50); --bg-panel: oklch(0.25 0.021 50); --bg-panel-2: oklch(0.3 0.022 50);
  --ink: oklch(0.94 0.014 65); --ink-soft: oklch(0.74 0.016 65); --ink-faint: oklch(0.56 0.014 65);
  --line: oklch(1 0 0 / 11%);
  --accent: oklch(0.68 0.08 55); --accent-strong: oklch(0.77 0.07 55); --accent-soft: oklch(0.34 0.04 55); --accent-ink: oklch(0.16 0.02 55);
}
