/* =========================================================================
   krinia-tokens.css - GENERATO da scripts/build_tokens.mjs
   NON modificare a mano: rigenera con `node scripts/build_tokens.mjs`.
   Fonte canonica: design-system/tokens/*.json (brand Krinia, warm corallo/blush).
   Light = :root, dark = [data-theme="dark"] (override manuale) + html.dark.
   Solo custom properties: CSP-safe (style-src 'self'), nessuno stile inline.
   ========================================================================= */

:root {
  --brand-sage-50: #fbede8;
  --brand-sage-100: #f2c8be;
  --brand-sage-200: #e9ac9d;
  --brand-sage-300: #de8e7a;
  --brand-sage-400: #d67e67;
  --brand-sage-500: #c96a55;
  --brand-sage-600: #b85b48;
  --brand-sage-700: #a8503f;
  --brand-sage-800: #7c3a2e;
  --brand-sage-900: #4f251d;
  --brand-amber-50: #fdf1ec;
  --brand-amber-100: #f9ddd4;
  --brand-amber-200: #f1c1b3;
  --brand-amber-300: #e8a89a;
  --brand-amber-400: #dd8b78;
  --brand-amber-500: #cf6f59;
  --brand-amber-600: #b3573f;
  --brand-amber-700: #8c422f;
  --brand-amber-800: #5f2d20;
  --brand-amber-900: #3a1b14;
  --brand-cream-50: #fdfaf3;
  --brand-cream-100: #f6f1ea;
  --brand-cream-200: #ece4d7;
  --brand-cream-300: #e3d8c4;
  --brand-cream-400: #cbb89c;
  --brand-warm-50: #4a3f37;
  --brand-warm-100: #2a2018;
  --brand-warm-200: #1f1a16;
  --brand-warm-300: #15110e;
  --brand-warm-400: #100d0a;
  --brand-warm-500: #0a0807;
  --brand-muted-300: #a89c8e;
  --brand-muted-400: #7a6e63;
  --brand-muted-500: #4a3f37;
  --brand-muted-600: #3a2f28;
  --brand-plum-500: #3b2230;
  --bg-primary: #f6f1ea;
  --bg-secondary: #ece4d7;
  --bg-tertiary: #fdfaf3;
  --bg-tinted: #f2c8be;
  --surface-primary: #fdfaf3;
  --surface-raised: #fffdf9;
  --surface-overlay: rgba(21,17,14,0.7);
  --text-primary: #15110e;
  --text-secondary: #4a3f37;
  --text-tertiary: #645749;
  --text-inverse: #fdfaf3;
  --text-accent: #b85b48;
  --text-highlight: #c96a55;
  --border-subtle: rgba(21,17,14,0.06);
  --border-default: rgba(21,17,14,0.12);
  --border-strong: rgba(21,17,14,0.22);
  --border-accent: #c96a55;
  --interactive-primary: #c96a55;
  --interactive-primary-hover: #b85b48;
  --interactive-primary-active: #a8503f;
  --interactive-primary-text: #fdfaf3;
  --interactive-secondary: #ece4d7;
  --interactive-secondary-hover: #e3d8c4;
  --interactive-secondary-text: #15110e;
  --interactive-accent: #e8a89a;
  --interactive-accent-hover: #dd8b78;
  --interactive-accent-text: #15110e;
  --feedback-success: #4f7a4a;
  --feedback-warning: #c79024;
  --feedback-danger: #b34c43;
  --feedback-info: #b85b48;
  --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;
  --space-32: 128px;
  --space-px: 1px;
  --space-0.5: 2px;
  --space-1.5: 6px;
  --radius-none: 0;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-2xl: 28px;
  --radius-full: 9999px;
  --border-width-0: 0;
  --border-width-hairline: 1px;
  --border-width-thin: 1.5px;
  --border-width-thick: 2px;
  --shadow-none: none;
  --shadow-xs: 0 1px 2px rgba(42, 37, 32, 0.04), 0 0 1px rgba(42, 37, 32, 0.06);
  --shadow-sm: 0 2px 6px rgba(42, 37, 32, 0.06), 0 1px 2px rgba(42, 37, 32, 0.05);
  --shadow-md: 0 6px 16px rgba(42, 37, 32, 0.08), 0 2px 4px rgba(42, 37, 32, 0.05);
  --shadow-lg: 0 12px 28px rgba(42, 37, 32, 0.10), 0 4px 8px rgba(42, 37, 32, 0.06);
  --shadow-xl: 0 24px 48px rgba(42, 37, 32, 0.14), 0 8px 16px rgba(42, 37, 32, 0.08);
  --shadow-inner: inset 0 1px 2px rgba(42, 37, 32, 0.06);
  --z-base: 0;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal: 400;
  --z-popover: 500;
  --z-toast: 600;
  --z-tooltip: 700;
  --font-display: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --font-ui: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'DM Mono', 'SF Mono', Menlo, Consolas, monospace;
  --font-wordmark: 'Unbounded', system-ui, sans-serif;
  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-base: 16px;
  --fs-lg: 18px;
  --fs-xl: 20px;
  --fs-2xl: 24px;
  --fs-3xl: 30px;
  --fs-4xl: 36px;
  --fs-5xl: 48px;
  --fs-6xl: 60px;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-tight: 1.15;
  --leading-snug: 1.30;
  --leading-normal: 1.50;
  --leading-relaxed: 1.65;
  --tracking-tighter: -0.02em;
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.02em;
  --tracking-wider: 0.05em;
  --duration-instant: 0;
  --duration-fast: 180ms;
  --duration-default: 280ms;
  --duration-moderate: 380ms;
  --duration-slow: 560ms;
  --duration-deliberate: 800ms;
  --ease-linear: cubic-bezier(0, 0, 1, 1);
  --ease-in: cubic-bezier(0.42, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.42, 1);
  --ease-in-out: cubic-bezier(0.42, 0, 0.42, 1);
  --ease-warm-in: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-warm-out: cubic-bezier(0, 0, 0.32, 0.72);
  --ease-smooth: cubic-bezier(0.4, 0.0, 0.2, 1);
}

[data-theme="dark"],
html.dark {
  --bg-primary: #15110e;
  --bg-secondary: #1f1a16;
  --bg-tertiary: #2a2018;
  --bg-tinted: #3b2230;
  --surface-primary: #1f1a16;
  --surface-raised: #2a2018;
  --surface-overlay: rgba(0,0,0,0.6);
  --text-primary: #fdfaf3;
  --text-secondary: #e3d8c4;
  --text-tertiary: #a89c8e;
  --text-inverse: #15110e;
  --text-accent: #e8a89a;
  --text-highlight: #e8a89a;
  --border-subtle: rgba(246,241,234,0.08);
  --border-default: rgba(246,241,234,0.14);
  --border-strong: rgba(246,241,234,0.26);
  --border-accent: #d67e67;
  --interactive-primary: #e8a89a;
  --interactive-primary-hover: #f1c1b3;
  --interactive-primary-active: #dd8b78;
  --interactive-primary-text: #15110e;
  --interactive-secondary: #2a2018;
  --interactive-secondary-hover: #4a3f37;
  --interactive-secondary-text: #fdfaf3;
  --interactive-accent: #d67e67;
  --interactive-accent-hover: #de8e7a;
  --interactive-accent-text: #15110e;
  --feedback-success: #7fa67f;
  --feedback-warning: #dcab53;
  --feedback-danger: #c47b6f;
  --feedback-info: #e8a89a;
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.30), 0 0 0 1px rgba(246,241,232,0.04);
  --shadow-sm: 0 2px 6px rgba(0,0,0,0.35), 0 0 0 1px rgba(246,241,232,0.06);
  --shadow-md: 0 6px 16px rgba(0,0,0,0.40), 0 0 0 1px rgba(246,241,232,0.06);
  --shadow-lg: 0 12px 28px rgba(0,0,0,0.50), 0 0 0 1px rgba(246,241,232,0.08);
  --shadow-xl: 0 24px 48px rgba(0,0,0,0.60), 0 0 0 1px rgba(246,241,232,0.10);
}
