/* Channels — theme tokens (single source for app + landing).
   Direction C "Swiss Terminal": monochrome neutrals, one cyan accent,
   near-square radii, flat surfaces.

   Every value is a space-separated RGB triplet so Tailwind can consume it as
   `rgb(var(--c-900) / <alpha-value>)` and keep the `/20` opacity modifiers.
   Light is the default (`:root`); dark is `:root.dark`. theme.js picks one
   from the user's stored choice, else the OS preference.

   Brand colour is NOT part of this layer: C is brand-agnostic by design.
   Each brand's logo keeps its own colour, from its own asset (brand-hint.js). */

:root {
  color-scheme: light;

  /* Neutral ramp (slate/gray/zinc/neutral). High = surface, low = ink. */
  --c-50:  9 9 11;
  --c-100: 24 24 27;
  --c-200: 39 39 42;
  --c-300: 63 63 70;
  --c-400: 82 82 91;
  --c-500: 113 113 122;
  --c-600: 113 113 122;
  --c-700: 212 212 216;
  --c-800: 228 228 231;
  --c-900: 255 255 255;
  --c-950: 250 250 250;

  /* Accent ramp (indigo/teal/cyan/blue/purple/green all resolve here). */
  --a-50:  236 254 255;
  --a-100: 207 250 254;
  --a-200: 165 243 252;
  --a-300: 8 145 178;
  --a-400: 14 116 144;
  --a-500: 8 145 178;
  --a-600: 14 116 144;
  --a-700: 21 94 117;
  --a-800: 165 243 252;
  --a-900: 207 250 254;
  --a-950: 236 254 255;

  /* States — readable ink at low shades, soft tint at high shades. */
  --r-50:  254 242 242;
  --r-100: 254 226 226;
  --r-200: 254 202 202;
  --r-300: 239 68 68;
  --r-400: 220 38 38;
  --r-500: 220 38 38;
  --r-600: 185 28 28;
  --r-700: 153 27 27;
  --r-800: 254 202 202;
  --r-900: 254 226 226;
  --r-950: 254 242 242;

  --m-50:  255 251 235;
  --m-100: 254 243 199;
  --m-200: 253 230 138;
  --m-300: 217 119 6;
  --m-400: 180 83 9;
  --m-500: 217 119 6;
  --m-600: 146 64 14;
  --m-700: 120 53 15;
  --m-800: 253 230 138;
  --m-900: 254 243 199;
  --m-950: 255 251 235;

  --y-50:  254 252 232;
  --y-100: 254 249 195;
  --y-200: 254 240 138;
  --y-300: 202 138 4;
  --y-400: 161 98 7;
  --y-500: 202 138 4;
  --y-600: 133 77 14;
  --y-700: 113 63 18;
  --y-800: 254 240 138;
  --y-900: 254 249 195;
  --y-950: 254 252 232;

  --o-50:  255 247 237;
  --o-100: 255 237 213;
  --o-200: 254 215 170;
  --o-300: 234 88 12;
  --o-400: 194 65 12;
  --o-500: 234 88 12;
  --o-600: 154 52 18;
  --o-700: 124 45 18;
  --o-800: 254 215 170;
  --o-900: 255 237 213;
  --o-950: 255 247 237;
}

/* One-frame transition kill switch, applied by theme.js while the theme class
   flips. Without it, every element carrying a Tailwind transition animates its
   colours and switching theme looks like a flicker. */
html.theme-switching,
html.theme-switching *,
html.theme-switching *::before,
html.theme-switching *::after {
  transition: none !important;
}

.dark {
  color-scheme: dark;

  --c-50:  250 250 250;
  --c-100: 244 244 245;
  --c-200: 228 228 231;
  --c-300: 212 212 216;
  --c-400: 161 161 170;
  --c-500: 113 113 122;
  --c-600: 63 63 70;
  --c-700: 39 39 42;
  --c-800: 24 24 27;
  --c-900: 17 17 19;
  --c-950: 11 11 12;

  --a-50:  236 254 255;
  --a-100: 207 250 254;
  --a-200: 165 243 252;
  --a-300: 103 232 249;
  --a-400: 34 211 238;
  --a-500: 6 182 212;
  --a-600: 8 145 178;
  --a-700: 14 116 144;
  --a-800: 21 94 117;
  --a-900: 22 78 99;
  --a-950: 8 51 68;

  --r-50:  254 242 242;
  --r-100: 254 226 226;
  --r-200: 254 202 202;
  --r-300: 252 165 165;
  --r-400: 248 113 113;
  --r-500: 239 68 68;
  --r-600: 220 38 38;
  --r-700: 185 28 28;
  --r-800: 153 27 27;
  --r-900: 127 29 29;
  --r-950: 69 10 10;

  --m-50:  255 251 235;
  --m-100: 254 243 199;
  --m-200: 253 230 138;
  --m-300: 252 211 77;
  --m-400: 251 191 36;
  --m-500: 245 158 11;
  --m-600: 217 119 6;
  --m-700: 180 83 9;
  --m-800: 146 64 14;
  --m-900: 120 53 15;
  --m-950: 69 26 3;

  --y-50:  254 252 232;
  --y-100: 254 249 195;
  --y-200: 254 240 138;
  --y-300: 253 224 71;
  --y-400: 250 204 21;
  --y-500: 234 179 8;
  --y-600: 202 138 4;
  --y-700: 161 98 7;
  --y-800: 133 77 14;
  --y-900: 113 63 18;
  --y-950: 66 32 6;

  --o-50:  255 247 237;
  --o-100: 255 237 213;
  --o-200: 254 215 170;
  --o-300: 253 186 116;
  --o-400: 251 146 60;
  --o-500: 249 115 22;
  --o-600: 234 88 12;
  --o-700: 194 65 12;
  --o-800: 154 52 18;
  --o-900: 124 45 18;
  --o-950: 67 20 7;
}
