/* PoulPal - tokens.css
   The only file that holds raw values. Every other file reads var() alone.
   Palette fixed by the poulpal-protocol skill; contrast ratios in contrast.md. */

:root {
  /* ---------- Colour: the fixed palette ---------- */
  --color-ink: #1B1F24;
  --color-paper: #F7F5F0;
  --color-seal: #1F4E79;
  --color-muted: #5A616E;
  --color-line: #D9D5CC;
  --color-verified: #2E7D32;
  --color-dispute: #C62828;

  /* ---------- Colour: roles ---------- */
  --text: var(--color-ink);
  --text-secondary: var(--color-muted);
  --surface: var(--color-paper);
  --action: var(--color-seal);
  --action-hover: var(--color-ink);
  --on-action: var(--color-paper);
  --link: var(--color-seal);
  --border-decorative: var(--color-line);
  --border-control: var(--color-muted);
  --border-strong: var(--color-ink);
  --focus-ring: var(--color-seal);
  --stamp: var(--color-seal);

  --status-open: var(--color-seal);
  --status-claimed: var(--color-ink);
  --status-verified: var(--color-verified);
  --status-dispute: var(--color-dispute);
  --status-void: var(--color-muted);

  /* ---------- Spacing: 4px scale ---------- */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;

  /* ---------- Typography ---------- */
  --font-family: "Vazirmatn FD", Tahoma, sans-serif;
  --font-code: "Vazirmatn Code", Tahoma, sans-serif;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;

  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-md: 16px;
  --fs-lg: 20px;
  --fs-xl: 24px;
  --fs-2xl: 32px;
  --fs-3xl: 40px;
  --fs-4xl: 56px;
  --fs-display: clamp(40px, 10vw, 72px);
  --fs-amount: clamp(40px, 12vw, 56px);

  --lh-tight: 1.3;
  --lh-snug: 1.5;
  --lh-body: 1.8;

  /* ---------- Border, radius, shadow ---------- */
  --border-1: 1px;
  --border-2: 2px;
  --border-accent: 4px;

  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;

  --shadow-sheet: 0 8px 24px rgb(27 31 36 / 0.08);

  /* ---------- Fixed sizes ---------- */
  --tap-min: 44px;
  --icon-sm: 20px;
  --icon-md: 24px;
  --stamp-size: 128px;
  --stamp-rotate: -8deg;
  --qr-size: 168px;
  --focus-width: 2px;
  --focus-offset: 2px;

  --measure: 60ch;
  --sheet-max: 600px;
  --form-max: 520px;
  --page-max: 1120px;
  --bottom-bar-h: 76px;
}
