:root {
  --mint-50: #edf4ef;
  --mint-100: #dde9e1;
  --mint-200: #c7d8cd;
  --mint-300: #b7ccbf;

  --black-950: #050404;
  --black-900: #0d0d0d;
  --ink-850: #171717;
  --ink-800: #222121;
  --ink-700: #343434;
  --ink-500: #686868;

  --white-50: #fffdf8;
  --white-100: #f7f7f3;

  --coral-400: #fb8f7b;
  --coral-500: #f26656;
  --coral-600: #d94d40;

  --yellow-300: #ffe18a;
  --yellow-400: #f8ce64;
  --yellow-500: #e8b946;

  --violet-400: #8b8dff;
  --violet-500: #777af9;
  --violet-600: #6264d7;

  --cyan-200: #d8f1f3;
  --cyan-300: #cce7ee;
  --cyan-400: #a9d8df;

  --green-300: #aee2b8;
  --green-400: #8ed69f;
  --green-600: #267a4a;

  --red-500: #d94132;
  --orange-500: #a65a00;

  --color-canvas: var(--mint-200);
  --color-canvas-soft: var(--mint-100);
  --color-surface-primary: var(--white-50);
  --color-surface-inverse: var(--black-950);
  --color-surface-raised: var(--ink-800);
  --color-surface-coral: var(--coral-500);
  --color-surface-yellow: var(--yellow-400);
  --color-surface-violet: var(--violet-500);
  --color-surface-cyan: var(--cyan-300);
  --color-surface-green: var(--green-300);

  --color-text-primary: var(--black-950);
  --color-text-secondary: #4c554f;
  --color-text-inverse: var(--white-50);
  --color-text-muted-inverse: rgba(255, 253, 248, 0.68);

  --color-border-strong: var(--black-950);
  --color-border-inverse: rgba(255, 255, 255, 0.14);
  --color-border-subtle: rgba(5, 4, 4, 0.14);

  --color-action-primary: var(--black-950);
  --color-action-active: var(--cyan-300);
  --color-focus: var(--violet-600);
  --color-success: var(--green-600);
  --color-warning: var(--orange-500);
  --color-danger: var(--red-500);

  --font-display: "Avenir Next Condensed", "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  --font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-ui: var(--font-body);

  --text-display-xl: clamp(2.65rem, 12vw, 3.65rem);
  --text-display-lg: clamp(2.1rem, 9vw, 2.9rem);
  --text-h1: clamp(1.75rem, 7vw, 2.25rem);
  --text-h2: 1.5rem;
  --text-h3: 1.125rem;
  --text-body-lg: 1rem;
  --text-body: 0.9375rem;
  --text-small: 0.8125rem;
  --text-label: 0.6875rem;

  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --radius-xl: 28px;
  --radius-2xl: 34px;
  --radius-pill: 999px;

  --stroke-thin: 1px;
  --stroke-default: 1.5px;
  --stroke-strong: 2px;

  --motion-instant: 80ms;
  --motion-fast: 120ms;
  --motion-standard: 220ms;
  --motion-emphasis: 360ms;
  --ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);

  --frame-max: 520px;
  --page-gutter: 16px;
  --dock-height: 72px;
  --dock-space: 104px;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);

  /* Compatibilità con il motore e i componenti esistenti. */
  --fs-display: var(--text-display-xl);
  --fs-h1: var(--text-h1);
  --fs-h2: var(--text-h2);
  --fs-h3: var(--text-h3);
  --fs-body: var(--text-body);
  --fs-sm: var(--text-small);
  --fs-xs: 0.75rem;
  --fs-micro: var(--text-label);
  --ls-caps: 0.045em;
  --ls-tight: -0.025em;

  --sp-1: var(--space-1);
  --sp-2: var(--space-2);
  --sp-3: var(--space-3);
  --sp-4: var(--space-4);
  --sp-5: var(--space-5);
  --sp-6: var(--space-6);
  --sp-8: var(--space-8);
  --sp-10: var(--space-10);
  --gutter: var(--page-gutter);
  --h-nav: var(--dock-space);
  --tap: 44px;

  --r-xs: var(--radius-xs);
  --r-sm: var(--radius-sm);
  --r-md: var(--radius-md);
  --r-lg: var(--radius-lg);
  --r-xl: var(--radius-xl);
  --r-pill: var(--radius-pill);
  --r-sheet: var(--radius-xl);

  --t1: var(--motion-fast);
  --t2: var(--motion-standard);
  --t3: var(--motion-standard);
  --t4: var(--motion-emphasis);
  --e-out: var(--ease-standard);
  --e-spring: var(--ease-emphasis);
  --e-sheet: var(--ease-emphasis);

  --nero: var(--black-950);
  --corallo: var(--coral-500);
  --giallo: var(--yellow-400);
  --viola: var(--violet-500);
  --verde: var(--green-300);
  --azzurro: var(--cyan-300);
  --salvia: var(--mint-300);
  --panna: var(--white-50);

  --bg: var(--color-canvas);
  --surf: var(--color-surface-primary);
  --surf2: var(--color-canvas-soft);
  --sunk: var(--mint-300);
  --inverse: var(--color-surface-inverse);
  --scrim: rgba(5, 4, 4, 0.72);
  --fg1: var(--color-text-primary);
  --fg2: var(--color-text-secondary);
  --fg3: var(--ink-500);
  --fg-inv: var(--color-text-inverse);
  --on-acc: var(--color-text-primary);
  --line: var(--color-border-strong);
  --line2: var(--color-border-subtle);
  --acc: var(--color-surface-coral);
  --acc-soft: var(--coral-400);
  --acc-soft-fg: var(--black-950);
  --acc2: var(--color-surface-yellow);
  --acc2-soft: var(--yellow-300);
  --acc2-fg: var(--black-950);
  --si: var(--color-success);
  --si-soft: var(--green-300);
  --si-fg: var(--black-950);
  --forse: var(--color-warning);
  --forse-soft: var(--yellow-300);
  --forse-fg: var(--black-950);
  --no: var(--color-danger);
  --no-soft: var(--coral-400);
  --no-fg: var(--black-950);

  --bordo: var(--stroke-strong) solid var(--color-border-strong);
  --dura: none;
  --dura-sm: none;
  --sh1: none;
  --sh2: none;
  --sh3: none;
  --sh4: 0 18px 44px rgba(5, 4, 4, 0.2);
  --sh5: 0 -16px 48px rgba(5, 4, 4, 0.18);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: light;
    --bg: var(--color-canvas);
    --surf: var(--color-surface-primary);
    --surf2: var(--color-canvas-soft);
    --sunk: var(--mint-300);
    --inverse: var(--color-surface-inverse);
    --fg1: var(--color-text-primary);
    --fg2: var(--color-text-secondary);
    --fg3: var(--ink-500);
    --fg-inv: var(--color-text-inverse);
    --line: var(--color-border-strong);
    --line2: var(--color-border-subtle);
    --bordo: var(--stroke-strong) solid var(--color-border-strong);
    --dura: none;
    --dura-sm: none;
  }
}
