:root,
:root[data-spark-theme="aurora"] {
  --spark-bg: #f4f8ff;
  --spark-bg-alt: #edf8f5;
  --spark-surface: rgba(255, 255, 255, 0.9);
  --spark-surface-solid: #ffffff;
  --spark-surface-soft: #eef4ff;
  --spark-text: #17233b;
  --spark-text-soft: #53627a;
  --spark-border: #d8e2f0;
  --spark-border-strong: #a8bad1;
  --spark-accent: #2563eb;
  --spark-accent-strong: #1749b5;
  --spark-accent-soft: #dbeafe;
  --spark-accent-contrast: #ffffff;
  --spark-secondary: #0f8f83;
  --spark-secondary-soft: #d6f5ef;
  --spark-danger: #c2414d;
  --spark-warning: #b45309;
  --spark-shadow: 0 18px 45px rgba(52, 78, 112, 0.14);
  --spark-shadow-soft: 0 8px 24px rgba(52, 78, 112, 0.1);
  --spark-grid: rgba(37, 99, 235, 0.055);
  --spark-glow-a: rgba(37, 99, 235, 0.15);
  --spark-glow-b: rgba(15, 143, 131, 0.14);
  --spark-user-start: #2563eb;
  --spark-user-end: #1749b5;
}

:root[data-spark-theme="midnight"] {
  --spark-bg: #07111f;
  --spark-bg-alt: #0a1628;
  --spark-surface: rgba(14, 28, 48, 0.92);
  --spark-surface-solid: #101c2f;
  --spark-surface-soft: #14243b;
  --spark-text: #edf5ff;
  --spark-text-soft: #a9b9ce;
  --spark-border: #263a55;
  --spark-border-strong: #46617f;
  --spark-accent: #38bdf8;
  --spark-accent-strong: #7dd3fc;
  --spark-accent-soft: #123c53;
  --spark-accent-contrast: #04121e;
  --spark-secondary: #a78bfa;
  --spark-secondary-soft: #2d2450;
  --spark-danger: #fb7185;
  --spark-warning: #fbbf24;
  --spark-shadow: 0 22px 58px rgba(0, 0, 0, 0.38);
  --spark-shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.28);
  --spark-grid: rgba(125, 211, 252, 0.055);
  --spark-glow-a: rgba(56, 189, 248, 0.15);
  --spark-glow-b: rgba(167, 139, 250, 0.12);
  --spark-user-start: #0f74bd;
  --spark-user-end: #1553a4;
}

:root[data-spark-theme="notebook"] {
  --spark-bg: #f7f1e6;
  --spark-bg-alt: #f0eadc;
  --spark-surface: rgba(255, 251, 242, 0.94);
  --spark-surface-solid: #fffaf0;
  --spark-surface-soft: #f3ead9;
  --spark-text: #2f342f;
  --spark-text-soft: #6d665d;
  --spark-border: #decfb8;
  --spark-border-strong: #b9a68b;
  --spark-accent: #a94f0c;
  --spark-accent-strong: #7f3b08;
  --spark-accent-soft: #f7dfca;
  --spark-accent-contrast: #ffffff;
  --spark-secondary: #28703a;
  --spark-secondary-soft: #dfeede;
  --spark-danger: #b33c42;
  --spark-warning: #9a5800;
  --spark-shadow: 0 18px 42px rgba(89, 67, 42, 0.16);
  --spark-shadow-soft: 0 8px 22px rgba(89, 67, 42, 0.12);
  --spark-grid: rgba(112, 79, 43, 0.055);
  --spark-glow-a: rgba(169, 79, 12, 0.12);
  --spark-glow-b: rgba(40, 112, 58, 0.12);
  --spark-user-start: #b65b17;
  --spark-user-end: #87400d;
}

:root[data-spark-theme="focus"] {
  --spark-bg: #ffffff;
  --spark-bg-alt: #f4f4f5;
  --spark-surface: #ffffff;
  --spark-surface-solid: #ffffff;
  --spark-surface-soft: #f1f5f9;
  --spark-text: #111827;
  --spark-text-soft: #374151;
  --spark-border: #64748b;
  --spark-border-strong: #111827;
  --spark-accent: #005fcc;
  --spark-accent-strong: #003f8f;
  --spark-accent-soft: #dbeafe;
  --spark-accent-contrast: #ffffff;
  --spark-secondary: #111827;
  --spark-secondary-soft: #e5e7eb;
  --spark-danger: #a4001b;
  --spark-warning: #854d0e;
  --spark-shadow: none;
  --spark-shadow-soft: none;
  --spark-grid: transparent;
  --spark-glow-a: transparent;
  --spark-glow-b: transparent;
  --spark-user-start: #005fcc;
  --spark-user-end: #004799;
}
