/* =====================================================================
   GÉNÉRÉ par observatoire/tools/build.py — NE PAS MODIFIER À LA MAIN.
   Source : site/assets/css/tokens.css (empreinte 0e9de17f7fe3)
   La charte est celle de la vitrine : une seule source, deux sites.
   ===================================================================== */

:root {
  --font-display: 'Manrope', system-ui, sans-serif;
  --font-body: 'Manrope', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --font-quote: 'Besley', Georgia, serif;
  --fs-display: clamp(2.5rem, 1.45rem + 4.7vw, 4.75rem);
  --fs-h1: clamp(2rem, 1.42rem + 2.6vw, 3.25rem);
  --fs-h2: clamp(1.55rem, 1.28rem + 1.2vw, 2.15rem);
  --fs-h3: clamp(1.15rem, 1.07rem + 0.36vw, 1.375rem);
  --fs-lead: clamp(1.06rem, 1rem + 0.3vw, 1.25rem);
  --fs-body: 1rem;
  --fs-sm: 0.875rem;
  --fs-xs: 0.79rem;
  --fs-label: 0.72rem;
  --lh-tight: 1.06;
  --lh-snug: 1.2;
  --lh-body: 1.65;
  --ls-display: -0.03em;
  --ls-heading: -0.02em;
  --ls-label: 0.11em;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --sp-3xs: 0.25rem;
  --sp-2xs: 0.5rem;
  --sp-xs: 0.75rem;
  --sp-sm: 1rem;
  --sp-md: 1.5rem;
  --sp-lg: 2rem;
  --sp-xl: 3rem;
  --sp-2xl: 4.5rem;
  --sp-3xl: 6.5rem;
  --sp-4xl: 9rem;
  --r-xs: 3px;
  --r-sm: 5px;
  --r-md: 8px;
  --r-lg: 14px;
  --r-pill: 999px;
  --w-page: 1200px;
  --w-prose: 68ch;
  --w-narrow: 46ch;
  --gutter: clamp(1.15rem, 0.6rem + 2.2vw, 2.5rem);
  --section-y: clamp(3.5rem, 2rem + 6vw, 7rem);
  --dur-fast: 120ms;
  --dur-base: 220ms;
  --dur-slow: 420ms;
  --ease: cubic-bezier(0.2, 0.6, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --z-base: 1;
  --z-sticky: 100;
  --z-overlay: 500;
  --z-modal: 900;
  --z-toast: 1000;
  --focus-w: 2px;
  --focus-offset: 3px;
}

:root, [data-theme='instrument'] {
  --c-bg: #121212;
  --c-bg-alt: #1a1a1a;
  --c-surface: #1e1e1e;
  --c-surface-2: #242424;
  --c-line: #303030;
  --c-line-soft: #262626;
  --c-ink: #f7f5f0;
  --c-ink-muted: #c9c4b8;
  --c-ink-dim: #a5a096;
  --c-hairline: #5f6a55;
  --c-brand: #84946f;
  --c-brand-graphic: #788765;
  --c-brand-strong: #93a37a;
  --c-brand-deep: #46503c;
  --c-brand-ink: #121212;
  --c-brand-fill: #84946f;
  --c-brand-fill-hover: #93a37a;
  --c-ok: #3ba241;
  --c-ok-graphic: #308234;
  --c-watch: #ed6c02;
  --c-watch-graphic: #ed6c02;
  --c-risk: #e06a6a;
  --c-risk-graphic: #d32f2f;
  --plat-surface: #ffffff;
  --plat-surface-brand: #f6f6f4;
  --plat-text: #474c40;
  --plat-text-muted: #666666;
  --plat-border-subtle: #e2e6d8;
  --plat-border-muted: #edf0e6;
  --plat-surface-subtle: #fafbf7;
  --c-ok-bg: rgba(46, 125, 50, 0.14);
  --c-watch-bg: rgba(237, 108, 2, 0.14);
  --c-risk-bg: rgba(211, 47, 47, 0.14);
  --c-brand-bg: rgba(120, 135, 101, 0.15);
  --focus-ring: #93a37a;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 6px 20px rgba(0, 0, 0, 0.42);
  --shadow-lg: 0 22px 60px rgba(0, 0, 0, 0.5);
  --grid-line: rgba(255, 255, 255, 0.032);
  --grid-size: 56px;
  /* rôles propres à l'observatoire, adossés à la charte */
  --c-direct: var(--c-ok);
  --c-missing: var(--c-ink-dim);
  --compass-grid: var(--c-line);
  --compass-tick: var(--c-ink-muted);
  --compass-ink: var(--c-ink);
  --compass-panel: var(--c-surface);
  --chart-line: var(--c-brand-strong);
  --chart-grid: var(--c-line);
  --chart-axis: var(--c-ink-dim);
  --pillar-circ: var(--c-brand-graphic);
  --pillar-rent: #e9f7ca;
  --pillar-ext: #3f4144;
  --pillar-circ-ink: #ffffff;
  --pillar-rent-ink: #0f1113;
  --pillar-ext-ink: #f1f2ee;
  --zone-confort: var(--c-ok-graphic);
  --zone-mid: #d4a017;
  --c-mid: #d4a017;
  --zone-alerte: var(--c-watch-graphic);
  --zone-danger: var(--c-risk-graphic);
  --compass-slice-stroke: rgba(255,255,255,0.38);
  --modal-bg: rgba(8,9,10,0.82);
  --c-proxy: #e0a72e;
}

[data-theme='carte'] {
  --c-bg: #f7f5f0;
  --c-bg-alt: #ece6d9;
  --c-surface: #fcfbf7;
  --c-surface-2: #f1eee6;
  --c-line: #ddd6c7;
  --c-line-soft: #e8e3d7;
  --c-ink: #3f4144;
  --c-ink-muted: #45483f;
  --c-ink-dim: #53564c;
  --c-hairline: #a8a496;
  --c-brand: #5d6a4d;
  --c-brand-fill: #84946f;
  --c-brand-fill-hover: #93a37a;
  --c-brand-graphic: #788765;
  --c-brand-strong: #4d5a3f;
  --c-brand-deep: #3a4530;
  --c-brand-ink: #121212;
  --c-ok: #3f6349;
  --c-ok-graphic: #2e7d32;
  --c-watch: #a84a00;
  --c-watch-graphic: #c25a00;
  --c-risk: #96402b;
  --c-risk-graphic: #d32f2f;
  --plat-surface: #ffffff;
  --plat-surface-brand: #f6f6f4;
  --plat-text: #474c40;
  --plat-text-muted: #666666;
  --plat-border-subtle: #e2e6d8;
  --plat-border-muted: #edf0e6;
  --plat-surface-subtle: #fafbf7;
  --c-ok-bg: rgba(63, 99, 73, 0.10);
  --c-watch-bg: rgba(168, 74, 0, 0.10);
  --c-risk-bg: rgba(150, 64, 43, 0.10);
  --c-brand-bg: rgba(120, 135, 101, 0.15);
  --focus-ring: #5d6a4d;
  --shadow-sm: 0 1px 2px rgba(27, 30, 26, 0.07);
  --shadow-md: 0 6px 20px rgba(27, 30, 26, 0.10);
  --shadow-lg: 0 22px 60px rgba(27, 30, 26, 0.13);
  --grid-line: rgba(27, 30, 26, 0.045);
  /* rôles propres à l'observatoire, adossés à la charte */
  --c-direct: var(--c-ok);
  --c-missing: var(--c-ink-dim);
  --compass-grid: var(--c-line);
  --compass-tick: var(--c-ink-muted);
  --compass-ink: var(--c-ink);
  --compass-panel: var(--c-surface);
  --chart-line: var(--c-brand);
  --chart-grid: var(--c-line);
  --chart-axis: var(--c-ink-dim);
  --pillar-circ: var(--c-brand-graphic);
  --pillar-rent: #e9f7ca;
  --pillar-ext: #3f4144;
  --pillar-circ-ink: #ffffff;
  --pillar-rent-ink: #0f1113;
  --pillar-ext-ink: #f1f2ee;
  --zone-confort: var(--c-ok-graphic);
  --zone-mid: #d4a017;
  --c-mid: #8a6a00;
  --zone-alerte: var(--c-watch-graphic);
  --zone-danger: var(--c-risk-graphic);
  --compass-slice-stroke: rgba(0,0,0,0.10);
  --modal-bg: rgba(30,30,26,0.72);
  --c-proxy: #8a6a00;
}
