/**
 * Optional premium / preview colour packs.
 * See assets/theme-stylepack.js + Settings → Colour pack.
 * Overrides accent stack, surfaces, borders, and weekly award neutrals so Awards tab boxes match each palette.
 */

/* ═══ Shared: weekly “shield neutral” chrome (Spoon / Fraud / non–golden rows) ═══ */

/* ── Ocean — teal / sea glass ───────────────────────────────── */
html[data-stylepack="ocean"][data-theme="light"] {
  --color-accent: #0d9488;
  --color-accent-light: #ccfbf1;
  --color-accent-border: #6bb8b0;
  --color-accent-dark: #0f766e;
  --color-accent-deep: #115e59;
  --color-accent-soft: #f0fdfa;
  --color-accent-shell: #e6fffa;
  --color-accent-chrome: #ccfbf1;
  --color-accent-divider: #99f6e4;
  --color-accent-muted: #2dd4bf;
  --color-accent-ink: #134e4a;
  --color-accent-hover-fill: #ccfbf1;
  --color-input-border-accent: #7dd3c9;
  --color-focus-ring: #14b8a6;
  --color-bg: color-mix(in srgb, var(--color-accent-soft) 16%, #f0fdf9 84%);
  --color-surface: #f7fdfc;
  --color-surface-2: #e8faf7;
  --color-border: color-mix(in srgb, #0d9488 14%, #d4d4cd 86%);
  --color-border-2: color-mix(in srgb, #0d9488 18%, #b9b9b0 82%);
  --weekly-shield-neutral-faint: #e0f5f2;
  --weekly-shield-neutral-text: #5a8f89;
  --weekly-shield-neutral-strong: #2d6a65;
  --weekly-shield-neutral-accent: #3db8aa;
  --weekly-shield-neutral-deep: #0f766e;
}

html[data-stylepack="ocean"][data-theme="dark"] {
  --color-accent: #2dd4bf;
  --color-accent-light: rgba(45, 212, 191, 0.18);
  --color-accent-border: #0f766e;
  --color-accent-dark: #5eead4;
  --color-accent-deep: #99f6e4;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 20%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 50%, var(--color-border-2));
  --color-accent-ink: var(--color-accent);
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
  --color-focus-ring: color-mix(in srgb, var(--color-accent) 70%, #ffffff 30%);
  --color-surface: #141f1e;
  --color-surface-2: #1a2a28;
  --weekly-shield-neutral-faint: #1e2e2c;
  --weekly-shield-neutral-text: #7a9e98;
  --weekly-shield-neutral-strong: #5eead4;
  --weekly-shield-neutral-accent: #2dd4bf;
  --weekly-shield-neutral-deep: #99f6e4;
}

/* ── Ember — violet ─────────────────────────────────────────── */
html[data-stylepack="ember"][data-theme="light"] {
  --color-accent: #7c3aed;
  --color-accent-light: #ede9fe;
  --color-accent-border: #a78bfa;
  --color-accent-dark: #6d28d9;
  --color-accent-deep: #5b21b6;
  --color-accent-soft: #faf5ff;
  --color-accent-shell: #f3e8ff;
  --color-accent-chrome: #e9d5ff;
  --color-accent-divider: #ddd6fe;
  --color-accent-muted: #a78bfa;
  --color-accent-ink: #4c1d95;
  --color-accent-hover-fill: #ede9fe;
  --color-input-border-accent: #c4b5fd;
  --color-focus-ring: #8b5cf6;
  --color-bg: color-mix(in srgb, var(--color-accent-soft) 14%, #fafafa 86%);
  --color-surface: #fdfbff;
  --color-surface-2: #f3edff;
  --color-border: color-mix(in srgb, #7c3aed 12%, #d4d4cd 88%);
  --color-border-2: color-mix(in srgb, #7c3aed 16%, #b9b9b0 84%);
  --weekly-shield-neutral-faint: #f0e8ff;
  --weekly-shield-neutral-text: #8b87a8;
  --weekly-shield-neutral-strong: #6d28d9;
  --weekly-shield-neutral-accent: #a78bfa;
  --weekly-shield-neutral-deep: #5b21b6;
}

html[data-stylepack="ember"][data-theme="dark"] {
  --color-accent: #a78bfa;
  --color-accent-light: rgba(167, 139, 250, 0.2);
  --color-accent-border: #5b21b6;
  --color-accent-dark: #c4b5fd;
  --color-accent-deep: #ddd6fe;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 11%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 15%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 18%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 48%, var(--color-border-2));
  --color-accent-ink: var(--color-accent);
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
  --color-focus-ring: color-mix(in srgb, var(--color-accent) 72%, #ffffff 28%);
  --color-surface: #1a1625;
  --color-surface-2: #221d30;
  --weekly-shield-neutral-faint: #252030;
  --weekly-shield-neutral-text: #9b92b8;
  --weekly-shield-neutral-strong: #c4b5fd;
  --weekly-shield-neutral-accent: #a78bfa;
  --weekly-shield-neutral-deep: #ddd6fe;
}

/* ── Forest — deep emerald ──────────────────────────────────── */
html[data-stylepack="forest"][data-theme="light"] {
  --color-accent: #047857;
  --color-accent-light: #d1fae5;
  --color-accent-border: #5a9e86;
  --color-accent-dark: #065f46;
  --color-accent-deep: #064e3b;
  --color-accent-soft: #ecfdf5;
  --color-accent-shell: #d1fae5;
  --color-accent-chrome: #a7f3d0;
  --color-accent-divider: #6ee7b7;
  --color-accent-muted: #34d399;
  --color-accent-ink: #064e3b;
  --color-accent-hover-fill: #d1fae5;
  --color-input-border-accent: #6ee7b7;
  --color-focus-ring: #10b981;
  --color-bg: color-mix(in srgb, var(--color-accent-soft) 15%, #f4fdf9 85%);
  --color-surface: #f7fdf9;
  --color-surface-2: #e6faf0;
  --color-border: color-mix(in srgb, #047857 13%, #d4d4cd 87%);
  --color-border-2: color-mix(in srgb, #047857 17%, #b9b9b0 83%);
  --weekly-shield-neutral-faint: #dff7ea;
  --weekly-shield-neutral-text: #4a7c6f;
  --weekly-shield-neutral-strong: #047857;
  --weekly-shield-neutral-accent: #34d399;
  --weekly-shield-neutral-deep: #065f46;
}

html[data-stylepack="forest"][data-theme="dark"] {
  --color-accent: #34d399;
  --color-accent-light: rgba(52, 211, 153, 0.18);
  --color-accent-border: #065f46;
  --color-accent-dark: #6ee7b7;
  --color-accent-deep: #a7f3d0;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 20%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 50%, var(--color-border-2));
  --color-accent-ink: var(--color-accent);
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
  --color-focus-ring: color-mix(in srgb, var(--color-accent) 70%, #ffffff 30%);
  --color-surface: #131c18;
  --color-surface-2: #1a2822;
  --weekly-shield-neutral-faint: #1e2a25;
  --weekly-shield-neutral-text: #7a9e90;
  --weekly-shield-neutral-strong: #6ee7b7;
  --weekly-shield-neutral-accent: #34d399;
  --weekly-shield-neutral-deep: #a7f3d0;
}

/* ── Rose — warm rose / coral ───────────────────────────────── */
html[data-stylepack="rose"][data-theme="light"] {
  --color-accent: #db2777;
  --color-accent-light: #fce7f3;
  --color-accent-border: #e891b8;
  --color-accent-dark: #be185d;
  --color-accent-deep: #9d174d;
  --color-accent-soft: #fdf2f8;
  --color-accent-shell: #fce7f3;
  --color-accent-chrome: #fbcfe8;
  --color-accent-divider: #f9a8d4;
  --color-accent-muted: #f472b6;
  --color-accent-ink: #831843;
  --color-accent-hover-fill: #fce7f3;
  --color-input-border-accent: #f9a8d4;
  --color-focus-ring: #ec4899;
  --color-bg: color-mix(in srgb, var(--color-accent-soft) 14%, #fffafb 86%);
  --color-surface: #fffafc;
  --color-surface-2: #fce8f2;
  --color-border: color-mix(in srgb, #db2777 11%, #d4d4cd 89%);
  --color-border-2: color-mix(in srgb, #db2777 15%, #b9b9b0 85%);
  --weekly-shield-neutral-faint: #fde8f2;
  --weekly-shield-neutral-text: #a67a8f;
  --weekly-shield-neutral-strong: #be185d;
  --weekly-shield-neutral-accent: #f472b6;
  --weekly-shield-neutral-deep: #9d174d;
}

html[data-stylepack="rose"][data-theme="dark"] {
  --color-accent: #f472b6;
  --color-accent-light: rgba(244, 114, 182, 0.2);
  --color-accent-border: #9d174d;
  --color-accent-dark: #fbcfe8;
  --color-accent-deep: #fce7f3;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 11%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 15%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 18%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 48%, var(--color-border-2));
  --color-accent-ink: var(--color-accent);
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
  --color-focus-ring: color-mix(in srgb, var(--color-accent) 72%, #ffffff 28%);
  --color-surface: #1f1419;
  --color-surface-2: #2a1a22;
  --weekly-shield-neutral-faint: #2a1e24;
  --weekly-shield-neutral-text: #b898a8;
  --weekly-shield-neutral-strong: #fbcfe8;
  --weekly-shield-neutral-accent: #f472b6;
  --weekly-shield-neutral-deep: #fce7f3;
}

/* ── Slate — steel blue / professional ──────────────────────── */
html[data-stylepack="slate"][data-theme="light"] {
  --color-accent: #0369a1;
  --color-accent-light: #e0f2fe;
  --color-accent-border: #6b9fc4;
  --color-accent-dark: #075985;
  --color-accent-deep: #0c4a6e;
  --color-accent-soft: #f0f9ff;
  --color-accent-shell: #e0f2fe;
  --color-accent-chrome: #bae6fd;
  --color-accent-divider: #7dd3fc;
  --color-accent-muted: #38bdf8;
  --color-accent-ink: #0c4a6e;
  --color-accent-hover-fill: #e0f2fe;
  --color-input-border-accent: #7dd3fc;
  --color-focus-ring: #0ea5e9;
  --color-bg: color-mix(in srgb, var(--color-accent-soft) 13%, #f8fafc 87%);
  --color-surface: #f8fbff;
  --color-surface-2: #e8f4fc;
  --color-border: color-mix(in srgb, #0369a1 12%, #d4d4cd 88%);
  --color-border-2: color-mix(in srgb, #0369a1 16%, #b9b9b0 84%);
  --weekly-shield-neutral-faint: #e4eef5;
  --weekly-shield-neutral-text: #647c8f;
  --weekly-shield-neutral-strong: #475569;
  --weekly-shield-neutral-accent: #38bdf8;
  --weekly-shield-neutral-deep: #0369a1;
}

html[data-stylepack="slate"][data-theme="dark"] {
  --color-accent: #38bdf8;
  --color-accent-light: rgba(56, 189, 248, 0.18);
  --color-accent-border: #0369a1;
  --color-accent-dark: #7dd3fc;
  --color-accent-deep: #bae6fd;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 11%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 15%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 18%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 48%, var(--color-border-2));
  --color-accent-ink: var(--color-accent);
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
  --color-focus-ring: color-mix(in srgb, var(--color-accent) 72%, #ffffff 28%);
  --color-surface: #141a1f;
  --color-surface-2: #1c252e;
  --weekly-shield-neutral-faint: #1e2830;
  --weekly-shield-neutral-text: #8a9fb0;
  --weekly-shield-neutral-strong: #94a3b8;
  --weekly-shield-neutral-accent: #38bdf8;
  --weekly-shield-neutral-deep: #7dd3fc;
}

/* ── Paper — warm cream canvas, indigo accent (editorial / print) ─ */
html[data-stylepack="paper"][data-theme="light"] {
  --color-accent: #4f46e5;
  --color-accent-light: #eef2ff;
  --color-accent-border: #a5b4fc;
  --color-accent-dark: #4338ca;
  --color-accent-deep: #3730a3;
  --color-accent-soft: #f5f3ff;
  --color-accent-shell: #ede9fe;
  --color-accent-chrome: #e0e7ff;
  --color-accent-divider: #c7d2fe;
  --color-accent-muted: #818cf8;
  --color-accent-ink: #312e81;
  --color-accent-hover-fill: #e0e7ff;
  --color-input-border-accent: #a5b4fc;
  --color-focus-ring: #6366f1;
  --color-bg: #faf8f5;
  --color-surface: #fffcf7;
  --color-surface-2: #f4f0e9;
  --color-border: #e7e2d9;
  --color-border-2: #d6d0c4;
  --color-text-primary: #1c1917;
  --color-text-secondary: #57534e;
  --color-text-muted: #78716c;
  --weekly-shield-neutral-faint: #f5f0e8;
  --weekly-shield-neutral-text: #78716c;
  --weekly-shield-neutral-strong: #44403c;
  --weekly-shield-neutral-accent: #a8a29e;
  --weekly-shield-neutral-deep: #57534e;
}

html[data-stylepack="paper"][data-theme="dark"] {
  --color-accent: #818cf8;
  --color-accent-light: rgba(129, 140, 248, 0.18);
  --color-accent-border: #4338ca;
  --color-accent-dark: #c7d2fe;
  --color-accent-deep: #e0e7ff;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 20%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 50%, var(--color-border-2));
  --color-accent-ink: var(--color-accent);
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
  --color-focus-ring: color-mix(in srgb, var(--color-accent) 70%, #ffffff 30%);
  --color-surface: #1c1917;
  --color-surface-2: #292524;
  --weekly-shield-neutral-faint: #292524;
  --weekly-shield-neutral-text: #a8a29e;
  --weekly-shield-neutral-strong: #d6d3d1;
  --weekly-shield-neutral-accent: #818cf8;
  --weekly-shield-neutral-deep: #c7d2fe;
}

/* ── Dawn — soft amber / sunrise (warm light) ──────────────── */
html[data-stylepack="dawn"][data-theme="light"] {
  --color-accent: #c2410c;
  --color-accent-light: #ffedd5;
  --color-accent-border: #fdba74;
  --color-accent-dark: #9a3412;
  --color-accent-deep: #7c2d12;
  --color-accent-soft: #fffbeb;
  --color-accent-shell: #fef3c7;
  --color-accent-chrome: #fde68a;
  --color-accent-divider: #fcd34d;
  --color-accent-muted: #fb923c;
  --color-accent-ink: #7c2d12;
  --color-accent-hover-fill: #ffedd5;
  --color-input-border-accent: #fdba74;
  --color-focus-ring: #f97316;
  --color-bg: #fffbeb;
  --color-surface: #fffefb;
  --color-surface-2: #fef3c7;
  --color-border: color-mix(in srgb, #f59e0b 22%, #e7e5e4 78%);
  --color-border-2: color-mix(in srgb, #d97706 18%, #d6d3d1 82%);
  --color-text-primary: #1c1917;
  --color-text-secondary: #57534e;
  --color-text-muted: #78716c;
  --weekly-shield-neutral-faint: #fff7ed;
  --weekly-shield-neutral-text: #a8a29e;
  --weekly-shield-neutral-strong: #57534e;
  --weekly-shield-neutral-accent: #fb923c;
  --weekly-shield-neutral-deep: #c2410c;
}

html[data-stylepack="dawn"][data-theme="dark"] {
  --color-accent: #fb923c;
  --color-accent-light: rgba(251, 146, 60, 0.18);
  --color-accent-border: #9a3412;
  --color-accent-dark: #fed7aa;
  --color-accent-deep: #ffedd5;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 20%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 50%, var(--color-border-2));
  --color-accent-ink: var(--color-accent);
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
  --color-focus-ring: color-mix(in srgb, var(--color-accent) 70%, #ffffff 30%);
  --color-surface: #1c1410;
  --color-surface-2: #292018;
  --weekly-shield-neutral-faint: #292018;
  --weekly-shield-neutral-text: #a8a29e;
  --weekly-shield-neutral-strong: #fdba74;
  --weekly-shield-neutral-accent: #fb923c;
  --weekly-shield-neutral-deep: #ffedd5;
}

/* ── Mist — airy cyan-grey minimal ─────────────────────────── */
html[data-stylepack="mist"][data-theme="light"] {
  --color-accent: #0e7490;
  --color-accent-light: #ecfeff;
  --color-accent-border: #67e8f9;
  --color-accent-dark: #0e7490;
  --color-accent-deep: #155e75;
  --color-accent-soft: #f0fdfa;
  --color-accent-shell: #ccfbf1;
  --color-accent-chrome: #99f6e4;
  --color-accent-divider: #5eead4;
  --color-accent-muted: #22d3ee;
  --color-accent-ink: #164e63;
  --color-accent-hover-fill: #cffafe;
  --color-input-border-accent: #67e8f9;
  --color-focus-ring: #06b6d4;
  --color-bg: #f8fafc;
  --color-surface: #ffffff;
  --color-surface-2: #f1f5f9;
  --color-border: #e2e8f0;
  --color-border-2: #cbd5e1;
  --color-text-primary: #0f172a;
  --color-text-secondary: #475569;
  --color-text-muted: #64748b;
  --weekly-shield-neutral-faint: #f1f5f9;
  --weekly-shield-neutral-text: #64748b;
  --weekly-shield-neutral-strong: #475569;
  --weekly-shield-neutral-accent: #22d3ee;
  --weekly-shield-neutral-deep: #0e7490;
}

html[data-stylepack="mist"][data-theme="dark"] {
  --color-accent: #22d3ee;
  --color-accent-light: rgba(34, 211, 238, 0.16);
  --color-accent-border: #155e75;
  --color-accent-dark: #a5f3fc;
  --color-accent-deep: #cffafe;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 11%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 15%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 18%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 48%, var(--color-border-2));
  --color-accent-ink: var(--color-accent);
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
  --color-focus-ring: color-mix(in srgb, var(--color-accent) 72%, #ffffff 28%);
  --color-surface: #0f172a;
  --color-surface-2: #1e293b;
  --weekly-shield-neutral-faint: #1e293b;
  --weekly-shield-neutral-text: #94a3b8;
  --weekly-shield-neutral-strong: #cbd5e1;
  --weekly-shield-neutral-accent: #22d3ee;
  --weekly-shield-neutral-deep: #a5f3fc;
}

/* ── Neon pitch (Rivals) — charcoal + lime (matches guest preview brand stack) ── */
html[data-stylepack="neon"][data-theme="light"] {
  --color-accent: #7bc83a;
  --color-accent-light: rgba(151, 251, 87, 0.22);
  --color-accent-border: #b8e86b;
  --color-accent-dark: #5a9e24;
  --color-accent-deep: #3d6d18;
  --color-accent-soft: #f4fdf0;
  --color-accent-shell: #e8fce0;
  --color-accent-chrome: #ddf9d0;
  --color-accent-divider: #c9f5a8;
  --color-accent-muted: #97fb57;
  --color-accent-ink: #1a2e0d;
  --color-accent-hover-fill: #e8fce0;
  --color-input-border-accent: #b8e86b;
  --color-focus-ring: #97fb57;
  --color-bg: #f6f2f2;
  --color-surface: #ffffff;
  --color-surface-2: #eef2ea;
  --color-border: #e2e2e0;
  --color-border-2: #cfcfcd;
  --color-text-primary: #121212;
  --color-text-secondary: #525252;
  --color-text-muted: #737373;
  --btn-solid-fg: #121212;
  --weekly-shield-neutral-faint: #eef2ea;
  --weekly-shield-neutral-text: #737373;
  --weekly-shield-neutral-strong: #525252;
  --weekly-shield-neutral-accent: #97fb57;
  --weekly-shield-neutral-deep: #3d5218;
}

html[data-stylepack="neon"][data-theme="dark"] {
  --color-accent: #97fb57;
  --color-accent-light: rgba(151, 251, 87, 0.16);
  --color-accent-border: color-mix(in srgb, #97fb57 32%, #2a2a2a);
  --color-accent-dark: #7de040;
  --color-accent-deep: #b8e86b;
  --color-accent-soft: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));
  --color-accent-shell: color-mix(in srgb, var(--color-accent) 11%, var(--color-surface-2));
  --color-accent-chrome: color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
  --color-accent-divider: color-mix(in srgb, var(--color-accent) 20%, var(--color-border));
  --color-accent-muted: color-mix(in srgb, var(--color-accent) 50%, var(--color-border-2));
  --color-accent-ink: #121212;
  --color-accent-hover-fill: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));
  --color-input-border-accent: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
  --color-focus-ring: #97fb57;
  --color-bg: #121212;
  --color-surface: #1a1a1a;
  --color-surface-2: #1f1f1f;
  --color-border: #2a2a2a;
  --color-border-2: #363636;
  --color-text-primary: #f6f2f2;
  --color-text-secondary: #909090;
  --color-text-muted: #909090;
  --btn-solid-fg: #121212;
  --color-success: #97fb57;
  --color-success-light: rgba(151, 251, 87, 0.14);
  --weekly-shield-neutral-faint: #1f1f1f;
  --weekly-shield-neutral-text: #909090;
  --weekly-shield-neutral-strong: #b8e86b;
  --weekly-shield-neutral-accent: #97fb57;
  --weekly-shield-neutral-deep: #e8ffc4;
}

/* Primary CTA hover: brief #7DE040 (global .btn-primary:hover mixes toward white) */
html[data-stylepack="neon"] .btn-primary:hover {
  background: #7de040;
}
