/* ==========================================================================
   Jay and Sons — theme tokens (shadcn contract, OKLCH)
   --------------------------------------------------------------------------
   GENERATED FILE — do not edit by hand.
   Edit tools/theme.py, then run:  python3 tools/theme.py build

   Active kit: Ultramarine (ultramarine)
   Alternate kits stay available for preview via data-kit on <html>.
   See DESIGN.md -> Switching kits.
   ========================================================================== */

:root { --radius: 0.625rem; }

/* --- Ultramarine — ACTIVE ------------------------------------ */
:root,
[data-kit="ultramarine"] {
  --background: oklch(0.9870 0.0026 264);
  --foreground: oklch(0.1850 0.0240 264);
  --card: oklch(1.0000 0.0000 264);
  --card-foreground: oklch(0.1850 0.0240 264);
  --popover: oklch(1.0000 0.0000 264);
  --popover-foreground: oklch(0.1850 0.0240 264);
  --primary: oklch(0.4550 0.1780 264);
  --primary-foreground: oklch(0.9850 0.0070 264);
  --secondary: oklch(0.9580 0.0083 264);
  --secondary-foreground: oklch(0.2400 0.0240 264);
  --muted: oklch(0.9600 0.0083 264);
  --muted-foreground: oklch(0.5000 0.0195 264);
  --accent: oklch(0.9450 0.0261 264);
  --accent-foreground: oklch(0.2900 0.1513 264);
  --destructive: oklch(0.5200 0.2000 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.8305 0.0105 264);
  --input: oklch(0.8305 0.0105 264);
  --ring: oklch(0.5500 0.1602 264);
  --chart-1: oklch(0.5500 0.1650 264);
  --chart-2: oklch(0.6600 0.1400 240);
  --chart-3: oklch(0.4600 0.1600 282);
  --chart-4: oklch(0.7400 0.1100 225);
  --chart-5: oklch(0.3800 0.1300 270);
}

.dark,
[data-kit="ultramarine"].dark,
.dark [data-kit="ultramarine"] {
  --background: oklch(0.1520 0.0150 264);
  --foreground: oklch(0.9650 0.0060 264);
  --card: oklch(0.1900 0.0180 264);
  --card-foreground: oklch(0.9650 0.0060 264);
  --popover: oklch(0.1900 0.0180 264);
  --popover-foreground: oklch(0.9650 0.0060 264);
  --primary: oklch(0.6650 0.1620 262);
  --primary-foreground: oklch(0.1550 0.0550 264);
  --secondary: oklch(0.2480 0.0195 264);
  --secondary-foreground: oklch(0.9650 0.0060 264);
  --muted: oklch(0.2480 0.0195 264);
  --muted-foreground: oklch(0.7150 0.0165 264);
  --accent: oklch(0.2750 0.0534 264);
  --accent-foreground: oklch(0.9500 0.0236 264);
  --destructive: oklch(0.5600 0.1980 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.3341 0.0210 264);
  --input: oklch(0.3341 0.0210 264);
  --ring: oklch(0.6800 0.1513 264);
  --chart-1: oklch(0.5500 0.1650 264);
  --chart-2: oklch(0.6600 0.1400 240);
  --chart-3: oklch(0.4600 0.1600 282);
  --chart-4: oklch(0.7400 0.1100 225);
  --chart-5: oklch(0.3800 0.1300 270);
}

/* --- Graphite — alternate · Zinc neutrals, near-black primary. The stock shadcn register. */
[data-kit="graphite"] {
  --background: oklch(0.9870 0.0016 286);
  --foreground: oklch(0.1850 0.0144 286);
  --card: oklch(1.0000 0.0000 286);
  --card-foreground: oklch(0.1850 0.0144 286);
  --popover: oklch(1.0000 0.0000 286);
  --popover-foreground: oklch(0.1850 0.0144 286);
  --primary: oklch(0.2100 0.0090 286);
  --primary-foreground: oklch(0.9850 0.0020 286);
  --secondary: oklch(0.9580 0.0050 286);
  --secondary-foreground: oklch(0.2400 0.0144 286);
  --muted: oklch(0.9600 0.0050 286);
  --muted-foreground: oklch(0.5000 0.0117 286);
  --accent: oklch(0.9450 0.0060 286);
  --accent-foreground: oklch(0.2900 0.0076 286);
  --destructive: oklch(0.5200 0.2000 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.8295 0.0063 286);
  --input: oklch(0.8295 0.0063 286);
  --ring: oklch(0.5400 0.0081 286);
  --chart-1: oklch(0.5500 0.0100 286);
  --chart-2: oklch(0.6600 0.0100 286);
  --chart-3: oklch(0.4400 0.0120 286);
  --chart-4: oklch(0.7600 0.0080 286);
  --chart-5: oklch(0.3300 0.0120 286);
}

[data-kit="graphite"].dark,
.dark [data-kit="graphite"] {
  --background: oklch(0.1520 0.0090 286);
  --foreground: oklch(0.9650 0.0036 286);
  --card: oklch(0.1900 0.0108 286);
  --card-foreground: oklch(0.9650 0.0036 286);
  --popover: oklch(0.1900 0.0108 286);
  --popover-foreground: oklch(0.9650 0.0036 286);
  --primary: oklch(0.9700 0.0025 286);
  --primary-foreground: oklch(0.1900 0.0070 286);
  --secondary: oklch(0.2480 0.0117 286);
  --secondary-foreground: oklch(0.9650 0.0036 286);
  --muted: oklch(0.2480 0.0117 286);
  --muted-foreground: oklch(0.7150 0.0099 286);
  --accent: oklch(0.2750 0.0027 286);
  --accent-foreground: oklch(0.9500 0.0013 286);
  --destructive: oklch(0.5600 0.1980 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.3338 0.0126 286);
  --input: oklch(0.3338 0.0126 286);
  --ring: oklch(0.7000 0.0076 286);
  --chart-1: oklch(0.5500 0.0100 286);
  --chart-2: oklch(0.6600 0.0100 286);
  --chart-3: oklch(0.4400 0.0120 286);
  --chart-4: oklch(0.7600 0.0080 286);
  --chart-5: oklch(0.3300 0.0120 286);
}

/* --- Pine — alternate · Warm stone under deep forest. The original brand hue, rebuilt. */
[data-kit="pine"] {
  --background: oklch(0.9870 0.0021 92);
  --foreground: oklch(0.1850 0.0192 92);
  --card: oklch(1.0000 0.0000 92);
  --card-foreground: oklch(0.1850 0.0192 92);
  --popover: oklch(1.0000 0.0000 92);
  --popover-foreground: oklch(0.1850 0.0192 92);
  --primary: oklch(0.3750 0.0680 158);
  --primary-foreground: oklch(0.9850 0.0120 150);
  --secondary: oklch(0.9580 0.0066 92);
  --secondary-foreground: oklch(0.2400 0.0192 92);
  --muted: oklch(0.9600 0.0066 92);
  --muted-foreground: oklch(0.5000 0.0156 92);
  --accent: oklch(0.9450 0.0300 158);
  --accent-foreground: oklch(0.2900 0.0578 158);
  --destructive: oklch(0.5200 0.2000 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.8311 0.0084 92);
  --input: oklch(0.8311 0.0084 92);
  --ring: oklch(0.5000 0.0612 158);
  --chart-1: oklch(0.5200 0.0950 158);
  --chart-2: oklch(0.6300 0.0900 178);
  --chart-3: oklch(0.4400 0.0800 138);
  --chart-4: oklch(0.7200 0.0850 196);
  --chart-5: oklch(0.3600 0.0700 152);
}

[data-kit="pine"].dark,
.dark [data-kit="pine"] {
  --background: oklch(0.1520 0.0120 92);
  --foreground: oklch(0.9650 0.0048 92);
  --card: oklch(0.1900 0.0144 92);
  --card-foreground: oklch(0.9650 0.0048 92);
  --popover: oklch(0.1900 0.0144 92);
  --popover-foreground: oklch(0.9650 0.0048 92);
  --primary: oklch(0.7150 0.1250 156);
  --primary-foreground: oklch(0.1650 0.0395 158);
  --secondary: oklch(0.2480 0.0156 92);
  --secondary-foreground: oklch(0.9650 0.0048 92);
  --muted: oklch(0.2480 0.0156 92);
  --muted-foreground: oklch(0.7150 0.0132 92);
  --accent: oklch(0.2750 0.0204 158);
  --accent-foreground: oklch(0.9500 0.0102 158);
  --destructive: oklch(0.5600 0.1980 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.3344 0.0168 92);
  --input: oklch(0.3344 0.0168 92);
  --ring: oklch(0.6600 0.0578 158);
  --chart-1: oklch(0.5200 0.0950 158);
  --chart-2: oklch(0.6300 0.0900 178);
  --chart-3: oklch(0.4400 0.0800 138);
  --chart-4: oklch(0.7200 0.0850 196);
  --chart-5: oklch(0.3600 0.0700 152);
}

/* --- Bronze — alternate · Warm taupe under antique bronze. Premium craft. */
[data-kit="bronze"] {
  --background: oklch(0.9870 0.0020 62);
  --foreground: oklch(0.1850 0.0186 62);
  --card: oklch(1.0000 0.0000 62);
  --card-foreground: oklch(0.1850 0.0186 62);
  --popover: oklch(1.0000 0.0000 62);
  --popover-foreground: oklch(0.1850 0.0186 62);
  --primary: oklch(0.5000 0.1114 66);
  --primary-foreground: oklch(0.9900 0.0067 66);
  --secondary: oklch(0.9580 0.0064 62);
  --secondary-foreground: oklch(0.2400 0.0186 62);
  --muted: oklch(0.9600 0.0064 62);
  --muted-foreground: oklch(0.5000 0.0151 62);
  --accent: oklch(0.9450 0.0377 66);
  --accent-foreground: oklch(0.2900 0.0649 66);
  --destructive: oklch(0.5200 0.2000 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.8279 0.0081 62);
  --input: oklch(0.8279 0.0081 62);
  --ring: oklch(0.5700 0.1080 66);
  --chart-1: oklch(0.5600 0.1150 66);
  --chart-2: oklch(0.6600 0.1000 92);
  --chart-3: oklch(0.4700 0.1050 48);
  --chart-4: oklch(0.7400 0.0850 106);
  --chart-5: oklch(0.3900 0.0850 60);
}

[data-kit="bronze"].dark,
.dark [data-kit="bronze"] {
  --background: oklch(0.1520 0.0116 62);
  --foreground: oklch(0.9650 0.0046 62);
  --card: oklch(0.1900 0.0139 62);
  --card-foreground: oklch(0.9650 0.0046 62);
  --popover: oklch(0.1900 0.0139 62);
  --popover-foreground: oklch(0.9650 0.0046 62);
  --primary: oklch(0.7500 0.1300 72);
  --primary-foreground: oklch(0.1800 0.0411 66);
  --secondary: oklch(0.2480 0.0151 62);
  --secondary-foreground: oklch(0.9650 0.0046 62);
  --muted: oklch(0.2480 0.0151 62);
  --muted-foreground: oklch(0.7150 0.0128 62);
  --accent: oklch(0.2750 0.0360 66);
  --accent-foreground: oklch(0.9500 0.0180 66);
  --destructive: oklch(0.5600 0.1980 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.3333 0.0162 62);
  --input: oklch(0.3333 0.0162 62);
  --ring: oklch(0.7200 0.1020 66);
  --chart-1: oklch(0.5600 0.1150 66);
  --chart-2: oklch(0.6600 0.1000 92);
  --chart-3: oklch(0.4700 0.1050 48);
  --chart-4: oklch(0.7400 0.0850 106);
  --chart-5: oklch(0.3900 0.0850 60);
}

/* --- Signal — alternate · Cool graphite under safety orange. Highest urgency. */
[data-kit="signal"] {
  --background: oklch(0.9870 0.0014 252);
  --foreground: oklch(0.1850 0.0128 252);
  --card: oklch(1.0000 0.0000 252);
  --card-foreground: oklch(0.1850 0.0128 252);
  --popover: oklch(1.0000 0.0000 252);
  --popover-foreground: oklch(0.1850 0.0128 252);
  --primary: oklch(0.5150 0.1652 39);
  --primary-foreground: oklch(0.9950 0.0025 40);
  --secondary: oklch(0.9580 0.0044 252);
  --secondary-foreground: oklch(0.2400 0.0128 252);
  --muted: oklch(0.9600 0.0044 252);
  --muted-foreground: oklch(0.5000 0.0104 252);
  --accent: oklch(0.9450 0.0286 39);
  --accent-foreground: oklch(0.2900 0.0935 39);
  --destructive: oklch(0.5200 0.2000 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.8300 0.0056 252);
  --input: oklch(0.8300 0.0056 252);
  --ring: oklch(0.5900 0.1665 39);
  --chart-1: oklch(0.6000 0.1800 39);
  --chart-2: oklch(0.7000 0.1500 62);
  --chart-3: oklch(0.5100 0.1700 25);
  --chart-4: oklch(0.7800 0.1200 80);
  --chart-5: oklch(0.4300 0.1200 35);
}

[data-kit="signal"].dark,
.dark [data-kit="signal"] {
  --background: oklch(0.1520 0.0080 252);
  --foreground: oklch(0.9650 0.0032 252);
  --card: oklch(0.1900 0.0096 252);
  --card-foreground: oklch(0.9650 0.0032 252);
  --popover: oklch(0.1900 0.0096 252);
  --popover-foreground: oklch(0.9650 0.0032 252);
  --primary: oklch(0.6900 0.1950 45);
  --primary-foreground: oklch(0.1700 0.0500 39);
  --secondary: oklch(0.2480 0.0104 252);
  --secondary-foreground: oklch(0.9650 0.0032 252);
  --muted: oklch(0.2480 0.0104 252);
  --muted-foreground: oklch(0.7150 0.0088 252);
  --accent: oklch(0.2750 0.0555 39);
  --accent-foreground: oklch(0.9500 0.0259 39);
  --destructive: oklch(0.5600 0.1980 27);
  --destructive-foreground: oklch(0.9900 0.0048 27);
  --border: oklch(0.3325 0.0112 252);
  --input: oklch(0.3325 0.0112 252);
  --ring: oklch(0.6900 0.1573 39);
  --chart-1: oklch(0.6000 0.1800 39);
  --chart-2: oklch(0.7000 0.1500 62);
  --chart-3: oklch(0.5100 0.1700 25);
  --chart-4: oklch(0.7800 0.1200 80);
  --chart-5: oklch(0.4300 0.1200 35);
}
