/* The ten looks (A to J) and the dark variants (K to N). Values come from docs/design/themes-reference.css; see docs/design/IMPLEMENTATION.md for the mock-to-token table.
   Selected by ThemeProvider through data-theme on <html>. Light-panel looks (C D F H J) use paper-safe part colours. */

/* The logo's one colour, the same in every look: the j's mute key. */
:root { --jamn-brand-key: #f97316; }

/* A Backline */
:root[data-theme='A'] {
  --jamn-page: radial-gradient(60% 70% at 15% 20%,#0f4a4a 0,transparent 60%),radial-gradient(50% 60% at 85% 80%,#4a1d6e 0,transparent 60%),radial-gradient(40% 50% at 70% 10%,#7a3a12 0,transparent 60%),#0b0a0c;
  --jamn-page-text: #efece6;
  --jamn-page-dim: #9d988f;
  --jamn-logo: #efece6;
  --jamn-silk: full;
  --jamn-v2-bg: #0b0a0c;
  --jamn-v2-surface: #151416;
  --jamn-v2-surface-low: #0e0d0f;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #efece6;
  --jamn-v2-text-secondary: color-mix(in srgb, #efece6 55%, #9d988f);
  --jamn-v2-text-muted: #9d988f;
  --jamn-v2-text-faint: color-mix(in srgb, #9d988f 55%, #151416);
  --jamn-v2-border: #2e2c2f;
  --jamn-v2-border-faint: #2a2829;
  --jamn-select: #efece6;
  --jamn-on-select: #111;
  --jamn-v2-accent: #efece6;
  --jamn-v2-accent-rgb: 239, 236, 230;
  --jamn-v2-on-accent: #111;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(8px * 0.6);
  --jamn-v2-radius-md: 8px;
  --jamn-v2-radius-lg: 14px;
  --jamn-v2-radius-xl: 20px;
  --jamn-border-width: 1px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: 'Hanken Grotesk',sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--fh);
  --jamn-label-spacing: 0em;
  --jamn-bar: #0b0a0c;
  --jamn-bar-line: #2a2829;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* B Console */
:root[data-theme='B'] {
  --jamn-page: repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 4px),#1b1a18;
  --jamn-page-text: #e9e4d8;
  --jamn-page-dim: #a29b87;
  --jamn-logo: #ff9f1c;
  --jamn-silk: flat;
  --jamn-v2-bg: #1b1a18;
  --jamn-v2-surface: #24221e;
  --jamn-v2-surface-low: #1b1a18;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #e9e4d8;
  --jamn-v2-text-secondary: color-mix(in srgb, #e9e4d8 55%, #a29b87);
  --jamn-v2-text-muted: #a29b87;
  --jamn-v2-text-faint: color-mix(in srgb, #a29b87 55%, #24221e);
  --jamn-v2-border: #4a463a;
  --jamn-v2-border-faint: #38352d;
  --jamn-select: #ff9f1c;
  --jamn-on-select: #1b1a18;
  --jamn-v2-accent: #ff9f1c;
  --jamn-v2-accent-rgb: 255, 159, 28;
  --jamn-v2-on-accent: #1b1a18;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(4px * 0.6);
  --jamn-v2-radius-md: 4px;
  --jamn-v2-radius-lg: 6px;
  --jamn-v2-radius-xl: 8px;
  --jamn-border-width: 1px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: Geist,sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: uppercase;
  --jamn-label-font: var(--fm);
  --jamn-label-spacing: .06em;
  --jamn-bar: #24221e;
  --jamn-bar-line: #38352d;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* C Paper */
:root[data-theme='C'] {
  --jamn-page: radial-gradient(50% 60% at 10% 15%,#f4c9a8 0,transparent 60%),radial-gradient(50% 60% at 90% 85%,#bcd6cf 0,transparent 60%),#f0ebe0;
  --jamn-page-text: #17150f;
  --jamn-page-dim: #5f594d;
  --jamn-logo: #17150f;
  --jamn-silk: paper;
  --jamn-v2-bg: #f0ebe0;
  --jamn-v2-surface: #faf7f0;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #17150f;
  --jamn-v2-text-secondary: color-mix(in srgb, #17150f 55%, #5f594d);
  --jamn-v2-text-muted: #5f594d;
  --jamn-v2-text-faint: color-mix(in srgb, #5f594d 55%, #faf7f0);
  --jamn-v2-border: #17150f;
  --jamn-v2-border-faint: #17150f33;
  --jamn-select: #17150f;
  --jamn-on-select: #f0ebe0;
  --jamn-v2-accent: #17150f;
  --jamn-v2-accent-rgb: 23, 21, 15;
  --jamn-v2-on-accent: #f0ebe0;
  --jamn-v2-error: #b3261e;
  --jamn-v2-error-rgb: 179, 38, 30;
  --jamn-v2-radius-sm: calc(8px * 0.6);
  --jamn-v2-radius-md: 8px;
  --jamn-v2-radius-lg: 14px;
  --jamn-v2-radius-xl: 18px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: 4px 4px 0 #17150f;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: 'Hanken Grotesk',sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--fh);
  --jamn-label-spacing: 0em;
  --jamn-bar: #f0ebe0;
  --jamn-bar-line: #17150f;
  --jamn-v2-stem-drums: #ea580c;
  --jamn-v2-stem-bass: #2563eb;
  --jamn-v2-stem-vocals: #db2777;
  --jamn-v2-stem-guitar: #15803d;
  --jamn-v2-stem-piano: #9333ea;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #b45309;
  --jamn-ink: #17150f;
  color-scheme: light;
}

/* D Tape */
:root[data-theme='D'] {
  --jamn-page: radial-gradient(50% 60% at 20% 20%,#5a2a14 0,transparent 60%),radial-gradient(50% 60% at 85% 85%,#1f3a3a 0,transparent 60%),#120e0b;
  --jamn-page-text: #f1e8d4;
  --jamn-page-dim: #9a8c74;
  --jamn-logo: #e5392b;
  --jamn-silk: tape;
  --jamn-v2-bg: #120e0b;
  --jamn-v2-surface: #f1e8d4;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #1a130c;
  --jamn-v2-text-secondary: color-mix(in srgb, #1a130c 55%, #6b5d48);
  --jamn-v2-text-muted: #6b5d48;
  --jamn-v2-text-faint: color-mix(in srgb, #6b5d48 55%, #f1e8d4);
  --jamn-v2-border: #1a130c;
  --jamn-v2-border-faint: #1a130c44;
  --jamn-select: #1a130c;
  --jamn-on-select: #f1e8d4;
  --jamn-v2-accent: #e5392b;
  --jamn-v2-accent-rgb: 229, 57, 43;
  --jamn-v2-on-accent: #fff;
  --jamn-v2-error: #b3261e;
  --jamn-v2-error-rgb: 179, 38, 30;
  --jamn-v2-radius-sm: calc(4px * 0.6);
  --jamn-v2-radius-md: 4px;
  --jamn-v2-radius-lg: 4px;
  --jamn-v2-radius-xl: 6px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: 'Hanken Grotesk',sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--fh);
  --jamn-label-spacing: 0em;
  --jamn-bar: #1d1712;
  --jamn-bar-line: #4a3e30;
  --jamn-v2-stem-drums: #ea580c;
  --jamn-v2-stem-bass: #2563eb;
  --jamn-v2-stem-vocals: #db2777;
  --jamn-v2-stem-guitar: #15803d;
  --jamn-v2-stem-piano: #9333ea;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #b45309;
  --jamn-ink: #17150f;
  color-scheme: dark;
}

/* E Mono */
:root[data-theme='E'] {
  --jamn-page: #000;
  --jamn-page-text: #fff;
  --jamn-page-dim: #888;
  --jamn-logo: #fff;
  --jamn-silk: flat;
  --jamn-v2-bg: #000;
  --jamn-v2-surface: #000;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #fff;
  --jamn-v2-text-secondary: color-mix(in srgb, #fff 55%, #888);
  --jamn-v2-text-muted: #888;
  --jamn-v2-text-faint: color-mix(in srgb, #888 55%, #000);
  --jamn-v2-border: #444;
  --jamn-v2-border-faint: #2a2a2a;
  --jamn-select: #fff;
  --jamn-on-select: #000;
  --jamn-v2-accent: #fff;
  --jamn-v2-accent-rgb: 255, 255, 255;
  --jamn-v2-on-accent: #000;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(0 * 0.6);
  --jamn-v2-radius-md: 0;
  --jamn-v2-radius-lg: 0;
  --jamn-v2-radius-xl: 0;
  --jamn-border-width: 1px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: Geist,sans-serif;
  --jamn-v2-font-text: Geist,sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--ft);
  --jamn-label-spacing: 0em;
  --jamn-bar: #000;
  --jamn-bar-line: #333;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* F Tape Room */
:root[data-theme='F'] {
  --jamn-page: radial-gradient(60% 70% at 15% 20%,#0f4a4a 0,transparent 60%),radial-gradient(50% 60% at 85% 80%,#4a1d6e 0,transparent 60%),radial-gradient(40% 50% at 70% 10%,#7a3a12 0,transparent 60%),#0b0a0c;
  --jamn-page-text: #efece6;
  --jamn-page-dim: #9d988f;
  --jamn-logo: #e5392b;
  --jamn-silk: full;
  --jamn-v2-bg: #0b0a0c;
  --jamn-v2-surface: #f1e8d4;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #1a130c;
  --jamn-v2-text-secondary: color-mix(in srgb, #1a130c 55%, #6b5d48);
  --jamn-v2-text-muted: #6b5d48;
  --jamn-v2-text-faint: color-mix(in srgb, #6b5d48 55%, #f1e8d4);
  --jamn-v2-border: #1a130c;
  --jamn-v2-border-faint: #1a130c44;
  --jamn-select: #1a130c;
  --jamn-on-select: #f1e8d4;
  --jamn-v2-accent: #e5392b;
  --jamn-v2-accent-rgb: 229, 57, 43;
  --jamn-v2-on-accent: #fff;
  --jamn-v2-error: #b3261e;
  --jamn-v2-error-rgb: 179, 38, 30;
  --jamn-v2-radius-sm: calc(6px * 0.6);
  --jamn-v2-radius-md: 6px;
  --jamn-v2-radius-lg: 10px;
  --jamn-v2-radius-xl: 14px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: 'Hanken Grotesk',sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--fh);
  --jamn-label-spacing: 0em;
  --jamn-bar: #0b0a0c;
  --jamn-bar-line: #2a2829;
  --jamn-v2-stem-drums: #ea580c;
  --jamn-v2-stem-bass: #2563eb;
  --jamn-v2-stem-vocals: #db2777;
  --jamn-v2-stem-guitar: #15803d;
  --jamn-v2-stem-piano: #9333ea;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #b45309;
  --jamn-ink: #17150f;
  color-scheme: dark;
}

/* G Red Room */
:root[data-theme='G'] {
  --jamn-page: radial-gradient(60% 70% at 15% 20%,#0f4a4a 0,transparent 60%),radial-gradient(50% 60% at 85% 80%,#4a1d6e 0,transparent 60%),radial-gradient(40% 50% at 70% 10%,#7a3a12 0,transparent 60%),#0b0a0c;
  --jamn-page-text: #efece6;
  --jamn-page-dim: #9d988f;
  --jamn-logo: #efece6;
  --jamn-silk: full;
  --jamn-v2-bg: #0b0a0c;
  --jamn-v2-surface: #151416;
  --jamn-v2-surface-low: #0e0d0f;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #efece6;
  --jamn-v2-text-secondary: color-mix(in srgb, #efece6 55%, #9d988f);
  --jamn-v2-text-muted: #9d988f;
  --jamn-v2-text-faint: color-mix(in srgb, #9d988f 55%, #151416);
  --jamn-v2-border: #2e2c2f;
  --jamn-v2-border-faint: #2a2829;
  --jamn-select: #efece6;
  --jamn-on-select: #111;
  --jamn-v2-accent: #e5392b;
  --jamn-v2-accent-rgb: 229, 57, 43;
  --jamn-v2-on-accent: #fff;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(4px * 0.6);
  --jamn-v2-radius-md: 4px;
  --jamn-v2-radius-lg: 6px;
  --jamn-v2-radius-xl: 10px;
  --jamn-border-width: 1px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: 'Hanken Grotesk',sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--fh);
  --jamn-label-spacing: 0em;
  --jamn-bar: #0b0a0c;
  --jamn-bar-line: #2a2829;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* H Amber Paper */
:root[data-theme='H'] {
  --jamn-page: radial-gradient(50% 60% at 10% 15%,#f4c9a8 0,transparent 60%),radial-gradient(50% 60% at 90% 85%,#bcd6cf 0,transparent 60%),#f0ebe0;
  --jamn-page-text: #17150f;
  --jamn-page-dim: #5f594d;
  --jamn-logo: #17150f;
  --jamn-silk: paper;
  --jamn-v2-bg: #f0ebe0;
  --jamn-v2-surface: #faf7f0;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #17150f;
  --jamn-v2-text-secondary: color-mix(in srgb, #17150f 55%, #5f594d);
  --jamn-v2-text-muted: #5f594d;
  --jamn-v2-text-faint: color-mix(in srgb, #5f594d 55%, #faf7f0);
  --jamn-v2-border: #17150f;
  --jamn-v2-border-faint: #17150f33;
  --jamn-select: #17150f;
  --jamn-on-select: #f0ebe0;
  --jamn-v2-accent: #ff9f1c;
  --jamn-v2-accent-rgb: 255, 159, 28;
  --jamn-v2-on-accent: #17150f;
  --jamn-v2-error: #b3261e;
  --jamn-v2-error-rgb: 179, 38, 30;
  --jamn-v2-radius-sm: calc(4px * 0.6);
  --jamn-v2-radius-md: 4px;
  --jamn-v2-radius-lg: 6px;
  --jamn-v2-radius-xl: 8px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: 3px 3px 0 #17150f;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: Geist,sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: uppercase;
  --jamn-label-font: var(--fm);
  --jamn-label-spacing: .06em;
  --jamn-bar: #f0ebe0;
  --jamn-bar-line: #17150f;
  --jamn-v2-stem-drums: #ea580c;
  --jamn-v2-stem-bass: #2563eb;
  --jamn-v2-stem-vocals: #db2777;
  --jamn-v2-stem-guitar: #15803d;
  --jamn-v2-stem-piano: #9333ea;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #b45309;
  --jamn-ink: #17150f;
  color-scheme: light;
}

/* I Mono Room */
:root[data-theme='I'] {
  --jamn-page: radial-gradient(60% 70% at 15% 20%,#0f4a4a 0,transparent 60%),radial-gradient(50% 60% at 85% 80%,#4a1d6e 0,transparent 60%),radial-gradient(40% 50% at 70% 10%,#7a3a12 0,transparent 60%),#0b0a0c;
  --jamn-page-text: #fff;
  --jamn-page-dim: #999;
  --jamn-logo: #fff;
  --jamn-silk: full;
  --jamn-v2-bg: #0b0a0c;
  --jamn-v2-surface: #000;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #fff;
  --jamn-v2-text-secondary: color-mix(in srgb, #fff 55%, #888);
  --jamn-v2-text-muted: #888;
  --jamn-v2-text-faint: color-mix(in srgb, #888 55%, #000);
  --jamn-v2-border: #444;
  --jamn-v2-border-faint: #2a2a2a;
  --jamn-select: #fff;
  --jamn-on-select: #000;
  --jamn-v2-accent: #fff;
  --jamn-v2-accent-rgb: 255, 255, 255;
  --jamn-v2-on-accent: #000;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(0 * 0.6);
  --jamn-v2-radius-md: 0;
  --jamn-v2-radius-lg: 0;
  --jamn-v2-radius-xl: 0;
  --jamn-border-width: 1px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: Geist,sans-serif;
  --jamn-v2-font-text: Geist,sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--ft);
  --jamn-label-spacing: 0em;
  --jamn-bar: #000;
  --jamn-bar-line: #333;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* J Console Cream */
:root[data-theme='J'] {
  --jamn-page: repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 4px),#1b1a18;
  --jamn-page-text: #e9e4d8;
  --jamn-page-dim: #a29b87;
  --jamn-logo: #ff9f1c;
  --jamn-silk: flat;
  --jamn-v2-bg: #1b1a18;
  --jamn-v2-surface: #f1e8d4;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #1a130c;
  --jamn-v2-text-secondary: color-mix(in srgb, #1a130c 55%, #6b5d48);
  --jamn-v2-text-muted: #6b5d48;
  --jamn-v2-text-faint: color-mix(in srgb, #6b5d48 55%, #f1e8d4);
  --jamn-v2-border: #1a130c;
  --jamn-v2-border-faint: #1a130c44;
  --jamn-select: #ff9f1c;
  --jamn-on-select: #1b1a18;
  --jamn-v2-accent: #ff9f1c;
  --jamn-v2-accent-rgb: 255, 159, 28;
  --jamn-v2-on-accent: #1b1a18;
  --jamn-v2-error: #b3261e;
  --jamn-v2-error-rgb: 179, 38, 30;
  --jamn-v2-radius-sm: calc(3px * 0.6);
  --jamn-v2-radius-md: 3px;
  --jamn-v2-radius-lg: 4px;
  --jamn-v2-radius-xl: 6px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: Geist,sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: uppercase;
  --jamn-label-font: var(--fm);
  --jamn-label-spacing: .06em;
  --jamn-bar: #24221e;
  --jamn-bar-line: #4a463a;
  --jamn-v2-stem-drums: #ea580c;
  --jamn-v2-stem-bass: #2563eb;
  --jamn-v2-stem-vocals: #db2777;
  --jamn-v2-stem-guitar: #15803d;
  --jamn-v2-stem-piano: #9333ea;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #b45309;
  --jamn-ink: #17150f;
  color-scheme: dark;
}

/* K Paper Dark (C) */
:root[data-theme='K'] {
  --jamn-page: radial-gradient(50% 60% at 10% 15%,#5a3a24 0,transparent 60%),radial-gradient(50% 60% at 90% 85%,#2c4a44 0,transparent 60%),#15130f;
  --jamn-page-text: #f0ebe0;
  --jamn-page-dim: #a39d8f;
  --jamn-logo: #f0ebe0;
  --jamn-silk: pdark;
  --jamn-v2-bg: #15130f;
  --jamn-v2-surface: #1f1c16;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #f0ebe0;
  --jamn-v2-text-secondary: color-mix(in srgb, #f0ebe0 55%, #a39d8f);
  --jamn-v2-text-muted: #a39d8f;
  --jamn-v2-text-faint: color-mix(in srgb, #a39d8f 55%, #1f1c16);
  --jamn-v2-border: #8c8576;
  --jamn-v2-border-faint: #f0ebe033;
  --jamn-select: #f0ebe0;
  --jamn-on-select: #15130f;
  --jamn-v2-accent: #f0ebe0;
  --jamn-v2-accent-rgb: 240, 235, 224;
  --jamn-v2-on-accent: #15130f;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(8px * 0.6);
  --jamn-v2-radius-md: 8px;
  --jamn-v2-radius-lg: 14px;
  --jamn-v2-radius-xl: 18px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: 4px 4px 0 #000;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: 'Hanken Grotesk',sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--fh);
  --jamn-label-spacing: 0em;
  --jamn-bar: #15130f;
  --jamn-bar-line: #f0ebe0aa;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* N Amber Paper Dark (H) */
:root[data-theme='N'] {
  --jamn-page: radial-gradient(50% 60% at 10% 15%,#5a3a24 0,transparent 60%),radial-gradient(50% 60% at 90% 85%,#2c4a44 0,transparent 60%),#15130f;
  --jamn-page-text: #f0ebe0;
  --jamn-page-dim: #a39d8f;
  --jamn-logo: #f0ebe0;
  --jamn-silk: pdark;
  --jamn-v2-bg: #15130f;
  --jamn-v2-surface: #1f1c16;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #f0ebe0;
  --jamn-v2-text-secondary: color-mix(in srgb, #f0ebe0 55%, #a39d8f);
  --jamn-v2-text-muted: #a39d8f;
  --jamn-v2-text-faint: color-mix(in srgb, #a39d8f 55%, #1f1c16);
  --jamn-v2-border: #8c8576;
  --jamn-v2-border-faint: #f0ebe033;
  --jamn-select: #f0ebe0;
  --jamn-on-select: #15130f;
  --jamn-v2-accent: #ff9f1c;
  --jamn-v2-accent-rgb: 255, 159, 28;
  --jamn-v2-on-accent: #17150f;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(4px * 0.6);
  --jamn-v2-radius-md: 4px;
  --jamn-v2-radius-lg: 6px;
  --jamn-v2-radius-xl: 8px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: 3px 3px 0 #000;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: Geist,sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: uppercase;
  --jamn-label-font: var(--fm);
  --jamn-label-spacing: .06em;
  --jamn-bar: #15130f;
  --jamn-bar-line: #f0ebe0aa;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* L Tape Dark (D) */
:root[data-theme='L'] {
  --jamn-page: radial-gradient(50% 60% at 20% 20%,#5a2a14 0,transparent 60%),radial-gradient(50% 60% at 85% 85%,#1f3a3a 0,transparent 60%),#120e0b;
  --jamn-page-text: #f1e8d4;
  --jamn-page-dim: #9a8c74;
  --jamn-logo: #e5392b;
  --jamn-silk: tape;
  --jamn-v2-bg: #120e0b;
  --jamn-v2-surface: #1d1712;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #f1e8d4;
  --jamn-v2-text-secondary: color-mix(in srgb, #f1e8d4 55%, #a2927a);
  --jamn-v2-text-muted: #a2927a;
  --jamn-v2-text-faint: color-mix(in srgb, #a2927a 55%, #1d1712);
  --jamn-v2-border: #7a6c55;
  --jamn-v2-border-faint: #f1e8d433;
  --jamn-select: #f1e8d4;
  --jamn-on-select: #1a130c;
  --jamn-v2-accent: #e5392b;
  --jamn-v2-accent-rgb: 229, 57, 43;
  --jamn-v2-on-accent: #fff;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(4px * 0.6);
  --jamn-v2-radius-md: 4px;
  --jamn-v2-radius-lg: 4px;
  --jamn-v2-radius-xl: 6px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: 'Hanken Grotesk',sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--fh);
  --jamn-label-spacing: 0em;
  --jamn-bar: #1d1712;
  --jamn-bar-line: #4a3e30;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* M Tape Room Dark (F) */
:root[data-theme='M'] {
  --jamn-page: radial-gradient(60% 70% at 15% 20%,#0f4a4a 0,transparent 60%),radial-gradient(50% 60% at 85% 80%,#4a1d6e 0,transparent 60%),radial-gradient(40% 50% at 70% 10%,#7a3a12 0,transparent 60%),#0b0a0c;
  --jamn-page-text: #efece6;
  --jamn-page-dim: #9d988f;
  --jamn-logo: #e5392b;
  --jamn-silk: full;
  --jamn-v2-bg: #0b0a0c;
  --jamn-v2-surface: #1b1714;
  --jamn-v2-surface-low: transparent;
  --jamn-v2-surface-mid: color-mix(in srgb, var(--jamn-v2-surface) 94%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-high: color-mix(in srgb, var(--jamn-v2-surface) 88%, var(--jamn-v2-text-primary));
  --jamn-v2-surface-highest: color-mix(in srgb, var(--jamn-v2-surface) 80%, var(--jamn-v2-text-primary));
  --jamn-v2-text-primary: #f1e8d4;
  --jamn-v2-text-secondary: color-mix(in srgb, #f1e8d4 55%, #a2927a);
  --jamn-v2-text-muted: #a2927a;
  --jamn-v2-text-faint: color-mix(in srgb, #a2927a 55%, #1b1714);
  --jamn-v2-border: #7a6c55;
  --jamn-v2-border-faint: #f1e8d433;
  --jamn-select: #f1e8d4;
  --jamn-on-select: #1a130c;
  --jamn-v2-accent: #e5392b;
  --jamn-v2-accent-rgb: 229, 57, 43;
  --jamn-v2-on-accent: #fff;
  --jamn-v2-error: #ff6b5e;
  --jamn-v2-error-rgb: 255, 107, 94;
  --jamn-v2-radius-sm: calc(6px * 0.6);
  --jamn-v2-radius-md: 6px;
  --jamn-v2-radius-lg: 10px;
  --jamn-v2-radius-xl: 14px;
  --jamn-border-width: 1.5px;
  --jamn-panel-shadow: none;
  --jamn-v2-font-display: 'Bricolage Grotesque',sans-serif;
  --jamn-v2-font-text: 'Hanken Grotesk',sans-serif;
  --jamn-font-mono: 'Geist Mono',monospace;
  --jamn-label-case: none;
  --jamn-label-font: var(--fh);
  --jamn-label-spacing: 0em;
  --jamn-bar: #0b0a0c;
  --jamn-bar-line: #2a2829;
  --jamn-v2-stem-drums: #f97316;
  --jamn-v2-stem-bass: #3b82f6;
  --jamn-v2-stem-vocals: #ec4899;
  --jamn-v2-stem-guitar: #22c55e;
  --jamn-v2-stem-piano: #a855f7;
  --jamn-v2-stem-other: #6b7280;
  --jamn-v2-warn: #fbbf24;
  --jamn-ink: #000;
  color-scheme: dark;
}

/* D, F and J have light panels on a dark page. What sits straight on the page (top bar, song bar, bottom bar, the
   buttons in the corner) reads the page tokens, and its controls are outlines, not light fills (the mocks). */
:root[data-theme='D'] :is(.stage-topbar, .stage-songbar, .stage-transport, .stage-corner, .debug-dropdown),
:root[data-theme='F'] :is(.stage-topbar, .stage-songbar, .stage-transport, .stage-corner, .debug-dropdown),
:root[data-theme='J'] :is(.stage-topbar, .stage-songbar, .stage-transport, .stage-corner, .debug-dropdown) {
  --jamn-v2-text-primary: var(--jamn-page-text);
  --jamn-v2-text-secondary: var(--jamn-page-text);
  --jamn-v2-text-muted: var(--jamn-page-dim);
  --jamn-v2-border: color-mix(in srgb, var(--jamn-page-text) 45%, transparent);
  --jamn-v2-border-faint: color-mix(in srgb, var(--jamn-page-text) 25%, transparent);
  --jamn-v2-surface: transparent;
  --jamn-v2-surface-low: transparent;
}

/* The ring button's middle must be solid (a transparent surface lets the ring's gradient fill the whole button): the page colour. */
:root[data-theme='D'] :is(.stage-topbar, .stage-songbar, .stage-transport, .stage-corner) .rainbow-button__inner,
:root[data-theme='F'] :is(.stage-topbar, .stage-songbar, .stage-transport, .stage-corner) .rainbow-button__inner,
:root[data-theme='J'] :is(.stage-topbar, .stage-songbar, .stage-transport, .stage-corner) .rainbow-button__inner {
  --jamn-v2-surface: var(--jamn-v2-bg);
}

/* A menu that hangs off those bars is a panel again, not part of the page: it gets the panel's own colours back. */
:root[data-theme='D'] :is(.download-menu, .setlist-pop),
:root[data-theme='F'] :is(.download-menu, .setlist-pop),
:root[data-theme='J'] :is(.download-menu, .setlist-pop) {
  --jamn-v2-surface: #f1e8d4;
  --jamn-v2-surface-low: color-mix(in srgb, #f1e8d4 90%, #1a130c);
  --jamn-v2-text-primary: #1a130c;
  --jamn-v2-text-secondary: color-mix(in srgb, #1a130c 55%, #6b5d48);
  --jamn-v2-text-muted: #6b5d48;
  --jamn-v2-border: #1a130c;
  --jamn-v2-border-faint: #1a130c44;
}

/* Corners: one style for every look, when the person picks one (the default, "look", leaves each look its own). */
:root[data-corners='sharp'][data-theme] { --jamn-v2-radius-sm: 0px; --jamn-v2-radius-md: 0px; --jamn-v2-radius-lg: 0px; --jamn-v2-radius-xl: 0px; }
:root[data-corners='soft'][data-theme] { --jamn-v2-radius-sm: calc(6px * 0.6); --jamn-v2-radius-md: 6px; --jamn-v2-radius-lg: 10px; --jamn-v2-radius-xl: 14px; }
:root[data-corners='round'][data-theme] { --jamn-v2-radius-sm: calc(10px * 0.6); --jamn-v2-radius-md: 12px; --jamn-v2-radius-lg: 18px; --jamn-v2-radius-xl: 26px; }
