:root {
  /* Canvas */
  --bg:       #0d0d0d;
  --bg-1:     #141414;
  --bg-2:     #1a1a1a;
  --bg-3:     #222222;

  /* Text — WCAG AAA on dark */
  --text:     #f0ece4;   /* 15.8:1 on --bg-1 — AAA */
  --text-2:   #aca8a2;   /*  7.1:1 on --bg-1 — AAA */
  --text-3:   #5a524a;   /*  3.1:1 on --bg — decorative/structural only, never for readable text */

  /* Accent — brownstone brown */
  --brown:    #c8783a;   /* 4.6:1 on --bg — AA large */
  --brown-2:  #e09060;   /* 6.8:1 — AA all sizes */
  --brown-dim: rgba(200,120,58,0.12);
  --brown-border: rgba(200,120,58,0.28);

  /* Semantic — AAA on --bg-1 */
  --red:      #ff8585;   /* 7.15:1 on --bg-1 — AAA (saturated red cannot hit 7:1 on dark; this is optimal coral-red) */
  --amber:    #d48c2a;
  --green:    #64c080;   /* 7.49:1 on --bg-1 — AAA */

  /* Structure */
  --border:   rgba(240,236,228,0.08);
  --border-2: rgba(240,236,228,0.14);


  /* App token aliases */
  --navy:       #0d0d0d;
  --gold:       #c8783a;
  --gold-light: #e09060;
  --cream:      #f0ece4;
  --shadow:     0 1px 4px rgba(0,0,0,0.3), 0 4px 20px rgba(0,0,0,0.2);
  --red-bg:     rgba(224,82,82,0.08);
  --amber-bg:   rgba(212,140,42,0.08);
  --green-bg:   rgba(74,158,104,0.08);
  /* Type */
  --font-sans: 'DM Sans', system-ui, -apple-system, sans-serif;
  --font-serif: 'DM Serif Display', Georgia, serif;
  --font-mono: 'DM Mono', 'Courier New', monospace;
}

/* base resets */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--font-sans); font-size: 15px; line-height: 1.6; color: var(--text); background: var(--bg); }
img { display: block; max-width: 100%; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--brown-2); outline-offset: 3px; border-radius: 3px; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:0.01ms!important;transition-duration:0.01ms!important; }
}
