/*
 * Vopts Custom DaisyUI v5 Themes
 *
 * 20 themes (10 light, 10 dark) using oklch colors with the full DaisyUI v5
 * property set: colors, radius, size, border, depth, noise.
 *
 * Each theme has a distinct personality through radius/depth/border choices,
 * not just color swaps. Sorted by predicted adoption within each group.
 *
 * Properties per theme:
 *   --color-{base,primary,secondary,accent,neutral,info,success,warning,error}
 *   --color-{...}-content (contrast text for each)
 *   --radius-selector  (buttons, toggles, checkboxes)
 *   --radius-field     (inputs, selects, textareas)
 *   --radius-box       (cards, modals, alerts)
 *   --size-selector    (border width for buttons/toggles)
 *   --size-field       (border width for inputs)
 *   --border           (default border width)
 *   --depth            (shadow multiplier: 0=flat, 1=subtle)
 *   --noise            (background noise: 0=clean, 1=textured)
 */

/* ═══════════════════════════════════════════════════════════════════════════
   LIGHT THEMES
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── vopts-slate ─────────────────────────────────────────────────────────────
   Clean professional — cool gray, blue primary. The safe default.
   Standard radius, subtle depth. Notion/Linear energy.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-slate"] {
  color-scheme: light;
  --color-base-100: oklch(0.97 0.005 240);
  --color-base-200: oklch(0.93 0.008 240);
  --color-base-300: oklch(0.88 0.012 240);
  --color-base-content: oklch(0.25 0.02 240);
  --color-primary: oklch(0.50 0.14 250);
  --color-primary-content: oklch(0.98 0.005 250);
  --color-secondary: oklch(0.55 0.10 200);
  --color-secondary-content: oklch(0.98 0.005 200);
  --color-accent: oklch(0.62 0.16 165);
  --color-accent-content: oklch(0.15 0.02 165);
  --color-neutral: oklch(0.35 0.02 240);
  --color-neutral-content: oklch(0.95 0.005 240);
  --color-info: oklch(0.62 0.15 245);
  --color-info-content: oklch(0.98 0.005 245);
  --color-success: oklch(0.62 0.17 155);
  --color-success-content: oklch(0.98 0.005 155);
  --color-warning: oklch(0.75 0.15 75);
  --color-warning-content: oklch(0.20 0.05 75);
  --color-error: oklch(0.58 0.20 25);
  --color-error-content: oklch(0.98 0.005 25);
  --radius-selector: 0.5rem;
  --radius-field: 0.25rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 0;
}

/* ─── vopts-cloud ────────────────────────────────────────────────────────────
   Airy, spacious — crisp white-blue, sky primary. Friendly SaaS.
   Generous radius, depth for floating card feel.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-cloud"] {
  color-scheme: light;
  --color-base-100: oklch(0.98 0.004 230);
  --color-base-200: oklch(0.95 0.008 230);
  --color-base-300: oklch(0.90 0.012 230);
  --color-base-content: oklch(0.22 0.02 235);
  --color-primary: oklch(0.55 0.16 240);
  --color-primary-content: oklch(0.98 0.005 240);
  --color-secondary: oklch(0.52 0.12 280);
  --color-secondary-content: oklch(0.98 0.005 280);
  --color-accent: oklch(0.58 0.14 175);
  --color-accent-content: oklch(0.15 0.02 175);
  --color-neutral: oklch(0.40 0.015 235);
  --color-neutral-content: oklch(0.96 0.005 235);
  --color-info: oklch(0.60 0.15 245);
  --color-info-content: oklch(0.98 0.005 245);
  --color-success: oklch(0.62 0.17 155);
  --color-success-content: oklch(0.98 0.005 155);
  --color-warning: oklch(0.76 0.14 75);
  --color-warning-content: oklch(0.20 0.05 75);
  --color-error: oklch(0.58 0.20 25);
  --color-error-content: oklch(0.98 0.005 25);
  --radius-selector: 1rem;
  --radius-field: 0.5rem;
  --radius-box: 1rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 0;
}

/* ─── vopts-ocean ────────────────────────────────────────────────────────────
   Cool professional — blue-gray base, deep navy primary. Corporate calm.
   Tight radius, heavier border. Structured and deliberate.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-ocean"] {
  color-scheme: light;
  --color-base-100: oklch(0.96 0.01 220);
  --color-base-200: oklch(0.92 0.015 220);
  --color-base-300: oklch(0.87 0.02 220);
  --color-base-content: oklch(0.22 0.03 230);
  --color-primary: oklch(0.40 0.12 250);
  --color-primary-content: oklch(0.97 0.005 250);
  --color-secondary: oklch(0.50 0.10 200);
  --color-secondary-content: oklch(0.97 0.005 200);
  --color-accent: oklch(0.60 0.14 170);
  --color-accent-content: oklch(0.15 0.02 170);
  --color-neutral: oklch(0.35 0.025 230);
  --color-neutral-content: oklch(0.95 0.005 230);
  --color-info: oklch(0.58 0.15 245);
  --color-info-content: oklch(0.97 0.005 245);
  --color-success: oklch(0.60 0.17 155);
  --color-success-content: oklch(0.97 0.005 155);
  --color-warning: oklch(0.75 0.14 75);
  --color-warning-content: oklch(0.22 0.05 75);
  --color-error: oklch(0.55 0.20 22);
  --color-error-content: oklch(0.97 0.005 22);
  --radius-selector: 0.25rem;
  --radius-field: 0.25rem;
  --radius-box: 0.375rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 0;
}

/* ─── vopts-mint ─────────────────────────────────────────────────────────────
   Fresh and clean — cool mint-white, teal primary. Health/productivity.
   Medium radius, clean flat look. Clinical without sterile.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-mint"] {
  color-scheme: light;
  --color-base-100: oklch(0.97 0.008 170);
  --color-base-200: oklch(0.94 0.012 170);
  --color-base-300: oklch(0.89 0.018 170);
  --color-base-content: oklch(0.22 0.025 175);
  --color-primary: oklch(0.52 0.14 175);
  --color-primary-content: oklch(0.97 0.005 175);
  --color-secondary: oklch(0.50 0.10 230);
  --color-secondary-content: oklch(0.97 0.005 230);
  --color-accent: oklch(0.60 0.12 310);
  --color-accent-content: oklch(0.18 0.02 310);
  --color-neutral: oklch(0.38 0.02 175);
  --color-neutral-content: oklch(0.96 0.005 175);
  --color-info: oklch(0.58 0.14 240);
  --color-info-content: oklch(0.97 0.005 240);
  --color-success: oklch(0.62 0.16 155);
  --color-success-content: oklch(0.97 0.005 155);
  --color-warning: oklch(0.76 0.14 75);
  --color-warning-content: oklch(0.20 0.05 75);
  --color-error: oklch(0.56 0.20 25);
  --color-error-content: oklch(0.97 0.005 25);
  --radius-selector: 0.5rem;
  --radius-field: 0.375rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

/* ─── vopts-warm ─────────────────────────────────────────────────────────────
   Friendly approachable — cream/sand base, warm coral primary.
   Rounded, textured, inviting. Lifestyle/wellness apps.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-warm"] {
  color-scheme: light;
  --color-base-100: oklch(0.96 0.015 80);
  --color-base-200: oklch(0.92 0.02 75);
  --color-base-300: oklch(0.87 0.025 70);
  --color-base-content: oklch(0.25 0.03 50);
  --color-primary: oklch(0.62 0.18 25);
  --color-primary-content: oklch(0.98 0.01 25);
  --color-secondary: oklch(0.55 0.12 60);
  --color-secondary-content: oklch(0.98 0.01 60);
  --color-accent: oklch(0.65 0.14 165);
  --color-accent-content: oklch(0.15 0.02 165);
  --color-neutral: oklch(0.40 0.03 60);
  --color-neutral-content: oklch(0.95 0.01 60);
  --color-info: oklch(0.62 0.14 240);
  --color-info-content: oklch(0.98 0.005 240);
  --color-success: oklch(0.62 0.17 155);
  --color-success-content: oklch(0.98 0.005 155);
  --color-warning: oklch(0.78 0.14 75);
  --color-warning-content: oklch(0.20 0.05 75);
  --color-error: oklch(0.55 0.22 20);
  --color-error-content: oklch(0.98 0.005 20);
  --radius-selector: 1rem;
  --radius-field: 0.75rem;
  --radius-box: 1rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 1;
}

/* ─── vopts-sand ─────────────────────────────────────────────────────────────
   Desert warmth — beige/tan base, terracotta primary. Earthy, grounded.
   Soft radius, textured noise. Outdoor/sustainable brands.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-sand"] {
  color-scheme: light;
  --color-base-100: oklch(0.95 0.02 70);
  --color-base-200: oklch(0.91 0.025 65);
  --color-base-300: oklch(0.86 0.03 60);
  --color-base-content: oklch(0.25 0.025 45);
  --color-primary: oklch(0.52 0.14 40);
  --color-primary-content: oklch(0.97 0.01 40);
  --color-secondary: oklch(0.48 0.08 160);
  --color-secondary-content: oklch(0.97 0.005 160);
  --color-accent: oklch(0.60 0.10 90);
  --color-accent-content: oklch(0.18 0.02 90);
  --color-neutral: oklch(0.42 0.025 55);
  --color-neutral-content: oklch(0.95 0.01 55);
  --color-info: oklch(0.58 0.12 235);
  --color-info-content: oklch(0.97 0.005 235);
  --color-success: oklch(0.60 0.15 150);
  --color-success-content: oklch(0.97 0.005 150);
  --color-warning: oklch(0.74 0.13 70);
  --color-warning-content: oklch(0.22 0.04 70);
  --color-error: oklch(0.55 0.18 22);
  --color-error-content: oklch(0.97 0.005 22);
  --radius-selector: 0.75rem;
  --radius-field: 0.5rem;
  --radius-box: 0.75rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 1;
}

/* ─── vopts-soft ─────────────────────────────────────────────────────────────
   Calm pastel — soft white, muted lavender/rose tones. Gentle.
   Very rounded (pill buttons), no depth. Studio/creative.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-soft"] {
  color-scheme: light;
  --color-base-100: oklch(0.98 0.005 280);
  --color-base-200: oklch(0.95 0.01 280);
  --color-base-300: oklch(0.91 0.015 280);
  --color-base-content: oklch(0.30 0.03 280);
  --color-primary: oklch(0.72 0.10 280);
  --color-primary-content: oklch(0.20 0.03 280);
  --color-secondary: oklch(0.75 0.08 340);
  --color-secondary-content: oklch(0.22 0.03 340);
  --color-accent: oklch(0.76 0.09 180);
  --color-accent-content: oklch(0.20 0.03 180);
  --color-neutral: oklch(0.55 0.02 280);
  --color-neutral-content: oklch(0.97 0.005 280);
  --color-info: oklch(0.70 0.10 240);
  --color-info-content: oklch(0.20 0.03 240);
  --color-success: oklch(0.72 0.11 155);
  --color-success-content: oklch(0.20 0.03 155);
  --color-warning: oklch(0.80 0.10 80);
  --color-warning-content: oklch(0.25 0.05 80);
  --color-error: oklch(0.68 0.12 15);
  --color-error-content: oklch(0.20 0.03 15);
  --radius-selector: 2rem;
  --radius-field: 1rem;
  --radius-box: 1rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

/* ─── vopts-rose ─────────────────────────────────────────────────────────────
   Refined elegance — warm white, dusty rose primary. Sophisticated.
   Standard radius, depth for polished cards. Luxury without excess.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-rose"] {
  color-scheme: light;
  --color-base-100: oklch(0.97 0.006 350);
  --color-base-200: oklch(0.94 0.01 350);
  --color-base-300: oklch(0.89 0.015 350);
  --color-base-content: oklch(0.24 0.02 340);
  --color-primary: oklch(0.55 0.14 350);
  --color-primary-content: oklch(0.97 0.005 350);
  --color-secondary: oklch(0.48 0.08 280);
  --color-secondary-content: oklch(0.97 0.005 280);
  --color-accent: oklch(0.58 0.10 50);
  --color-accent-content: oklch(0.18 0.02 50);
  --color-neutral: oklch(0.40 0.015 340);
  --color-neutral-content: oklch(0.96 0.005 340);
  --color-info: oklch(0.58 0.13 240);
  --color-info-content: oklch(0.97 0.005 240);
  --color-success: oklch(0.60 0.15 155);
  --color-success-content: oklch(0.97 0.005 155);
  --color-warning: oklch(0.74 0.13 75);
  --color-warning-content: oklch(0.22 0.04 75);
  --color-error: oklch(0.55 0.20 25);
  --color-error-content: oklch(0.97 0.005 25);
  --radius-selector: 0.5rem;
  --radius-field: 0.375rem;
  --radius-box: 0.75rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 0;
}

/* ─── vopts-linen ────────────────────────────────────────────────────────────
   Paper-like — off-white/linen base, muted indigo primary.
   Tight radius, no depth, textured. Like a printed document.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-linen"] {
  color-scheme: light;
  --color-base-100: oklch(0.96 0.01 90);
  --color-base-200: oklch(0.93 0.015 85);
  --color-base-300: oklch(0.88 0.02 80);
  --color-base-content: oklch(0.18 0.01 280);
  --color-primary: oklch(0.45 0.12 270);
  --color-primary-content: oklch(0.97 0.005 270);
  --color-secondary: oklch(0.50 0.06 30);
  --color-secondary-content: oklch(0.97 0.005 30);
  --color-accent: oklch(0.52 0.08 155);
  --color-accent-content: oklch(0.97 0.005 155);
  --color-neutral: oklch(0.35 0.01 80);
  --color-neutral-content: oklch(0.96 0.008 80);
  --color-info: oklch(0.52 0.11 240);
  --color-info-content: oklch(0.97 0.005 240);
  --color-success: oklch(0.55 0.13 155);
  --color-success-content: oklch(0.97 0.005 155);
  --color-warning: oklch(0.70 0.12 70);
  --color-warning-content: oklch(0.22 0.04 70);
  --color-error: oklch(0.52 0.18 25);
  --color-error-content: oklch(0.97 0.005 25);
  --radius-selector: 0.25rem;
  --radius-field: 0.25rem;
  --radius-box: 0.25rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 1;
}

/* ─── vopts-chalk ────────────────────────────────────────────────────────────
   Minimal editorial — near-white, single pop color (vermillion).
   Zero radius, zero depth. Pure content-first brutalism.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-chalk"] {
  color-scheme: light;
  --color-base-100: oklch(0.985 0.002 100);
  --color-base-200: oklch(0.95 0.003 100);
  --color-base-300: oklch(0.90 0.005 100);
  --color-base-content: oklch(0.20 0.005 100);
  --color-primary: oklch(0.57 0.22 28);
  --color-primary-content: oklch(0.98 0.005 28);
  --color-secondary: oklch(0.45 0.03 240);
  --color-secondary-content: oklch(0.97 0.003 240);
  --color-accent: oklch(0.55 0.03 200);
  --color-accent-content: oklch(0.97 0.003 200);
  --color-neutral: oklch(0.40 0.005 100);
  --color-neutral-content: oklch(0.97 0.002 100);
  --color-info: oklch(0.55 0.12 240);
  --color-info-content: oklch(0.97 0.003 240);
  --color-success: oklch(0.58 0.14 155);
  --color-success-content: oklch(0.97 0.003 155);
  --color-warning: oklch(0.72 0.12 75);
  --color-warning-content: oklch(0.22 0.04 75);
  --color-error: oklch(0.55 0.20 25);
  --color-error-content: oklch(0.97 0.003 25);
  --radius-selector: 0rem;
  --radius-field: 0rem;
  --radius-box: 0rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   DARK THEMES
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── vopts-midnight ─────────────────────────────────────────────────────────
   Deep focused — deep blue-black, bright cyan accent.
   Standard radius, subtle depth. The safe default dark.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-midnight"] {
  color-scheme: dark;
  --color-base-100: oklch(0.18 0.03 260);
  --color-base-200: oklch(0.15 0.035 260);
  --color-base-300: oklch(0.12 0.04 260);
  --color-base-content: oklch(0.90 0.01 240);
  --color-primary: oklch(0.72 0.18 200);
  --color-primary-content: oklch(0.15 0.03 200);
  --color-secondary: oklch(0.60 0.15 270);
  --color-secondary-content: oklch(0.95 0.01 270);
  --color-accent: oklch(0.78 0.16 185);
  --color-accent-content: oklch(0.15 0.03 185);
  --color-neutral: oklch(0.28 0.02 260);
  --color-neutral-content: oklch(0.88 0.01 260);
  --color-info: oklch(0.65 0.15 245);
  --color-info-content: oklch(0.15 0.02 245);
  --color-success: oklch(0.65 0.17 155);
  --color-success-content: oklch(0.15 0.02 155);
  --color-warning: oklch(0.78 0.15 80);
  --color-warning-content: oklch(0.20 0.05 80);
  --color-error: oklch(0.62 0.20 25);
  --color-error-content: oklch(0.95 0.01 25);
  --radius-selector: 0.5rem;
  --radius-field: 0.25rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 0;
}

/* ─── vopts-carbon ───────────────────────────────────────────────────────────
   Industrial precision — true neutral gray, electric blue primary.
   Tight radius, flat. Developer/ops terminal energy.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-carbon"] {
  color-scheme: dark;
  --color-base-100: oklch(0.20 0.005 260);
  --color-base-200: oklch(0.17 0.005 260);
  --color-base-300: oklch(0.14 0.005 260);
  --color-base-content: oklch(0.88 0.008 260);
  --color-primary: oklch(0.65 0.18 245);
  --color-primary-content: oklch(0.15 0.02 245);
  --color-secondary: oklch(0.55 0.12 200);
  --color-secondary-content: oklch(0.95 0.005 200);
  --color-accent: oklch(0.70 0.14 165);
  --color-accent-content: oklch(0.15 0.02 165);
  --color-neutral: oklch(0.30 0.005 260);
  --color-neutral-content: oklch(0.85 0.008 260);
  --color-info: oklch(0.62 0.14 245);
  --color-info-content: oklch(0.15 0.02 245);
  --color-success: oklch(0.65 0.17 155);
  --color-success-content: oklch(0.15 0.02 155);
  --color-warning: oklch(0.78 0.14 80);
  --color-warning-content: oklch(0.18 0.05 80);
  --color-error: oklch(0.60 0.20 25);
  --color-error-content: oklch(0.95 0.005 25);
  --radius-selector: 0.25rem;
  --radius-field: 0.25rem;
  --radius-box: 0.375rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

/* ─── vopts-storm ────────────────────────────────────────────────────────────
   Brooding intensity — cool steel-blue base, near-white primary.
   Sharp corners, flat. High contrast monitoring/alerts.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-storm"] {
  color-scheme: dark;
  --color-base-100: oklch(0.19 0.02 230);
  --color-base-200: oklch(0.16 0.022 230);
  --color-base-300: oklch(0.13 0.025 230);
  --color-base-content: oklch(0.92 0.005 230);
  --color-primary: oklch(0.88 0.04 230);
  --color-primary-content: oklch(0.15 0.02 230);
  --color-secondary: oklch(0.58 0.16 200);
  --color-secondary-content: oklch(0.95 0.005 200);
  --color-accent: oklch(0.68 0.18 30);
  --color-accent-content: oklch(0.15 0.02 30);
  --color-neutral: oklch(0.28 0.015 230);
  --color-neutral-content: oklch(0.86 0.008 230);
  --color-info: oklch(0.62 0.14 245);
  --color-info-content: oklch(0.15 0.02 245);
  --color-success: oklch(0.65 0.17 155);
  --color-success-content: oklch(0.15 0.02 155);
  --color-warning: oklch(0.78 0.15 80);
  --color-warning-content: oklch(0.18 0.05 80);
  --color-error: oklch(0.62 0.22 25);
  --color-error-content: oklch(0.95 0.005 25);
  --radius-selector: 0rem;
  --radius-field: 0rem;
  --radius-box: 0.25rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

/* ─── vopts-onyx ─────────────────────────────────────────────────────────────
   Luxury dark — rich black, gold accent. Premium.
   Generous radius, depth for polished feel. Finance/executive.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-onyx"] {
  color-scheme: dark;
  --color-base-100: oklch(0.17 0.008 60);
  --color-base-200: oklch(0.14 0.008 60);
  --color-base-300: oklch(0.11 0.008 60);
  --color-base-content: oklch(0.90 0.015 70);
  --color-primary: oklch(0.75 0.14 85);
  --color-primary-content: oklch(0.15 0.03 85);
  --color-secondary: oklch(0.55 0.06 40);
  --color-secondary-content: oklch(0.95 0.01 40);
  --color-accent: oklch(0.60 0.08 200);
  --color-accent-content: oklch(0.15 0.02 200);
  --color-neutral: oklch(0.27 0.006 60);
  --color-neutral-content: oklch(0.85 0.012 60);
  --color-info: oklch(0.60 0.12 240);
  --color-info-content: oklch(0.95 0.005 240);
  --color-success: oklch(0.65 0.15 155);
  --color-success-content: oklch(0.15 0.02 155);
  --color-warning: oklch(0.78 0.14 80);
  --color-warning-content: oklch(0.18 0.05 80);
  --color-error: oklch(0.58 0.18 20);
  --color-error-content: oklch(0.95 0.005 20);
  --radius-selector: 1rem;
  --radius-field: 0.5rem;
  --radius-box: 1rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 0;
}

/* ─── vopts-ember ────────────────────────────────────────────────────────────
   Warm dark — charcoal base, orange/amber primary. Campfire.
   Medium radius, textured noise. Industrial/workshop.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-ember"] {
  color-scheme: dark;
  --color-base-100: oklch(0.20 0.015 50);
  --color-base-200: oklch(0.17 0.018 50);
  --color-base-300: oklch(0.14 0.02 50);
  --color-base-content: oklch(0.90 0.02 60);
  --color-primary: oklch(0.72 0.18 55);
  --color-primary-content: oklch(0.15 0.03 55);
  --color-secondary: oklch(0.58 0.14 30);
  --color-secondary-content: oklch(0.95 0.01 30);
  --color-accent: oklch(0.70 0.15 85);
  --color-accent-content: oklch(0.15 0.03 85);
  --color-neutral: oklch(0.30 0.015 50);
  --color-neutral-content: oklch(0.88 0.015 50);
  --color-info: oklch(0.62 0.14 240);
  --color-info-content: oklch(0.95 0.01 240);
  --color-success: oklch(0.65 0.17 155);
  --color-success-content: oklch(0.15 0.02 155);
  --color-warning: oklch(0.80 0.15 80);
  --color-warning-content: oklch(0.18 0.05 80);
  --color-error: oklch(0.58 0.20 20);
  --color-error-content: oklch(0.95 0.01 20);
  --radius-selector: 0.375rem;
  --radius-field: 0.375rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 1;
}

/* ─── vopts-forest ───────────────────────────────────────────────────────────
   Natural earthy — dark green-black, emerald primary.
   Rounded fields, textured. Outdoor/nature brands.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-forest"] {
  color-scheme: dark;
  --color-base-100: oklch(0.18 0.025 150);
  --color-base-200: oklch(0.15 0.03 150);
  --color-base-300: oklch(0.12 0.035 150);
  --color-base-content: oklch(0.88 0.02 140);
  --color-primary: oklch(0.62 0.18 155);
  --color-primary-content: oklch(0.15 0.03 155);
  --color-secondary: oklch(0.55 0.10 90);
  --color-secondary-content: oklch(0.95 0.01 90);
  --color-accent: oklch(0.65 0.12 200);
  --color-accent-content: oklch(0.15 0.02 200);
  --color-neutral: oklch(0.28 0.02 150);
  --color-neutral-content: oklch(0.86 0.015 150);
  --color-info: oklch(0.62 0.14 240);
  --color-info-content: oklch(0.95 0.01 240);
  --color-success: oklch(0.68 0.18 150);
  --color-success-content: oklch(0.15 0.03 150);
  --color-warning: oklch(0.78 0.14 80);
  --color-warning-content: oklch(0.20 0.05 80);
  --color-error: oklch(0.58 0.20 22);
  --color-error-content: oklch(0.95 0.01 22);
  --radius-selector: 0.75rem;
  --radius-field: 1rem;
  --radius-box: 0.75rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 1;
}

/* ─── vopts-moss ─────────────────────────────────────────────────────────────
   Quiet nature — muted olive-green base, sage primary.
   Medium radius, textured. Calmer than forest.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-moss"] {
  color-scheme: dark;
  --color-base-100: oklch(0.22 0.018 130);
  --color-base-200: oklch(0.19 0.02 130);
  --color-base-300: oklch(0.16 0.022 130);
  --color-base-content: oklch(0.88 0.018 120);
  --color-primary: oklch(0.65 0.10 140);
  --color-primary-content: oklch(0.15 0.02 140);
  --color-secondary: oklch(0.55 0.08 80);
  --color-secondary-content: oklch(0.95 0.005 80);
  --color-accent: oklch(0.62 0.10 200);
  --color-accent-content: oklch(0.15 0.02 200);
  --color-neutral: oklch(0.30 0.015 130);
  --color-neutral-content: oklch(0.85 0.012 130);
  --color-info: oklch(0.60 0.12 240);
  --color-info-content: oklch(0.95 0.005 240);
  --color-success: oklch(0.65 0.16 150);
  --color-success-content: oklch(0.15 0.02 150);
  --color-warning: oklch(0.76 0.13 80);
  --color-warning-content: oklch(0.20 0.05 80);
  --color-error: oklch(0.58 0.18 22);
  --color-error-content: oklch(0.95 0.005 22);
  --radius-selector: 0.5rem;
  --radius-field: 0.5rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 1;
}

/* ─── vopts-dusk ─────────────────────────────────────────────────────────────
   Twilight purple — deep purple-black, violet/lavender accent.
   Rounded, depth. Evening energy, creative tools.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-dusk"] {
  color-scheme: dark;
  --color-base-100: oklch(0.18 0.03 290);
  --color-base-200: oklch(0.15 0.035 290);
  --color-base-300: oklch(0.12 0.04 290);
  --color-base-content: oklch(0.90 0.015 290);
  --color-primary: oklch(0.60 0.18 300);
  --color-primary-content: oklch(0.95 0.01 300);
  --color-secondary: oklch(0.55 0.14 340);
  --color-secondary-content: oklch(0.95 0.01 340);
  --color-accent: oklch(0.75 0.12 280);
  --color-accent-content: oklch(0.18 0.03 280);
  --color-neutral: oklch(0.28 0.025 290);
  --color-neutral-content: oklch(0.88 0.01 290);
  --color-info: oklch(0.62 0.15 245);
  --color-info-content: oklch(0.95 0.01 245);
  --color-success: oklch(0.65 0.17 155);
  --color-success-content: oklch(0.15 0.02 155);
  --color-warning: oklch(0.78 0.15 80);
  --color-warning-content: oklch(0.20 0.05 80);
  --color-error: oklch(0.60 0.20 20);
  --color-error-content: oklch(0.95 0.01 20);
  --radius-selector: 0.75rem;
  --radius-field: 0.5rem;
  --radius-box: 0.75rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 1;
  --noise: 0;
}

/* ─── vopts-bold ─────────────────────────────────────────────────────────────
   High-energy — near-black, vivid saturated magenta/green/yellow.
   Sharp corners, flat. Maximum personality.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-bold"] {
  color-scheme: dark;
  --color-base-100: oklch(0.16 0.01 300);
  --color-base-200: oklch(0.13 0.012 300);
  --color-base-300: oklch(0.10 0.015 300);
  --color-base-content: oklch(0.95 0.005 300);
  --color-primary: oklch(0.68 0.24 330);
  --color-primary-content: oklch(0.98 0.005 330);
  --color-secondary: oklch(0.72 0.20 140);
  --color-secondary-content: oklch(0.12 0.03 140);
  --color-accent: oklch(0.80 0.18 85);
  --color-accent-content: oklch(0.15 0.03 85);
  --color-neutral: oklch(0.25 0.01 300);
  --color-neutral-content: oklch(0.90 0.005 300);
  --color-info: oklch(0.65 0.18 250);
  --color-info-content: oklch(0.98 0.005 250);
  --color-success: oklch(0.68 0.20 150);
  --color-success-content: oklch(0.12 0.03 150);
  --color-warning: oklch(0.80 0.17 80);
  --color-warning-content: oklch(0.18 0.05 80);
  --color-error: oklch(0.60 0.24 25);
  --color-error-content: oklch(0.98 0.005 25);
  --radius-selector: 0rem;
  --radius-field: 0rem;
  --radius-box: 0.25rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

/* ─── vopts-void ─────────────────────────────────────────────────────────────
   Absolute dark — near-black, neon cyan/magenta/lime accents.
   Zero radius, zero depth. Maximum contrast terminal vibes.
   ──────────────────────────────────────────────────────────────────────────── */
[data-theme="vopts-void"] {
  color-scheme: dark;
  --color-base-100: oklch(0.14 0.005 280);
  --color-base-200: oklch(0.11 0.005 280);
  --color-base-300: oklch(0.08 0.005 280);
  --color-base-content: oklch(0.92 0.01 280);
  --color-primary: oklch(0.75 0.20 180);
  --color-primary-content: oklch(0.12 0.03 180);
  --color-secondary: oklch(0.68 0.18 310);
  --color-secondary-content: oklch(0.12 0.03 310);
  --color-accent: oklch(0.80 0.16 90);
  --color-accent-content: oklch(0.12 0.03 90);
  --color-neutral: oklch(0.22 0.005 280);
  --color-neutral-content: oklch(0.85 0.008 280);
  --color-info: oklch(0.65 0.16 245);
  --color-info-content: oklch(0.12 0.02 245);
  --color-success: oklch(0.70 0.18 155);
  --color-success-content: oklch(0.12 0.02 155);
  --color-warning: oklch(0.82 0.16 80);
  --color-warning-content: oklch(0.15 0.05 80);
  --color-error: oklch(0.65 0.22 25);
  --color-error-content: oklch(0.95 0.005 25);
  --radius-selector: 0rem;
  --radius-field: 0rem;
  --radius-box: 0rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}
