/* ============================================================
   Pegel — Color tokens
   Thermal metaphor: cool water IN, warm amber OUT, hot coral URGE.
   Neutrals are slightly cool (clean water / paper).
   All base values in oklch for harmonious scales.
   ============================================================ */
:root {
  /* ---- Cool neutrals (ink + paper) ---- */
  --ink-900: oklch(0.25 0.025 250);   /* primary text — deep navy */
  --ink-700: oklch(0.40 0.022 250);
  --ink-500: oklch(0.55 0.020 250);   /* secondary text */
  --ink-400: oklch(0.66 0.018 248);   /* tertiary / placeholder */
  --ink-300: oklch(0.80 0.014 245);
  --ink-200: oklch(0.90 0.010 240);   /* hairline borders */
  --ink-100: oklch(0.955 0.007 235);  /* subtle fills */
  --ink-050: oklch(0.975 0.005 232);  /* app background */
  --white:   #ffffff;

  /* ---- Water (brand / intake) ---- */
  --water-700: oklch(0.49 0.125 233);
  --water-600: oklch(0.57 0.128 230);
  --water-500: oklch(0.64 0.120 228);  /* brand primary */
  --water-400: oklch(0.73 0.100 224);
  --water-300: oklch(0.83 0.072 220);
  --water-200: oklch(0.91 0.045 218);
  --water-100: oklch(0.955 0.025 216); /* tint surface */

  /* ---- Amber (void / output) ---- */
  --amber-700: oklch(0.62 0.130 64);
  --amber-600: oklch(0.70 0.135 68);   /* void primary */
  --amber-500: oklch(0.78 0.125 74);
  --amber-200: oklch(0.92 0.055 80);
  --amber-100: oklch(0.962 0.032 82);

  /* ---- Coral (urge / over-capacity) ---- */
  --coral-700: oklch(0.54 0.185 31);
  --coral-600: oklch(0.60 0.190 33);
  --coral-500: oklch(0.66 0.175 35);   /* urge primary */
  --coral-200: oklch(0.90 0.060 38);
  --coral-100: oklch(0.955 0.035 40);

  /* ---- Calm green (good / hydrated, sparing) ---- */
  --leaf-600: oklch(0.60 0.110 158);
  --leaf-100: oklch(0.955 0.035 162);

  /* ============================================================
     Semantic aliases — reference these in components
     ============================================================ */
  --bg-app: var(--ink-050);
  --surface-card: var(--white);
  --surface-sunken: var(--ink-100);
  --surface-tint: var(--water-100);

  --text-primary: var(--ink-900);
  --text-secondary: var(--ink-500);
  --text-tertiary: var(--ink-400);
  --text-on-accent: var(--white);

  --border-hairline: var(--ink-200);
  --border-strong: var(--ink-300);

  --accent: var(--water-500);
  --accent-strong: var(--water-600);
  --accent-tint: var(--water-100);

  /* domain semantics */
  --intake: var(--water-500);          /* drinking (+ml) */
  --intake-tint: var(--water-100);
  --void: var(--amber-600);            /* urinating (−ml) */
  --void-tint: var(--amber-100);
  --urge: var(--coral-500);            /* over 100% capacity */
  --urge-strong: var(--coral-600);
  --urge-tint: var(--coral-100);
  --good: var(--leaf-600);

  /* gauge fill (estimated bladder level) */
  --gauge-fill-top: var(--water-400);
  --gauge-fill-bottom: var(--water-600);
  --gauge-track: var(--water-100);
  --gauge-urge-top: var(--coral-500);
  --gauge-urge-bottom: var(--coral-600);
}
