/* Généré par scripts/build-tokens.mjs depuis tokens/tokens.json. Ne pas éditer à la main. */

@font-face {
  font-family: "Newsreader";
  src: url("../fonts/Newsreader.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("../fonts/Newsreader-Italic.woff2") format("woff2");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("../fonts/Figtree.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono.woff2") format("woff2");
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}

:root, [data-theme="light"] {
  --surface: #f6efe4;
  --surface-raised: #fffaf3;
  --surface-sunken: #ece2d3;
  --line: #ddd0bd;
  --line-strong: #8f7a63;
  --ink: #2a1d15;
  --ink-muted: #6b5646;
  --roast: #7a4527;
  --roast-strong: #5f341c;
  --on-roast: #fffaf3;
  --crema: #b06a32;
  --circuit: #2f6690;
  --circuit-soft: #dce7f0;
  --success: #256b58;
  --success-soft: #dcebe4;
  --warning: #86560a;
  --warning-soft: #f3e4c4;
  --danger: #a8382a;
  --danger-soft: #f6dcd5;
  --focus-ring: var(--circuit);
  --shadow-raised: 0 1px 2px rgba(42,29,21,0.06), 0 6px 20px rgba(42,29,21,0.06);
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface: #17110d;
    --surface-raised: #221a14;
    --surface-sunken: #0f0b08;
    --line: #3a2d23;
    --line-strong: #86725f;
    --ink: #f2e8da;
    --ink-muted: #b8a690;
    --roast: #d49a6c;
    --roast-strong: #e6b68e;
    --on-roast: #17110d;
    --crema: #e3a463;
    --circuit: #86b4dc;
    --circuit-soft: #172636;
    --success: #6cc3a8;
    --success-soft: #16302a;
    --warning: #e2b04f;
    --warning-soft: #33270f;
    --danger: #f08a77;
    --danger-soft: #3b1d17;
    --focus-ring: var(--circuit);
    --shadow-raised: 0 1px 2px rgba(0,0,0,0.5), 0 8px 24px rgba(0,0,0,0.35);
    color-scheme: dark;
  }
}

[data-theme="dark"] {
  --surface: #17110d;
  --surface-raised: #221a14;
  --surface-sunken: #0f0b08;
  --line: #3a2d23;
  --line-strong: #86725f;
  --ink: #f2e8da;
  --ink-muted: #b8a690;
  --roast: #d49a6c;
  --roast-strong: #e6b68e;
  --on-roast: #17110d;
  --crema: #e3a463;
  --circuit: #86b4dc;
  --circuit-soft: #172636;
  --success: #6cc3a8;
  --success-soft: #16302a;
  --warning: #e2b04f;
  --warning-soft: #33270f;
  --danger: #f08a77;
  --danger-soft: #3b1d17;
  --focus-ring: var(--circuit);
  --shadow-raised: 0 1px 2px rgba(0,0,0,0.5), 0 8px 24px rgba(0,0,0,0.35);
  color-scheme: dark;
}

:root {
  --font-display: Newsreader, "Iowan Old Style", Georgia, serif;
  --font-sans: Figtree, "Segoe UI", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;
}

.cb-type-display-xl {
  font-family: var(--font-display);
  font-size: 64px;
  line-height: 68px;
  font-weight: 500;
  letter-spacing: -0.02em;
  font-variation-settings: "opsz" 72;
}

.cb-type-display-l {
  font-family: var(--font-display);
  font-size: 44px;
  line-height: 50px;
  font-weight: 500;
  letter-spacing: -0.015em;
  font-variation-settings: "opsz" 60;
}

.cb-type-title {
  font-family: var(--font-display);
  font-size: 28px;
  line-height: 34px;
  font-weight: 500;
  letter-spacing: -0.01em;
  font-variation-settings: "opsz" 36;
}

.cb-type-quote {
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 30px;
  font-weight: 400;
  font-style: italic;
  font-variation-settings: "opsz" 24;
}

.cb-type-heading {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
}

.cb-type-body-l {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 28px;
  font-weight: 400;
}

.cb-type-body {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 24px;
  font-weight: 400;
}

.cb-type-label {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cb-type-caption {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 18px;
  font-weight: 400;
}

.cb-type-data {
  font-family: var(--font-mono);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.cb-type-code {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
