/* Brand tokens. The single source of truth for color, type, and spacing.
   Referenced by every other stylesheet. Do not hardcode hex values elsewhere. */

:root {
  /* Brand palette */
  --midnight: #0A1A2F;      /* headers, dark bands, primary text */
  --cobalt: #1E4FFF;        /* links, active states, primary buttons */
  --cream: #F5F1E8;         /* callout backgrounds */
  --muted: #5A6472;         /* secondary text */
  --line: #D8DDE4;          /* borders */
  --soft: #F5F7FA;          /* card backgrounds */

  /* Amber warning */
  --amber-bg: #FFF4E5;
  --amber-rule: #B26A00;
  --amber-text: #5C3600;

  /* Derived / functional */
  --cobalt-hover: #1740D6;
  --white: #FFFFFF;
  --text: var(--midnight);
  --text-secondary: var(--muted);

  /* Status (badges carry text too; color is never the only signal) */
  --ok-bg: #E6F4EA;   --ok-text: #1B5E20;   --ok-rule: #2E7D32;
  --warn-bg: var(--amber-bg); --warn-text: var(--amber-text); --warn-rule: var(--amber-rule);
  --bad-bg: #FDECEA;  --bad-text: #8A1C13;  --bad-rule: #C62828;

  /* Typography */
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --lh: 1.6;

  /* Spacing scale */
  --s1: 0.25rem;
  --s2: 0.5rem;
  --s3: 0.75rem;
  --s4: 1rem;
  --s5: 1.5rem;
  --s6: 2rem;
  --s7: 3rem;
  --s8: 4rem;

  /* Radius and shadow */
  --radius: 10px;
  --radius-sm: 6px;
  --shadow: 0 1px 3px rgba(10, 26, 47, 0.08), 0 4px 12px rgba(10, 26, 47, 0.06);
  --shadow-lg: 0 8px 30px rgba(10, 26, 47, 0.12);

  /* Layout */
  --maxw: 68rem;
  --maxw-narrow: 44rem;
  --focus: 0 0 0 3px rgba(30, 79, 255, 0.4);
}
