/* Design tokens — neuroprofit.it
   Registro contabile pubblico: lo scontrino di carta termica come oggetto
   di riferimento. Il rosso è riservato ai numeri negativi. */

:root {
  color-scheme: light;

  /* Colore */
  --paper: #E9EAE3;
  --paper-hi: #F6F6F1;
  --ink: #252131;
  --ink-soft: #5C5668;
  --rule: #C6C7BE;
  --loss: #BE2A1E;
  --brand: #3B23D6;
  --brand-soft: #E0DCFB;

  /* Font */
  --font-display: 'Bricolage Grotesque', system-ui, -apple-system, sans-serif;
  --font-mono: 'Martian Mono', ui-monospace, 'Cascadia Mono', 'Consolas', monospace;

  /* Scala tipografica fluida (mai sotto i 14px) */
  --fs-h1: clamp(2.75rem, 2.05rem + 3.1vw, 5.25rem);
  --fs-h2: clamp(1.875rem, 1.6rem + 1.2vw, 2.75rem);
  --fs-h3: clamp(1.375rem, 1.25rem + 0.55vw, 1.75rem);
  --fs-lead: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --fs-body: clamp(1rem, 0.96rem + 0.15vw, 1.0625rem);
  --fs-small: clamp(0.875rem, 0.86rem + 0.06vw, 0.9375rem);
  --fs-micro: 0.8125rem;

  --fs-mono-total: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
  --fs-mono-line: clamp(0.9375rem, 0.9rem + 0.15vw, 1rem);
  --fs-mono-stat: clamp(1.375rem, 1.2rem + 0.7vw, 1.875rem);
  --fs-mono-small: 0.875rem;

  --lh-display: 0.96;
  --lh-body: 1.5;
  --lh-mono: 1.3;

  --ls-display: -0.04em;

  /* Spaziatura */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* Layout */
  --container-max: 75rem;
  --measure: 68ch;
  --side-margin: 1.5rem;

  /* Bordi e forme: niente raggio, mai */
  --radius: 0;
  --rule-w: 1.5px;
  --rule-w-strong: 2px;

  --focus-ring: 3px solid var(--brand);

  --shadow-receipt: 0 18px 40px -20px rgb(37 33 49 / 0.35), 0 2px 0 rgb(37 33 49 / 0.06);

  /* Scontrino: dentelli */
  --tooth-w: 20px;
  --tooth-h: 9px;
  --tooth-angle: atan2(calc(var(--tooth-w) / 2), var(--tooth-h));
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --paper: #17141F;
    --paper-hi: #201C2B;
    --ink: #EDEBE2;
    --ink-soft: #9D97AC;
    --rule: #39334A;
    --loss: #FF6A5A;
    --brand: #A797FF;
    --brand-soft: #2A2350;
    --shadow-receipt: 0 18px 40px -20px rgb(0 0 0 / 0.6), 0 2px 0 rgb(0 0 0 / 0.2);
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #17141F;
  --paper-hi: #201C2B;
  --ink: #EDEBE2;
  --ink-soft: #9D97AC;
  --rule: #39334A;
  --loss: #FF6A5A;
  --brand: #A797FF;
  --brand-soft: #2A2350;
  --shadow-receipt: 0 18px 40px -20px rgb(0 0 0 / 0.6), 0 2px 0 rgb(0 0 0 / 0.2);
}
