/* FreePool design tokens - SPEC §5.1.
 *
 * One source of truth for the v2 shell. The Phaser table still draws its own
 * felt/ball colors; anything outside the table reads from here so the menus,
 * lobby, tournament bracket and store cannot drift apart.
 */
:root {
  /* surface */
  --fp-bg:          #0d2418;
  --fp-bg-elev:     #12301f;
  --fp-bg-elev-2:   #173b28;
  --fp-hairline:    rgba(255,255,255,.08);
  --fp-scrim:       rgba(0,0,0,.55);

  /* ink */
  --fp-ink:         #eef3ef;
  --fp-ink-dim:     rgba(238,243,239,.66);
  --fp-ink-faint:   rgba(238,243,239,.40);

  /* accent */
  --fp-accent:      #4aa8ff;   /* primary action  */
  --fp-accent-ink:  #04203c;
  --fp-good:        #8cffaa;   /* your turn, ready, won */
  --fp-warn:        #ffc861;   /* time running out */
  --fp-bad:         #ff6b5c;   /* destructive, timeout, loss */
  --fp-gold:        #ffd76a;   /* coins */

  /* radius */
  --fp-r-card:      12px;
  --fp-r-input:     8px;
  --fp-r-pill:      999px;

  /* spacing - 4pt grid */
  --fp-s1: 4px;  --fp-s2: 8px;  --fp-s3: 12px;
  --fp-s4: 16px; --fp-s5: 24px; --fp-s6: 32px;

  /* type */
  --fp-font: 'Segoe UI', system-ui, -apple-system, sans-serif;
  --fp-t-xs: 12px; --fp-t-sm: 14px; --fp-t-md: 17px;
  --fp-t-lg: 22px; --fp-t-xl: 30px;

  /* motion */
  --fp-enter: 180ms cubic-bezier(.2,.7,.3,1);
  --fp-tap:   120ms cubic-bezier(.2,.7,.3,1);

  /* elevation */
  --fp-shadow-1: 0 1px 3px rgba(0,0,0,.35);
  --fp-shadow-2: 0 6px 20px rgba(0,0,0,.45);

  /* safe areas - the shell is drawn edge to edge under the notch */
  --fp-safe-t: env(safe-area-inset-top, 0px);
  --fp-safe-b: env(safe-area-inset-bottom, 0px);
  --fp-safe-l: env(safe-area-inset-left, 0px);
  --fp-safe-r: env(safe-area-inset-right, 0px);
}

@media (prefers-reduced-motion: reduce) {
  :root { --fp-enter: 1ms; --fp-tap: 1ms; }
}
