/* ==========================================================================
   Theme packs — appearance via [data-theme="..."] on <html> OR any .theme-scope section
   Sources: kit originals + ref_themes (!Template / !Template-CAFE)
   Default (no attr) = light blue — defined in tokens.css
   ========================================================================== */


/* --- soft --- */
[data-theme="soft"] {
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --surface-3: #e2e8f0;
  --line: #e2e8f0;
  --line-strong: #e2e8f0;
  --ink: #0f172a;
  --ink-2: #0f172a;
  --ink-3: #475569;
  --muted: #64748b;
  --inverse: #0f172a;
  --inverse-2: #1e293b;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #eff6ff;
  --brand-100: #dbeafe;
  --brand-300: #93c5fd;
  --brand-500: #3b82f6;
  --brand-600: #2563eb;
  --brand-700: #1d4ed8;
  --brand-rgb: 37, 99, 235;
  --ambient-1: #3b82f614;
  --atmo-glow: #2563eb14;
  --atmo-glow-soft: #93c5fd29;
}

/* --- sky --- */
[data-theme="sky"] {
  --bg: #f0f9ff;
  --surface: #ffffff;
  --surface-2: #e0f2fe;
  --surface-3: #bae6fd;
  --line: #bae6fd;
  --line-strong: #bae6fd;
  --ink: #0c4a6e;
  --ink-2: #0c4a6e;
  --ink-3: #0369a1;
  --muted: #0284c7;
  --inverse: #0c4a6e;
  --inverse-2: #075985;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #f0f9ff;
  --brand-100: #e0f2fe;
  --brand-300: #7dd3fc;
  --brand-500: #0ea5e9;
  --brand-600: #0284c7;
  --brand-700: #0369a1;
  --brand-rgb: 2, 132, 199;
  --ambient-1: #0ea5e914;
  --atmo-glow: #0284c729;
  --atmo-glow-soft: #7dd3fc33;
}

/* --- teal --- */
[data-theme="teal"] {
  --bg: #f0fdfa;
  --surface: #ffffff;
  --surface-2: #ccfbf1;
  --surface-3: #99f6e4;
  --line: #99f6e4;
  --line-strong: #99f6e4;
  --ink: #042f2e;
  --ink-2: #0f3f3c;
  --ink-3: #1a5c57;
  --muted: #0f766e;
  --inverse: #134e4a;
  --inverse-2: #115e59;
  --on-inverse: #ffffff;
  --on-inverse-muted: #99d5d0;
  --brand-50: #f0fdfa;
  --brand-100: #ccfbf1;
  --brand-300: #5eead4;
  --brand-500: #14b8a6;
  --brand-600: #0d9488;
  --brand-700: #0f766e;
  --brand-rgb: 13, 148, 136;
  --ambient-1: #14b8a614;
  --atmo-glow: #0d948829;
  --atmo-glow-soft: #5eead433;
}

/* --- mint --- */
[data-theme="mint"] {
  --bg: #f7fef9;
  --surface: #ffffff;
  --surface-2: #ecfdf3;
  --surface-3: #d1fae5;
  --line: #d1fae5;
  --line-strong: #d1fae5;
  --ink: #14532d;
  --ink-2: #14532d;
  --ink-3: #166534;
  --muted: #16a34a;
  --inverse: #14532d;
  --inverse-2: #166534;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #f0fdf4;
  --brand-100: #dcfce7;
  --brand-300: #86efac;
  --brand-500: #22c55e;
  --brand-600: #16a34a;
  --brand-700: #15803d;
  --brand-rgb: 22, 163, 74;
  --ambient-1: #22c55e14;
  --atmo-glow: #16a34a29;
  --atmo-glow-soft: #86efac33;
}

/* --- ocean --- */
[data-theme="ocean"] {
  --bg: #f5f8ff;
  --surface: #ffffff;
  --surface-2: #eef2ff;
  --surface-3: #e0e7ff;
  --line: #c7d2fe;
  --line-strong: #c7d2fe;
  --ink: #1e1b4b;
  --ink-2: #1e1b4b;
  --ink-3: #3730a3;
  --muted: #4f46e5;
  --inverse: #1e1b4b;
  --inverse-2: #312e81;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #eef2ff;
  --brand-100: #e0e7ff;
  --brand-300: #a5b4fc;
  --brand-500: #6366f1;
  --brand-600: #4f46e5;
  --brand-700: #4338ca;
  --brand-rgb: 79, 70, 229;
  --ambient-1: #6366f114;
  --atmo-glow: #4f46e529;
  --atmo-glow-soft: #a5b4fc33;
}

/* --- steel --- */
[data-theme="steel"] {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-2: #e8eef5;
  --surface-3: #d7e0ec;
  --line: #c5d0de;
  --line-strong: #c5d0de;
  --ink: #1e293b;
  --ink-2: #1e293b;
  --ink-3: #334155;
  --muted: #64748b;
  --inverse: #0f172a;
  --inverse-2: #1e293b;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #f1f5f9;
  --brand-100: #e2e8f0;
  --brand-300: #94a3b8;
  --brand-500: #64748b;
  --brand-600: #475569;
  --brand-700: #334155;
  --brand-rgb: 71, 85, 105;
  --ambient-1: #64748b14;
  --atmo-glow: #47556929;
  --atmo-glow-soft: #94a3b833;
}

/* --- forest --- */
[data-theme="forest"] {
  --bg: #f7faf7;
  --surface: #ffffff;
  --surface-2: #eef6f0;
  --surface-3: #dceee2;
  --line: #c5dfcc;
  --line-strong: #c5dfcc;
  --ink: #14261c;
  --ink-2: #14261c;
  --ink-3: #2f5a40;
  --muted: #4d7a5c;
  --inverse: #10231f;
  --inverse-2: #1a332c;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #ecfdf5;
  --brand-100: #d1fae5;
  --brand-300: #6ee7b7;
  --brand-500: #34d399;
  --brand-600: #059669;
  --brand-700: #047857;
  --brand-rgb: 5, 150, 105;
  --ambient-1: #05966914;
  --atmo-glow: #10b98129;
  --atmo-glow-soft: #6ee7b733;
}

/* --- vegan --- */
[data-theme="vegan"] {
  --bg: #f6fbf4;
  --surface: #ffffff;
  --surface-2: #e9f6e4;
  --surface-3: #d4edc8;
  --line: #bfe3ad;
  --line-strong: #bfe3ad;
  --ink: #1a3314;
  --ink-2: #1a3314;
  --ink-3: #3f6b2f;
  --muted: #4d8a38;
  --inverse: #14532d;
  --inverse-2: #166534;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #f0fdf4;
  --brand-100: #dcfce7;
  --brand-300: #86efac;
  --brand-500: #4ade80;
  --brand-600: #22c55e;
  --brand-700: #16a34a;
  --brand-rgb: 34, 197, 94;
  --ambient-1: #22c55e14;
  --atmo-glow: #16a34a29;
  --atmo-glow-soft: #86efac33;
}

/* --- fitness --- */
[data-theme="fitness"] {
  --bg: #f5fbf6;
  --surface: #ffffff;
  --surface-2: #e5f6ea;
  --surface-3: #cceed6;
  --line: #b3e4c0;
  --line-strong: #b3e4c0;
  --ink: #14301c;
  --ink-2: #14301c;
  --ink-3: #1f6b3a;
  --muted: #22a855;
  --inverse: #052e16;
  --inverse-2: #14532d;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #ecfdf5;
  --brand-100: #d1fae5;
  --brand-300: #6ee7b7;
  --brand-500: #34d399;
  --brand-600: #10b981;
  --brand-700: #059669;
  --brand-rgb: 16, 185, 129;
  --ambient-1: #10b98114;
  --atmo-glow: #05966929;
  --atmo-glow-soft: #6ee7b733;
}

/* --- ember --- */
[data-theme="ember"] {
  --bg: #fffaf5;
  --surface: #ffffff;
  --surface-2: #fff1e6;
  --surface-3: #ffe4cc;
  --line: #ffd4ad;
  --line-strong: #ffd4ad;
  --ink: #3b1d0c;
  --ink-2: #3b1d0c;
  --ink-3: #9a4a16;
  --muted: #c26620;
  --inverse: #431407;
  --inverse-2: #7c2d12;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #fff7ed;
  --brand-100: #ffedd5;
  --brand-300: #fdba74;
  --brand-500: #fb923c;
  --brand-600: #ea580c;
  --brand-700: #c2410c;
  --brand-rgb: 234, 88, 12;
  --ambient-1: #ea580c14;
  --atmo-glow: #f9731629;
  --atmo-glow-soft: #fdba7433;
}

/* --- coffee --- */
[data-theme="coffee"] {
  --bg: #fbf7f2;
  --surface: #ffffff;
  --surface-2: #f3ebe0;
  --surface-3: #e8d9c8;
  --line: #dcc9b3;
  --line-strong: #dcc9b3;
  --ink: #2c1c12;
  --ink-2: #2c1c12;
  --ink-3: #6b4423;
  --muted: #8b5e3c;
  --inverse: #1c120c;
  --inverse-2: #3b2416;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #faf5ef;
  --brand-100: #efe2d1;
  --brand-300: #c4a484;
  --brand-500: #a67c52;
  --brand-600: #8b5e3c;
  --brand-700: #6f4a2f;
  --brand-rgb: 139, 94, 60;
  --ambient-1: #8b5e3c14;
  --atmo-glow: #a67c5229;
  --atmo-glow-soft: #c4a48433;
}

/* --- pizza --- */
[data-theme="pizza"] {
  --bg: #fff8f3;
  --surface: #ffffff;
  --surface-2: #ffedd9;
  --surface-3: #ffd8b0;
  --line: #ffc48a;
  --line-strong: #ffc48a;
  --ink: #3b1408;
  --ink-2: #3b1408;
  --ink-3: #7c2d12;
  --muted: #b33a14;
  --inverse: #450a0a;
  --inverse-2: #7f1d1d;
  --on-inverse: #ffffff;
  --on-inverse-muted: #f5c4b8;
  --brand-50: #fff7ed;
  --brand-100: #ffedd5;
  --brand-300: #fdba74;
  --brand-500: #f97316;
  --brand-600: #dc2626;
  --brand-700: #b91c1c;
  --brand-rgb: 220, 38, 38;
  --ambient-1: #dc262614;
  --atmo-glow: #ea580c29;
  --atmo-glow-soft: #fdba7433;
}

/* --- blush --- */
[data-theme="blush"] {
  --bg: #fff7f8;
  --surface: #ffffff;
  --surface-2: #ffe8ec;
  --surface-3: #ffd1da;
  --line: #ffb6c4;
  --line-strong: #ffb6c4;
  --ink: #4a1522;
  --ink-2: #4a1522;
  --ink-3: #7a2940;
  --muted: #b84d63;
  --inverse: #4c0519;
  --inverse-2: #6b0f28;
  --on-inverse: #ffffff;
  --on-inverse-muted: #f5c2cc;
  --brand-50: #fff1f2;
  --brand-100: #ffe4e6;
  --brand-300: #fda4af;
  --brand-500: #fb7185;
  --brand-600: #e11d48;
  --brand-700: #be123c;
  --brand-rgb: 225, 29, 72;
  --ambient-1: #e11d4814;
  --atmo-glow: #fb718529;
  --atmo-glow-soft: #fda4af33;
  --font-display: "Fraunces", Georgia, serif;
}

/* --- rose --- */
[data-theme="rose"] {
  --bg: #fff5f7;
  --surface: #ffffff;
  --surface-2: #ffe4ea;
  --surface-3: #fecdd3;
  --line: #fda4af;
  --line-strong: #fda4af;
  --ink: #4c0519;
  --ink-2: #4c0519;
  --ink-3: #7f1235;
  --muted: #be123c;
  --inverse: #4c0519;
  --inverse-2: #6b0f28;
  --on-inverse: #ffffff;
  --on-inverse-muted: #f5c2cc;
  --brand-50: #fff1f2;
  --brand-100: #ffe4e6;
  --brand-300: #fda4af;
  --brand-500: #fb7185;
  --brand-600: #e11d48;
  --brand-700: #be123c;
  --brand-rgb: 225, 29, 72;
  --ambient-1: #e11d4814;
  --atmo-glow: #be123c29;
  --atmo-glow-soft: #fda4af33;
}

/* --- violet --- */
[data-theme="violet"] {
  --bg: #faf5ff;
  --surface: #ffffff;
  --surface-2: #f3e8ff;
  --surface-3: #e9d5ff;
  --line: #d8b4fe;
  --line-strong: #d8b4fe;
  --ink: #2e1065;
  --ink-2: #2e1065;
  --ink-3: #6b21a8;
  --muted: #7c3aed;
  --inverse: #2e1065;
  --inverse-2: #4c1d95;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #faf5ff;
  --brand-100: #f3e8ff;
  --brand-300: #c4b5fd;
  --brand-500: #a78bfa;
  --brand-600: #7c3aed;
  --brand-700: #6d28d9;
  --brand-rgb: 124, 58, 237;
  --ambient-1: #7c3aed14;
  --atmo-glow: #6d28d929;
  --atmo-glow-soft: #c4b5fd33;
}

/* --- sushi --- */
[data-theme="sushi"] {
  --bg: #f3fafb;
  --surface: #ffffff;
  --surface-2: #e0f4f6;
  --surface-3: #c5e8ec;
  --line: #a8dbe2;
  --line-strong: #a8dbe2;
  --ink: #042f2e;
  --ink-2: #0f3f3c;
  --ink-3: #1a5c57;
  --muted: #0f766e;
  --inverse: #042f2e;
  --inverse-2: #134e4a;
  --on-inverse: #ffffff;
  --on-inverse-muted: #99d5d0;
  --brand-50: #f0fdfa;
  --brand-100: #ccfbf1;
  --brand-300: #5eead4;
  --brand-500: #2dd4bf;
  --brand-600: #0f766e;
  --brand-700: #115e59;
  --brand-rgb: 15, 118, 110;
  --ambient-1: #14b8a614;
  --atmo-glow: #0f766e29;
  --atmo-glow-soft: #5eead433;
}

/* --- kids --- */
[data-theme="kids"] {
  --bg: #fffbeb;
  --surface: #ffffff;
  --surface-2: #fef3c7;
  --surface-3: #fde68a;
  --line: #fcd34d;
  --line-strong: #fcd34d;
  --ink: #451a03;
  --ink-2: #451a03;
  --ink-3: #c2410c;
  --muted: #ea580c;
  --inverse: #1e3a5f;
  --inverse-2: #1e40af;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #fff7ed;
  --brand-100: #ffedd5;
  --brand-300: #fdba74;
  --brand-500: #fb923c;
  --brand-600: #f43f5e;
  --brand-700: #e11d48;
  --brand-rgb: 244, 63, 94;
  --ambient-1: #f43f5e14;
  --atmo-glow: #fb923c29;
  --atmo-glow-soft: #7dd3fc33;
}

/* --- warm --- */
[data-theme="warm"] {
  --bg: #fbf8f3;
  --surface: #ffffff;
  --surface-2: #f5efe6;
  --surface-3: #ebe1d2;
  --line: #e5d9c8;
  --line-strong: #e5d9c8;
  --ink: #1c1612;
  --ink-2: #1c1612;
  --ink-3: #5c4f42;
  --muted: #8a7b6c;
  --inverse: #171014;
  --inverse-2: #2a211c;
  --on-inverse: #f7f1ea;
  --on-inverse-muted: #c7b8b4;
  --brand-50: #faf6ef;
  --brand-100: #f0e4cc;
  --brand-300: #e0c07a;
  --brand-500: #c9a227;
  --brand-600: #b99245;
  --brand-700: #8a6b2e;
  --brand-rgb: 185, 146, 69;
  --ambient-1: #b9924514;
  --atmo-glow: #b9924529;
  --atmo-glow-soft: #e0c07a33;
  --font-display: "Fraunces", "Libre Baskerville", Georgia, serif;
}

/* --- emerald --- */
[data-theme="emerald"] {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f4faf7;
  --surface-3: #e8f5ef;
  --line: #d5e8de;
  --line-strong: #d5e8de;
  --ink: #0f1f18;
  --ink-2: #0f1f18;
  --ink-3: #3d5a4c;
  --muted: #5f7a6c;
  --inverse: #10231f;
  --inverse-2: #1a332c;
  --on-inverse: #ffffff;
  --on-inverse-muted: #cbd5e1;
  --brand-50: #ecfdf5;
  --brand-100: #d1fae5;
  --brand-300: #6ee7b7;
  --brand-500: #10b981;
  --brand-600: #00985f;
  --brand-700: #047857;
  --brand-rgb: 0, 152, 95;
  --ambient-1: #00985f14;
  --atmo-glow: #10b98129;
  --atmo-glow-soft: #6ee7b733;
}

/* --- dark --- */
[data-theme="dark"] {
  --bg: #090f1d;
  --surface: #101a2d;
  --surface-2: #16233a;
  --surface-3: #1d2b44;
  --line: #263650;
  --line-strong: #263650;
  --ink: #f4f7fb;
  --ink-2: #f4f7fb;
  --ink-3: #8494aa;
  --muted: #8494aa;
  --inverse: #090f1d;
  --inverse-2: #16233a;
  --on-inverse: #f4f7fb;
  --on-inverse-muted: #8494aa;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #132033;
  --brand-100: #1a2b44;
  --brand-300: #7dd3fc;
  --brand-500: #38bdf8;
  --brand-600: #3b82f6;
  --brand-700: #60a5fa;
  --brand-rgb: 59, 130, 246;
  --brand-hover: #2563eb;
  --ambient-1: #3b82f629;
  --atmo-glow: #3b82f629;
  --atmo-glow-soft: #2563eb1f;
}

[data-theme="dark"] body,
[data-theme="dark"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- noir --- */
[data-theme="noir"] {
  --bg: #141418;
  --surface: #1c1c22;
  --surface-2: #24242c;
  --surface-3: #2c2c36;
  --line: #3a3a46;
  --line-strong: #3a3a46;
  --ink: #f4f4f5;
  --ink-2: #f4f4f5;
  --ink-3: #a1a1aa;
  --muted: #a1a1aa;
  --inverse: #141418;
  --inverse-2: #24242c;
  --on-inverse: #f4f4f5;
  --on-inverse-muted: #a1a1aa;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #27272a;
  --brand-100: #3f3f46;
  --brand-300: #d4d4d8;
  --brand-500: #e4e4e7;
  --brand-600: #a1a1aa;
  --brand-700: #fafafa;
  --brand-rgb: 161, 161, 170;
  --on-brand: #0f172a;
  /* Hover: slightly lighter gray — keep contrast with dark on-brand (not pure white) */
  --brand-hover: #d4d4d8;
  --ambient-1: #a1a1aa14;
  --atmo-glow: #e4e4e722;
  --atmo-glow-soft: #ffffff14;
}

[data-theme="noir"] body,
[data-theme="noir"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- carbon --- */
[data-theme="carbon"] {
  --bg: #12161e;
  --surface: #1a2030;
  --surface-2: #222a3c;
  --surface-3: #2a3448;
  --line: #3a455c;
  --line-strong: #3a455c;
  --ink: #e8eef8;
  --ink-2: #e8eef8;
  --ink-3: #8b9bb3;
  --muted: #8b9bb3;
  --inverse: #12161e;
  --inverse-2: #222a3c;
  --on-inverse: #e8eef8;
  --on-inverse-muted: #8b9bb3;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #1e293b;
  --brand-100: #334155;
  --brand-300: #94a3b8;
  --brand-500: #cbd5e1;
  --brand-600: #64748b;
  --brand-700: #e2e8f0;
  --brand-rgb: 100, 116, 139;
  --on-brand: #0f172a;
  --brand-hover: #94a3b8;
  --ambient-1: #64748b22;
  --atmo-glow: #94a3b829;
  --atmo-glow-soft: #38bdf822;
}

[data-theme="carbon"] body,
[data-theme="carbon"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- midnight --- */
[data-theme="midnight"] {
  --bg: #0c1024;
  --surface: #141a38;
  --surface-2: #1c2448;
  --surface-3: #243058;
  --line: #2e3a6a;
  --line-strong: #2e3a6a;
  --ink: #eef0ff;
  --ink-2: #eef0ff;
  --ink-3: #a5b0e0;
  --muted: #a5b0e0;
  --inverse: #0c1024;
  --inverse-2: #1c2448;
  --on-inverse: #eef0ff;
  --on-inverse-muted: #a5b0e0;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #1e1b4b;
  --brand-100: #312e81;
  --brand-300: #a5b4fc;
  --brand-500: #818cf8;
  --brand-600: #6366f1;
  --brand-700: #4f46e5;
  --brand-rgb: 99, 102, 241;
  --ambient-1: #6366f129;
  --atmo-glow: #818cf833;
  --atmo-glow-soft: #c4b5fd22;
}

[data-theme="midnight"] body,
[data-theme="midnight"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- lifestyle --- */
[data-theme="lifestyle"] {
  --bg: #0b1120;
  --surface: #131c31;
  --surface-2: #0f172a;
  --surface-3: #1e293b;
  --line: #1e293b;
  --line-strong: #1e293b;
  --ink: #f1f5f9;
  --ink-2: #f1f5f9;
  --ink-3: #94a3b8;
  --muted: #94a3b8;
  --inverse: #0b1120;
  --inverse-2: #0f172a;
  --on-inverse: #f1f5f9;
  --on-inverse-muted: #94a3b8;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #1a2438;
  --brand-100: #243044;
  --brand-300: #93c5fd;
  --brand-500: #60a5fa;
  --brand-600: #3b82f6;
  --brand-700: #93c5fd;
  --brand-rgb: 59, 130, 246;
  --brand-hover: #2563eb;
  --ambient-1: #3b82f624;
  --atmo-glow: #3b82f633;
  --atmo-glow-soft: #60a5fa22;
  --font-display: "Fraunces", Georgia, serif;
}

[data-theme="lifestyle"] body,
[data-theme="lifestyle"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- crimson-dark --- */
[data-theme="crimson-dark"] {
  --bg: #14080a;
  --surface: #1e0e12;
  --surface-2: #2a1218;
  --surface-3: #361820;
  --line: #4a2028;
  --line-strong: #4a2028;
  --ink: #fff5f5;
  --ink-2: #fff5f5;
  --ink-3: #d4a0a8;
  --muted: #d4a0a8;
  --inverse: #14080a;
  --inverse-2: #2a1218;
  --on-inverse: #fff5f5;
  --on-inverse-muted: #d4a0a8;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #3f0a12;
  --brand-100: #7f1d1d;
  --brand-300: #fca5a5;
  --brand-500: #f87171;
  --brand-600: #ef4444;
  --brand-700: #dc2626;
  --brand-rgb: 239, 68, 68;
  --ambient-1: #ef444429;
  --atmo-glow: #dc262633;
  --atmo-glow-soft: #f8717133;
}

[data-theme="crimson-dark"] body,
[data-theme="crimson-dark"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- ember-dark --- */
[data-theme="ember-dark"] {
  --bg: #140c08;
  --surface: #1e1410;
  --surface-2: #2a1c14;
  --surface-3: #362418;
  --line: #4a3020;
  --line-strong: #4a3020;
  --ink: #fff7ed;
  --ink-2: #fff7ed;
  --ink-3: #d4b8a0;
  --muted: #d4b8a0;
  --inverse: #140c08;
  --inverse-2: #2a1c14;
  --on-inverse: #fff7ed;
  --on-inverse-muted: #d4b8a0;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #431407;
  --brand-100: #7c2d12;
  --brand-300: #fdba74;
  --brand-500: #fb923c;
  --brand-600: #f97316;
  --brand-700: #ea580c;
  --brand-rgb: 249, 115, 22;
  --ambient-1: #f9731629;
  --atmo-glow: #ea580c33;
  --atmo-glow-soft: #fdba7433;
}

[data-theme="ember-dark"] body,
[data-theme="ember-dark"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- volt-dark --- */
[data-theme="volt-dark"] {
  --bg: #0a140c;
  --surface: #101c12;
  --surface-2: #162818;
  --surface-3: #1c3420;
  --line: #284828;
  --line-strong: #284828;
  --ink: #f0fdf4;
  --ink-2: #f0fdf4;
  --ink-3: #86c99a;
  --muted: #86c99a;
  --inverse: #0a140c;
  --inverse-2: #162818;
  --on-inverse: #f0fdf4;
  --on-inverse-muted: #86c99a;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #14532d;
  --brand-100: #166534;
  --brand-300: #bef264;
  --brand-500: #a3e635;
  --brand-600: #84cc16;
  --brand-700: #65a30d;
  --brand-rgb: 132, 204, 22;
  --on-brand: #0f172a;
  --ambient-1: #84cc1629;
  --atmo-glow: #a3e63533;
  --atmo-glow-soft: #bef26433;
}

[data-theme="volt-dark"] body,
[data-theme="volt-dark"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- safety --- */
[data-theme="safety"] {
  --bg: #14140a;
  --surface: #1e1e10;
  --surface-2: #2a2a14;
  --surface-3: #363618;
  --line: #4a4a20;
  --line-strong: #4a4a20;
  --ink: #fefce8;
  --ink-2: #fefce8;
  --ink-3: #d4d090;
  --muted: #d4d090;
  --inverse: #14140a;
  --inverse-2: #2a2a14;
  --on-inverse: #fefce8;
  --on-inverse-muted: #d4d090;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #422006;
  --brand-100: #713f12;
  --brand-300: #fde047;
  --brand-500: #facc15;
  --brand-600: #eab308;
  --brand-700: #ca8a04;
  --brand-rgb: 234, 179, 8;
  --on-brand: #0f172a;
  --ambient-1: #eab30829;
  --atmo-glow: #facc1533;
  --atmo-glow-soft: #fde04733;
}

[data-theme="safety"] body,
[data-theme="safety"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- garage --- */
[data-theme="garage"] {
  --bg: #14110a;
  --surface: #1e1a10;
  --surface-2: #2a2414;
  --surface-3: #362e18;
  --line: #4a3e20;
  --line-strong: #4a3e20;
  --ink: #fffbeb;
  --ink-2: #fffbeb;
  --ink-3: #d4c090;
  --muted: #d4c090;
  --inverse: #14110a;
  --inverse-2: #2a2414;
  --on-inverse: #fffbeb;
  --on-inverse-muted: #d4c090;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #451a03;
  --brand-100: #78350f;
  --brand-300: #fcd34d;
  --brand-500: #fbbf24;
  --brand-600: #f59e0b;
  --brand-700: #d97706;
  --brand-rgb: 245, 158, 11;
  --ambient-1: #f59e0b29;
  --atmo-glow: #fbbf2433;
  --atmo-glow-soft: #fcd34d33;
}

[data-theme="garage"] body,
[data-theme="garage"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}

/* --- copper --- */
[data-theme="copper"] {
  --bg: #16100c;
  --surface: #221812;
  --surface-2: #2e2018;
  --surface-3: #3a2820;
  --line: #4e3628;
  --line-strong: #4e3628;
  --ink: #fdf4ef;
  --ink-2: #fdf4ef;
  --ink-3: #d4b0a0;
  --muted: #d4b0a0;
  --inverse: #16100c;
  --inverse-2: #2e2018;
  --on-inverse: #fdf4ef;
  --on-inverse-muted: #d4b0a0;
  --shadow-sm: 0 4px 12px -6px rgba(0,0,0,.35);
  --shadow-md: 0 12px 24px -12px rgba(0,0,0,.45);
  --shadow-lg: 0 20px 35px -15px rgba(0,0,0,.55);
  --brand-50: #431407;
  --brand-100: #7c2d12;
  --brand-300: #fdba74;
  --brand-500: #eab308;
  --brand-600: #d97706;
  --brand-700: #b45309;
  --brand-rgb: 217, 119, 6;
  --ambient-1: #d9770629;
  --atmo-glow: #ea580c33;
  --atmo-glow-soft: #fdba7433;
}

[data-theme="copper"] body,
[data-theme="copper"].theme-scope {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, var(--atmo-glow), transparent 60%);
  background-attachment: fixed;
}
