/* rate.email design tokens
   Light theme only. Raw palette steps (--re-n-*, --re-p-*) never change;
   only semantic tokens point at them. */

:root {
  color-scheme: light;

  /* ---- Raw neutrals: cool graphite, slightly blue. Never use raw steps in UI, use semantics. */
  --re-n-0:   #FFFFFF;
  --re-n-25:  #F7F8FA;
  --re-n-50:  #EFF1F5;
  --re-n-100: #E4E7ED;
  --re-n-200: #D6DBE3;
  --re-n-300: #B9C1CD;
  --re-n-400: #94A0AF;
  --re-n-500: #5A6675;
  --re-n-600: #47525F;
  --re-n-700: #38424F;
  --re-n-800: #232B35;
  --re-n-900: #161C26;
  --re-n-950: #0E1219;

  /* ---- Raw primary: ultramarine ink */
  --re-p-50:  #EEF0FC;
  --re-p-100: #DCE0F8;
  --re-p-200: #BAC2F1;
  --re-p-300: #93A2FF;
  --re-p-400: #5A6BD8;
  --re-p-500: #3B4CC4;
  --re-p-600: #2B3FAE;
  --re-p-700: #233591;
  --re-p-800: #1C2A73;
  --re-p-900: #151A3A;

  /* ---- Raw verdict hues.
     Chosen blue-shifted so deuteranopes and protanopes still separate them:
     teal-green, ochre-amber, magenta-crimson. Colour is never the only signal. */
  --re-accept-600: #0E7255;
  --re-accept-300: #3FD7A4;
  --re-accept-soft: #E2F4EC;

  --re-review-600: #8A5300;
  --re-review-300: #F2B851;
  --re-review-soft: #FBEEDA;

  --re-reject-600: #BC1B45;
  --re-reject-300: #FF7C9C;
  --re-reject-soft: #FCE7EC;

  /* ---- Semantic surfaces */
  --re-bg:            var(--re-n-25);
  --re-surface:       var(--re-n-0);
  --re-surface-sunk:  var(--re-n-50);
  --re-code-bg:       var(--re-n-900);   /* dark code surface, on light and dark pages alike */
  --re-border:        var(--re-n-200);
  --re-border-strong: var(--re-n-300);
  --re-focus:         var(--re-p-500);

  /* ---- Semantic text */
  --re-text:        var(--re-n-950);
  --re-text-body:   var(--re-n-700);
  --re-text-muted:  var(--re-n-500);
  --re-text-invert: var(--re-n-25);
  --re-text-link:   var(--re-p-600);

  /* ---- Semantic accents */
  --re-accent:       var(--re-p-600);
  --re-accent-hover: var(--re-p-700);
  --re-accent-soft:  var(--re-p-50);
  --re-accent-text:  var(--re-p-700);

  /* ---- Verdicts, semantic */
  --re-accept:      var(--re-accept-600);
  --re-accept-bg:   var(--re-accept-soft);
  --re-accept-on:   var(--re-n-0);
  --re-review:      var(--re-review-600);
  --re-review-bg:   var(--re-review-soft);
  --re-review-on:   var(--re-n-950);
  --re-reject:      var(--re-reject-600);
  --re-reject-bg:   var(--re-reject-soft);
  --re-reject-on:   var(--re-n-0);

  /* ---- Gauge track */
  --re-gauge-track: var(--re-n-200);

  /* ---- Type */
  --re-font-sans: "IBM Plex Sans", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --re-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Scale: 1.200 from a 16px base. Sizes below 1rem are for dense UI only. */
  --re-text-2xs: 0.694rem;  /* 11.1px */
  --re-text-xs:  0.833rem;  /* 13.3px */
  --re-text-sm:  0.917rem;  /* 14.7px */
  --re-text-md:  1rem;      /* 16px   */
  --re-text-lg:  1.2rem;    /* 19.2px */
  --re-text-xl:  1.44rem;   /* 23px   */
  --re-text-2xl: 1.728rem;  /* 27.6px */
  --re-text-3xl: 2.074rem;  /* 33.2px */
  --re-text-4xl: 2.488rem;  /* 39.8px */

  --re-leading-tight: 1.15;
  --re-leading-snug:  1.35;
  --re-leading-body:  1.6;

  --re-weight-regular: 400;
  --re-weight-medium:  500;
  --re-weight-semibold: 600;

  --re-tracking-tight: -0.02em;
  --re-tracking-normal: 0;
  --re-tracking-wide: 0.02em;

  /* ---- Spacing, 4px base */
  --re-space-1: 0.25rem;
  --re-space-2: 0.5rem;
  --re-space-3: 0.75rem;
  --re-space-4: 1rem;
  --re-space-5: 1.5rem;
  --re-space-6: 2rem;
  --re-space-7: 3rem;
  --re-space-8: 4rem;
  --re-space-9: 6rem;

  /* ---- Radii. Instrument panel, not pill-shaped SaaS. */
  --re-radius-0: 0;
  --re-radius-1: 3px;
  --re-radius-2: 6px;
  --re-radius-3: 10px;
  --re-radius-full: 999px;

  /* ---- Shadows: cool tinted, tight, never a soft grey halo */
  --re-shadow-1: 0 1px 0 rgba(20, 28, 40, 0.06), 0 1px 2px rgba(20, 28, 40, 0.08);
  --re-shadow-2: 0 1px 0 rgba(20, 28, 40, 0.05), 0 6px 16px -6px rgba(20, 28, 40, 0.18);
  --re-shadow-focus: 0 0 0 3px rgba(59, 76, 196, 0.35);

  --re-border-width: 1px;
  --re-maxw-prose: 68ch;
}
