/* Overflow : tokens compilés depuis tokens.json */
:root, [data-theme="obsidienne"] {
  --obsidienne: #0a0a0c;
  --graphite: #1a1a1f;
  --fumee: #8a8a94;
  --ivoire: #f2efea;
  --rouge-vif: #ff0038;
  --page: #0a0a0c;
  --surface: #1a1a1f;
  --chip: #24242b;
  --line: #2a2a31;
  --line-2: #202026;
  --ink: #f2efea;
  --ink-2: #d9d5ce;
  --on-ink: #0a0a0c;
  --muted: #8a8a94;
  --accent: #ff0038;
  --on-accent: #ffffff;
  --accent-text: #ff5c75;
  --focus: #ff0038;
  --danger: #f97066;
  --side: #111114;
  --side-ink: #f2efea;
  --side-muted: #a1a1aa;
  --side-hover: #1a1a1f;
  --nav-on: #ff0038;
  --selection: #2a1218;
  --blue: #1c2738;
  --green: #1b2b22;
  --cream: #23211d;
  --peach: #34211f;
  --sand: #312818;
  --on-tint: #f2efea;
}
[data-theme="ivoire"] {
  --obsidienne: #0a0a0c;
  --graphite: #1a1a1f;
  --fumee: #8a8a94;
  --ivoire: #f2efea;
  --rouge-vif: #ff0038;
  --page: #f8f8f8;
  --surface: #ffffff;
  --chip: #f4f4f5;
  --line: #e7e7e7;
  --line-2: #f0f0f0;
  --ink: #0a0a0c;
  --ink-2: #1f1f1f;
  --on-ink: #ffffff;
  --muted: #5f5f66;
  --accent: #ff0038;
  --on-accent: #ffffff;
  --accent-text: #d6002f;
  --focus: #ff0038;
  --danger: #b42318;
  --side: #0a0a0c;
  --side-ink: #ffffff;
  --side-muted: #d4d4d8;
  --side-hover: #1f1f1f;
  --nav-on: #ff0038;
  --selection: #fff0f3;
  --blue: #b0d0f5;
  --green: #b9e1b4;
  --cream: #f1ede5;
  --peach: #ffd4cc;
  --sand: #f0c992;
  --on-tint: #0a0a0c;
}
:root {
  --space-2: 2px;
  --space-4: 4px;
  --space-6: 6px;
  --space-8: 8px;
  --space-10: 10px;
  --space-12: 12px;
  --space-14: 14px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-28: 28px;
  --space-32: 32px;
  --radius-xs: 4px;
  --radius-tag: 6px;
  --radius-brand: 8px;
  --radius-control: 10px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --size-control: 44px;
  --size-avatar: 40px;
  --size-brand-tile: 28px;
  --size-side: 232px;
  --size-list: 320px;
  --size-page-max: 1200px;
  --font-sans: "Hanken Grotesk", system-ui, -apple-system, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, monospace;
}
@font-face { font-family: 'Hanken Grotesk'; src: url('/fonts/HankenGrotesk-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Hanken Grotesk'; src: url('/fonts/HankenGrotesk-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Hanken Grotesk'; src: url('/fonts/HankenGrotesk-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Hanken Grotesk'; src: url('/fonts/HankenGrotesk-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Geist Mono'; src: url('/fonts/GeistMono-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Geist Mono'; src: url('/fonts/GeistMono-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }

:root{color-scheme:dark}
[data-theme="ivoire"]{color-scheme:light}
