/* kslate brand tokens — the single source for the site's colours.
   Spec from the brand owner, 2026-10-02; values used exactly as given (the
   brand owner's assets/tokens.css). The site derives nothing of its own.

   LOGO COLOURS ARE LOGO-ONLY. Coral is 2.8:1 against white and is never
   used for text or UI; it appears only in the mark and the lockups.

   NEUTRALS are all in the Slate family. The light theme's code-block
   background is the dark theme's page background, so code blocks stay dark
   in both themes.

   STATES pass the 4.5:1 text minimum on GitHub's white and dark backgrounds
   and, as the ratios below show, on this site's own backgrounds. A state is
   NEVER shown by colour alone: rejected also gets a strikethrough, claimed
   shows its lease expiry, disputed gets a dashed outline. Badges use the
   LIGHT-theme state colours on both themes, with a slate #3d4a57 label side.
   Contrast ratios are WCAG 2.x relative-luminance ratios. */

:root {
  /* logo only — do not use for text or UI */
  --ks-logo-slate: #3d4a57;
  --ks-logo-chalk: #eef1f3;
  --ks-logo-coral: #ec7a64; /* 2.8:1 on white: not text-safe */

  /* neutrals, light */
  --ks-bg: #eef1f3;
  --ks-surface: #f8fafb;
  --ks-ink: #26303a; /* 11.8:1 on bg, 12.8:1 on surface */
  --ks-ink-2: #3d4a57; /* 8.0:1 on bg, 8.7:1 on surface */
  --ks-muted: #5d6b78; /* 4.8:1 on bg, 5.2:1 on surface */
  --ks-rule: #cfd6dc; /* 1.3:1 on bg (non-text) */
  --ks-code-bg: #1c232a;

  --ks-accepted: #2e6b5e; /* 5.5:1 on bg, 5.9:1 on surface */
  --ks-rejected: #a8412e; /* 5.3:1 on bg, 5.8:1 on surface */
  --ks-claimed: #7a5c14; /* 5.5:1 on bg, 6.0:1 on surface */
  --ks-disputed: #56508f; /* 6.3:1 on bg, 6.8:1 on surface */
  /* rejected: a darker, text-safe coral — the logo and the "no" stay related */

  /* badges: light-theme state colours on BOTH themes, slate label side */
  --ks-badge-label: #3d4a57;
  --ks-badge-accepted: #2e6b5e;
  --ks-badge-rejected: #a8412e;
  --ks-badge-claimed:  #7a5c14;
  --ks-badge-disputed: #56508f;
}

.dark {
  --ks-logo-slate: #4a5967;

  /* neutrals, dark */
  --ks-bg: #1c232a;
  --ks-surface: #242d35;
  --ks-ink: #e6ebef; /* 13.2:1 on bg, 11.6:1 on surface */
  --ks-ink-2: #c3ccd4; /* 9.8:1 on bg, 8.6:1 on surface */
  --ks-muted: #98a6b3; /* 6.4:1 on bg, 5.6:1 on surface */
  --ks-rule: #36424d; /* 1.5:1 on bg (non-text) */
  --ks-code-bg: #141a1f;

  --ks-accepted: #7cc4b2; /* 7.9:1 on bg, 6.9:1 on surface */
  --ks-rejected: #f0937f; /* 6.9:1 on bg, 6.1:1 on surface */
  --ks-claimed: #d9b865; /* 8.3:1 on bg, 7.3:1 on surface */
  --ks-disputed: #aba5e0; /* 6.9:1 on bg, 6.1:1 on surface */
}
