/* Genere par design/outils/generer-tokens.py a partir de design/tokens.json : src/css/tokens.css (site, sans @font-face).
 * Ne pas editer a la main. Les deux tokens.css sont identiques hors @font-face.
 * Date : 2026-10-02
 * SHA-256 de tokens.json : 1452e580fb2c8314bd1cad04b70bda627e7be69155328ae032ae6cc3d3c202ee
 */

html {
  color-scheme: light;
}

:root {
  /* color */
  --pds-color-green-50: #EEF3EA;
  --pds-color-green-100: #D7E4CF;
  --pds-color-green-200: #AFC6A2;
  --pds-color-green-300: #7FA383;
  --pds-color-green-400: #4F7F5E;
  --pds-color-green-500: #2F5D43;
  --pds-color-green-600: #234734;
  --pds-color-green-light: #3F7857;
  --pds-color-green-moss: #6B7F4B;
  --pds-color-terracotta-bg: #F7E7DD;
  --pds-color-terracotta-soft: #E8B79C;
  --pds-color-terracotta-base: #C8643C;
  --pds-color-terracotta-dark: #A84C29;
  --pds-color-terracotta-darker: #8E3F22;
  --pds-color-neutral-white: #FFFFFF;
  --pds-color-neutral-cream: #F7F3EC;
  --pds-color-neutral-sand: #F1EBE0;
  --pds-color-neutral-line: #E2D9C9;
  --pds-color-neutral-line-strong: #D4C8B2;
  --pds-color-neutral-faint: #84897F;
  --pds-color-neutral-muted: #6B716A;
  --pds-color-neutral-secondary: #55615A;
  --pds-color-neutral-ink: #26302A;
  --pds-color-state-success: #2F7A4D;
  --pds-color-state-success-bg: #E4F1E7;
  --pds-color-state-warning-legacy: #C98A2B;
  --pds-color-state-warning-mark: #B5771F;
  --pds-color-state-warning-text: #8A5E1A;
  --pds-color-state-warning-bg: #FBF0DA;
  --pds-color-state-danger: #B23B2E;
  --pds-color-state-danger-dark: #8F2F24;
  --pds-color-state-danger-bg: #F8E5E2;
  --pds-color-state-info: #3F6E7A;
  --pds-color-state-info-bg: #E2EEF0;
  --pds-color-state-star: #9A6A1E;
  --pds-color-alpha-ink-6: #26302A0F;
  --pds-color-alpha-ink-8: #26302A14;
  --pds-color-alpha-ink-12: #26302A1F;
  --pds-color-alpha-ink-55: #26302A8C;
  --pds-color-alpha-white-85: #FFFFFFD9;
  /* semantic */
  --pds-semantic-canvas: var(--pds-color-neutral-cream);
  --pds-semantic-surface: var(--pds-color-neutral-white);
  --pds-semantic-surface-alt: var(--pds-color-neutral-sand);
  --pds-semantic-surface-soft: var(--pds-color-green-50);
  --pds-semantic-surface-soft-strong: var(--pds-color-green-100);
  --pds-semantic-text: var(--pds-color-neutral-ink);
  --pds-semantic-text-secondary: var(--pds-color-neutral-secondary);
  --pds-semantic-text-muted: var(--pds-color-neutral-muted);
  --pds-semantic-text-inverse: var(--pds-color-neutral-white);
  --pds-semantic-heading: var(--pds-color-green-600);
  --pds-semantic-border: var(--pds-color-neutral-line);
  --pds-semantic-border-strong: var(--pds-color-neutral-line-strong);
  --pds-semantic-border-input: var(--pds-color-neutral-faint);
  --pds-semantic-primary: var(--pds-color-green-500);
  --pds-semantic-primary-hover: var(--pds-color-green-600);
  --pds-semantic-primary-active: var(--pds-color-green-600);
  --pds-semantic-primary-soft: var(--pds-color-green-50);
  --pds-semantic-primary-soft-strong: var(--pds-color-green-100);
  --pds-semantic-link: var(--pds-color-green-500);
  --pds-semantic-link-hover: var(--pds-color-green-600);
  --pds-semantic-accent: var(--pds-color-terracotta-dark);
  --pds-semantic-accent-hover: var(--pds-color-terracotta-darker);
  --pds-semantic-accent-mark: var(--pds-color-terracotta-base);
  --pds-semantic-accent-soft: var(--pds-color-terracotta-bg);
  --pds-semantic-focus: var(--pds-color-green-500);
  --pds-semantic-focus-on-dark: var(--pds-color-neutral-white);
  --pds-semantic-footer-bg: var(--pds-color-green-600);
  --pds-semantic-footer-text: var(--pds-color-green-100);
  --pds-semantic-footer-text-hover: var(--pds-color-terracotta-soft);
  --pds-semantic-footer-muted: var(--pds-color-green-200);
  --pds-semantic-marker-bg: var(--pds-color-green-500);
  --pds-semantic-marker-ring: var(--pds-color-neutral-white);
  --pds-semantic-overlay: var(--pds-color-alpha-ink-55);
  --pds-semantic-disabled-bg: var(--pds-color-neutral-sand);
  --pds-semantic-disabled-text: var(--pds-color-neutral-secondary);
  --pds-semantic-disabled-border: var(--pds-color-neutral-line-strong);
  --pds-semantic-success-bg: var(--pds-color-state-success-bg);
  --pds-semantic-success-text: var(--pds-color-green-600);
  --pds-semantic-success-mark: var(--pds-color-state-success);
  --pds-semantic-warning-bg: var(--pds-color-state-warning-bg);
  --pds-semantic-warning-text: var(--pds-color-state-warning-text);
  --pds-semantic-warning-mark: var(--pds-color-state-warning-mark);
  --pds-semantic-danger-bg: var(--pds-color-state-danger-bg);
  --pds-semantic-danger-text: var(--pds-color-state-danger);
  --pds-semantic-danger-mark: var(--pds-color-state-danger);
  --pds-semantic-danger-hover: var(--pds-color-state-danger-dark);
  --pds-semantic-info-bg: var(--pds-color-state-info-bg);
  --pds-semantic-info-text: var(--pds-color-state-info);
  --pds-semantic-info-mark: var(--pds-color-state-info);
  --pds-semantic-star: var(--pds-color-state-star);
  --pds-semantic-star-empty: var(--pds-color-neutral-line-strong);
  /* font */
  --pds-font-family-head: "Fraunces", "Iowan Old Style", "Georgia", serif;
  --pds-font-family-body: "Inter", "Helvetica Neue", "Arial", sans-serif;
  --pds-font-family-mono: "SFMono-Regular", "Menlo", "Consolas", monospace;
  --pds-font-weight-regular: 400;
  --pds-font-weight-medium: 500;
  --pds-font-weight-semibold: 600;
  --pds-font-weight-bold: 700;
  --pds-font-size-11: 11px;
  --pds-font-size-xs: 12px;
  --pds-font-size-sm: 13px;
  --pds-font-size-md: 14px;
  --pds-font-size-15: 15px;
  --pds-font-size-base: 16px;
  --pds-font-size-17: 17px;
  --pds-font-size-lg: 18px;
  --pds-font-size-xl: 20px;
  --pds-font-size-2xl: 24px;
  --pds-font-size-3xl: 28px;
  --pds-font-size-4xl: 36px;
  --pds-font-line-height-tight: 1.15;
  --pds-font-line-height-snug: 1.3;
  --pds-font-line-height-compact: 1.4;
  --pds-font-line-height-base: 1.5;
  --pds-font-line-height-relaxed: 1.6;
  --pds-font-measure-reading: 40rem;
  /* space */
  --pds-space-0: 0px;
  --pds-space-half: 2px;
  --pds-space-1: 4px;
  --pds-space-2: 8px;
  --pds-space-3: 12px;
  --pds-space-4: 16px;
  --pds-space-5: 20px;
  --pds-space-6: 24px;
  --pds-space-7: 32px;
  --pds-space-8: 48px;
  --pds-space-9: 64px;
  /* radius */
  --pds-radius-xs: 4px;
  --pds-radius-sm: 8px;
  --pds-radius-md: 14px;
  --pds-radius-lg: 20px;
  --pds-radius-pill: 999px;
  /* shadow */
  --pds-shadow-sm: 0px 1px 2px 0px #26302A0F;
  --pds-shadow-md: 0px 4px 16px 0px #26302A14;
  --pds-shadow-lg: 0px 12px 32px 0px #26302A1F;
  --pds-shadow-focus-legacy: 0px 0px 0px 3px #2F5D434D;
  /* duration */
  --pds-duration-fast: 150ms;
  --pds-duration-base: 200ms;
  --pds-duration-slow: 300ms;
  /* easing */
  --pds-easing-out: cubic-bezier(0.2, 0, 0, 1);
  --pds-easing-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  /* layout */
  --pds-layout-header-phone: 56px;
  --pds-layout-header-desktop: 64px;
  --pds-layout-container: 1180px;
  --pds-layout-content: 744px;
  --pds-layout-aside: 340px;
  --pds-layout-gutter-phone: 16px;
  --pds-layout-gutter-desktop: 32px;
  --pds-layout-map-phone: 280px;
  --pds-layout-map-desktop: 420px;
  --pds-layout-cover-phone: 220px;
  --pds-layout-breakpoint-sm: 640px;
  --pds-layout-breakpoint-lg: 992px;
  --pds-layout-breakpoint-xl: 1440px;
  /* control */
  --pds-control-target: 44px;
  --pds-control-height-sm: 36px;
  --pds-control-height-md: 44px;
  --pds-control-height-lg: 52px;
  --pds-control-padding-x: 16px;
  --pds-control-padding-x-sm: 12px;
  --pds-control-icon-sm: 18px;
  --pds-control-icon-md: 22px;
  --pds-control-focus-width: 2px;
  --pds-control-focus-offset: 2px;
  --pds-control-border-width: 1.5px;
  --pds-control-marker: 30px;
  --pds-control-badge-num: 32px;
  --pds-control-thumb-sm: 48px;
  --pds-control-thumb-md: 64px;
  --pds-control-agres-list: 40px;
  --pds-control-agres-grid: 56px;
  --pds-control-agres-page: 96px;
  /* legacy */
  --pds-primary: var(--pds-color-green-500);
  --pds-primary-dark: var(--pds-color-green-600);
  --pds-primary-light: var(--pds-color-green-light);
  --pds-secondary: var(--pds-color-green-moss);
  --pds-green-50: var(--pds-color-green-50);
  --pds-green-100: var(--pds-color-green-100);
  --pds-green-200: var(--pds-color-green-200);
  --pds-green-300: var(--pds-color-green-300);
  --pds-green-400: var(--pds-color-green-400);
  --pds-green-500: var(--pds-color-green-500);
  --pds-green-600: var(--pds-color-green-600);
  --pds-accent: var(--pds-color-terracotta-base);
  --pds-accent-dark: var(--pds-color-terracotta-dark);
  --pds-accent-soft: var(--pds-color-terracotta-soft);
  --pds-accent-bg: var(--pds-color-terracotta-bg);
  --pds-bg: var(--pds-color-neutral-cream);
  --pds-surface: var(--pds-color-neutral-white);
  --pds-surface-alt: var(--pds-color-neutral-sand);
  --pds-border: var(--pds-color-neutral-line);
  --pds-border-strong: var(--pds-color-neutral-line-strong);
  --pds-text: var(--pds-color-neutral-ink);
  --pds-text-secondary: var(--pds-color-neutral-secondary);
  --pds-text-muted: var(--pds-color-neutral-muted);
  --pds-text-faint: var(--pds-color-neutral-faint);
  --pds-success: var(--pds-color-state-success);
  --pds-success-bg: var(--pds-color-state-success-bg);
  --pds-warning: var(--pds-color-state-warning-legacy);
  --pds-warning-bg: var(--pds-color-state-warning-bg);
  --pds-danger: var(--pds-color-state-danger);
  --pds-danger-bg: var(--pds-color-state-danger-bg);
  --pds-info: var(--pds-color-state-info);
  --pds-info-bg: var(--pds-color-state-info-bg);
  --pds-star: var(--pds-color-state-star);
  --pds-r-sm: var(--pds-radius-sm);
  --pds-r-md: var(--pds-radius-md);
  --pds-r-lg: var(--pds-radius-lg);
  --pds-r-pill: var(--pds-radius-pill);
  --pds-font-head: var(--pds-font-family-head);
  --pds-font-body: var(--pds-font-family-body);
  --pds-s1: var(--pds-space-1);
  --pds-s2: var(--pds-space-2);
  --pds-s3: var(--pds-space-3);
  --pds-s4: var(--pds-space-4);
  --pds-s5: var(--pds-space-6);
  --pds-s6: var(--pds-space-7);
  --pds-s7: var(--pds-space-8);
  --pds-focus: var(--pds-shadow-focus-legacy);
}
