/* GENERATED by scripts/build-themes.mjs — do not edit.
   Source of truth: js/themes/app/*.js  (one file per theme)
   Regenerate with: npm run themes                                          */

/* Fallback: dark, for any paint before the attribute is set. */
:root {
  color-scheme: dark;
  --bg: #151214;
  --surface: #1F1B1D;
  --surface-raised: #2A2528;
  --surface-sunken: #0E0C0D;
  --surface-overlay: rgba(8, 6, 8, .78);
  --text-primary: #EAE4DD;
  --text-secondary: #ADA69F;
  --text-muted: #948D86;
  --action: #B36BEE;
  --action-hover: #C084F5;
  --action-active: #A25BDF;
  --action-text: #150920;
  --action-on-surface: #CFA3F7;
  --action-quiet: #2A2528;
  --action-quiet-text: #EAE4DD;
  --positive: #6FD69B;
  --positive-ink: #0B2417;
  --positive-text: #6FD69B;
  --positive-surface: #16311F;
  --negative: #C8483F;
  --negative-ink: #FFFFFF;
  --negative-text: #E4675E;
  --negative-surface: #33161A;
  --notice: #E0A340;
  --notice-text: #EFBF6E;
  --notice-surface: #332512;
  --border: #383236;
  --border-strong: #706970;
  --focus-ring: #CFA3F7;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-strong: 600;
  --tracking-normal: .006em;
  --tracking-wide: .10em;
  --font-scale: 1;
  --line-height: 1.5;
  --radius: 12px;
  --radius-lg: 18px;
  --density: 1;
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-2: 0 12px 32px rgba(0, 0, 0, .5);
  --brand-logo: image-set(url("/assets/brand/logo-640.webp") type("image/webp"), url("/assets/brand/logo-640.png") type("image/png"));
  --brand-slip: image-set(url("/assets/brand/slip-96.webp") type("image/webp"), url("/assets/brand/slip-96.png") type("image/png"));
}

:root[data-app-theme="dark"] {
  color-scheme: dark;
  --bg: #151214;
  --surface: #1F1B1D;
  --surface-raised: #2A2528;
  --surface-sunken: #0E0C0D;
  --surface-overlay: rgba(8, 6, 8, .78);
  --text-primary: #EAE4DD;
  --text-secondary: #ADA69F;
  --text-muted: #948D86;
  --action: #B36BEE;
  --action-hover: #C084F5;
  --action-active: #A25BDF;
  --action-text: #150920;
  --action-on-surface: #CFA3F7;
  --action-quiet: #2A2528;
  --action-quiet-text: #EAE4DD;
  --positive: #6FD69B;
  --positive-ink: #0B2417;
  --positive-text: #6FD69B;
  --positive-surface: #16311F;
  --negative: #C8483F;
  --negative-ink: #FFFFFF;
  --negative-text: #E4675E;
  --negative-surface: #33161A;
  --notice: #E0A340;
  --notice-text: #EFBF6E;
  --notice-surface: #332512;
  --border: #383236;
  --border-strong: #706970;
  --focus-ring: #CFA3F7;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-strong: 600;
  --tracking-normal: .006em;
  --tracking-wide: .10em;
  --font-scale: 1;
  --line-height: 1.5;
  --radius: 12px;
  --radius-lg: 18px;
  --density: 1;
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-2: 0 12px 32px rgba(0, 0, 0, .5);
  --brand-logo: image-set(url("/assets/brand/logo-640.webp") type("image/webp"), url("/assets/brand/logo-640.png") type("image/png"));
  --brand-slip: image-set(url("/assets/brand/slip-96.webp") type("image/webp"), url("/assets/brand/slip-96.png") type("image/png"));
}

:root[data-app-theme="light"] {
  color-scheme: light;
  --bg: #E4E1DB;
  --surface: #F7F6F3;
  --surface-raised: #FFFFFF;
  --surface-sunken: #FFFFFF;
  --surface-overlay: rgba(28, 24, 20, .55);
  --text-primary: #0C0B0A;
  --text-secondary: #3A3632;
  --text-muted: #544D47;
  --action: #6D1FA8;
  --action-hover: #5A1690;
  --action-active: #4A1176;
  --action-text: #FFFFFF;
  --action-on-surface: #5A1690;
  --action-quiet: #DAD5CC;
  --action-quiet-text: #0C0B0A;
  --positive: #075229;
  --positive-ink: #FFFFFF;
  --positive-text: #075229;
  --positive-surface: #D3E7DA;
  --negative: #D14336;
  --negative-ink: #FFFFFF;
  --negative-text: #A81F16;
  --negative-surface: #F7D8D4;
  --notice: #9A5B00;
  --notice-text: #7A4700;
  --notice-surface: #F7E4C4;
  --border: #B8B3AA;
  --border-strong: #1A1815;
  --focus-ring: #6D1FA8;
  --weight-normal: 450;
  --weight-medium: 600;
  --weight-strong: 700;
  --tracking-normal: 0em;
  --tracking-wide: .09em;
  --font-scale: 1;
  --line-height: 1.5;
  --radius: 12px;
  --radius-lg: 18px;
  --density: 1;
  --shadow-1: 0 1px 2px rgba(38, 32, 26, .12);
  --shadow-2: 0 12px 32px rgba(38, 32, 26, .18);
  --brand-logo: image-set(url("/assets/brand/logo-640-light.webp") type("image/webp"), url("/assets/brand/logo-640-light.png") type("image/png"));
  --brand-slip: image-set(url("/assets/brand/slip-96-light.webp") type("image/webp"), url("/assets/brand/slip-96-light.png") type("image/png"));
}

:root[data-app-theme="stage"] {
  color-scheme: dark;
  --bg: #0A0806;
  --surface: #191613;
  --surface-raised: #25211B;
  --surface-sunken: #050403;
  --surface-overlay: rgba(6, 4, 3, .82);
  --text-primary: #FFEAC6;
  --text-secondary: #CFB289;
  --text-muted: #AB9370;
  --action: #FFB627;
  --action-hover: #FFC65C;
  --action-active: #E09A10;
  --action-text: #0A0806;
  --action-on-surface: #FFC65C;
  --action-quiet: #25211B;
  --action-quiet-text: #FFEAC6;
  --positive: #FFE3A8;
  --positive-ink: #0A0806;
  --positive-text: #FFE3A8;
  --positive-surface: #2E2410;
  --negative: #B34A18;
  --negative-ink: #FFFFFF;
  --negative-text: #F0906A;
  --negative-surface: #2E1810;
  --notice: #E08A2B;
  --notice-text: #F0A85C;
  --notice-surface: #2E1F0E;
  --border: #443829;
  --border-strong: #6E5A3C;
  --focus-ring: #FFC65C;
  --weight-normal: 500;
  --weight-medium: 600;
  --weight-strong: 700;
  --tracking-normal: .01em;
  --tracking-wide: .14em;
  --font-scale: 1.12;
  --line-height: 1.45;
  --radius: 10px;
  --radius-lg: 16px;
  --density: 1.2;
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .5);
  --shadow-2: 0 12px 32px rgba(0, 0, 0, .6);
  --brand-logo: image-set(url("/assets/brand/logo-640-stage.webp") type("image/webp"), url("/assets/brand/logo-640-stage.png") type("image/png"));
  --brand-slip: image-set(url("/assets/brand/slip-96-stage.webp") type("image/webp"), url("/assets/brand/slip-96-stage.png") type("image/png"));
}
