/* ===================================================================
   russelldangerr.com — shared design tokens (Refined Paper)
   Single source of truth. Every page links this FIRST, before its own
   stylesheet. Surface-local values (radii, spacing, per-surface timing)
   stay in each page's own :root.
   =================================================================== */
:root {
  color-scheme: light;

  /* Neutrals — the 70% */
  --paper:        #fbf8f1;
  --paper-raised: #fffdf8;
  --paper-sunken: #f3eee3;
  --ink:          #1a1714;
  --ink-soft:     #56504a;
  --ink-mute:     #7a7268;
  --line:         rgba(28, 23, 20, 0.14);
  --dot:          rgba(28, 23, 20, 0.06);

  /* Blue — the 20% workhorse */
  --blue:        #23458c;
  --blue-deep:   #172e5c;
  --blue-bright: #3e6fb5;
  --blue-tint:   #e7edf7;

  /* Orange — the 10% spice */
  --orange:      #d9622b;
  --orange-deep: #9a3412;
  --orange-tint: #fbeadd;

  /* Semantic extensions — intentionally outside the 70/20/10 palette */
  --danger: #b91c1c;   /* destructive actions + "hard" difficulty */
  --check:  #15803d;   /* checkbox success tick */

  /* Difficulty ramp — semantic aliases onto the palette */
  --easy:   var(--blue);
  --medium: var(--orange);
  --hard:   var(--danger);

  /* Type */
  --font-pixel:   'Press Start 2P', monospace;
  --font-display: 'Bricolage Grotesque', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:    'Bricolage Grotesque', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'Fira Code', 'JetBrains Mono', 'Consolas', monospace;

  /* Hard offset shadows — no blur, ever */
  --sh-xs: 2px 2px 0 var(--ink);
  --sh-sm: 3px 3px 0 var(--ink);
  --sh:    5px 5px 0 var(--ink);
  --sh-lg: 8px 8px 0 var(--ink);
  --sh-blue:   5px 5px 0 var(--blue-deep);
  --sh-orange: 4px 4px 0 var(--orange-deep);

  /* Easings */
  --ease:           180ms ease;
  --ease-confident: 140ms cubic-bezier(.2, .7, .2, 1);
  --bounce:         150ms cubic-bezier(.34, 1.56, .64, 1);   /* rat + console caret only */
}
