/* Haven Comply — feuille de variables de la charte v0.10.0 (2026-10-31).
   Fichier généré par packages/ui/scripts/publish.mjs à partir de packages/ui/tokens/*.json. Ne pas modifier à la main :
   une valeur se change dans les tokens, puis se publie sous un nouveau numéro (ADR-003, ADR-004).
   Thème : suit prefers-color-scheme ; [data-theme='light'] ou [data-theme='dark'] l'impose.
   Polices : famille Haven-font pour le texte — Spartan MB (latin, OFL 1.1) et Open Sans (grec, Apache 2.0), choisies
   lettre par lettre selon leur plage Unicode — et Haven-voice pour la voix — Gentium Plus (latin et grec, OFL 1.1) ;
   WOFF2 puis WOFF ; licences dans licences/. Style : --hv-font-text-style, --hv-font-voice-style, --hv-font-emphasis-style.
   Logos et favicons : brand/, favicons/ ; icônes : icons/sprite.svg (<svg><use href="…/icons/sprite.svg#<nom>"/></svg>).
   Ligatures courantes coupées sur :root (--hv-ligatures). */
@font-face{font-family:'Haven-font';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/SpartanMB-Regular.woff2') format('woff2'),url('fonts/SpartanMB-Regular.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Haven-font';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/SpartanMB-Light.woff2') format('woff2'),url('fonts/SpartanMB-Light.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Haven-font';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/SpartanMB-SemiBold.woff2') format('woff2'),url('fonts/SpartanMB-SemiBold.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Haven-font';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/OpenSans.woff2') format('woff2'),url('fonts/OpenSans.woff') format('woff');unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:'Haven-font';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/OpenSans-Light.woff2') format('woff2'),url('fonts/OpenSans-Light.woff') format('woff');unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:'Haven-font';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/OpenSans-Semibold.woff2') format('woff2'),url('fonts/OpenSans-Semibold.woff') format('woff');unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:'Haven-voice';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/GentiumPlus-Regular.woff2') format('woff2'),url('fonts/GentiumPlus-Regular.woff') format('woff')}
:root {
  --hv-font-text: 'Haven-font', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --hv-font-voice: 'Haven-voice', Georgia, 'Times New Roman', serif;
  --hv-font-text-style: normal;
  --hv-font-voice-style: oblique;
  --hv-font-emphasis-style: oblique;
  --hv-text-sm: 0.875rem;
  --hv-text-base: 1rem;
  --hv-text-md: 1.125rem;
  --hv-text-voice: 1.1875rem;
  --hv-text-lg: 1.375rem;
  --hv-text-xl: 1.75rem;
  --hv-text-2xl: 2.25rem;
  --hv-text-3xl: 3rem;
  --hv-weight-regular: 400;
  --hv-weight-medium: 500;
  --hv-weight-semibold: 600;
  --hv-leading-tight: 1.12;
  --hv-leading-snug: 1.3;
  --hv-leading-body: 1.55;
  --hv-leading-voice: 1.6;
  --hv-tracking-tight: -0.02em;
  --hv-tracking-normal: 0;
  --hv-ligatures: no-common-ligatures;
  --hv-space-1: 0.25rem;
  --hv-space-2: 0.5rem;
  --hv-space-3: 0.75rem;
  --hv-space-4: 1rem;
  --hv-space-5: 1.5rem;
  --hv-space-6: 2rem;
  --hv-space-7: 3rem;
  --hv-space-8: 4.5rem;
  --hv-radius-sm: 4px;
  --hv-radius-md: 8px;
  --hv-radius-lg: 12px;
  --hv-radius-xl: 18px;
  --hv-radius-full: 999px;
  --hv-size-tap: 2.75rem;
  --hv-size-control: 3rem;
  --hv-size-icon: 1.25rem;
  --hv-size-icon-lg: 2rem;
  --hv-size-avatar-sm: 2rem;
  --hv-size-avatar-md: 2.75rem;
  --hv-size-avatar-lg: 4rem;
  --hv-size-border: 1px;
  --hv-size-border-strong: 2px;
  --hv-size-focus: 3px;
  --hv-size-measure: 40rem;
  --hv-size-page: 50rem;
  --hv-size-phone: 390px;
  --hv-motion-state: 200ms;
  --hv-motion-ease: cubic-bezier(0.2, 0, 0, 1);
  --hv-app-ink: #4E5425;
  --hv-app-paper: #F9F7F4;
  --hv-app-ring: #EFBF04;
  --hv-forbidden-terracotta: #C0653C;
  --hv-forbidden-clay: #4A342A;
  --hv-forbidden-cream: #F6F0E8;
  --hv-forbidden-violet: #6B4EE6;
  --hv-forbidden-blue: #2F7BF5;
  --hv-tx: #4E5425;
  --hv-bg: #F9F7F4;
  --hv-tx2: #575550;
  --hv-surf: #D2C8BD;
  --hv-acc: #EFBF04;
  --hv-on-acc: #4E5425;
  --hv-line: #D3D9D6;
  --hv-aplat: #4E5425;
  --hv-on-aplat: #F9F7F4;
  --hv-st-wait: #53545F;
  --hv-st-block: #8C3B0D;
  --hv-st-block-fill: #FCFAF9;
  --hv-st-ok: #6DA04D;
  --hv-st-you-bg: #696F3F;
  --hv-st-you-tx: #F9F7F4;
  --hv-pro-alert: #9C3B22;
  --hv-pro-alert-fill: #F7E5DE;
  --hv-card: color-mix(in srgb, var(--hv-bg) 45%, #FFFFFF);
  --hv-stone: color-mix(in srgb, var(--hv-surf) 35%, var(--hv-bg));
  --hv-acc-soft: color-mix(in srgb, var(--hv-acc) 16%, var(--hv-bg));
  --hv-acc-ink: color-mix(in srgb, var(--hv-acc) 34%, var(--hv-tx));
  --hv-st-ok-soft: color-mix(in srgb, var(--hv-st-ok) 8%, var(--hv-bg));
  --hv-on-aplat2: color-mix(in srgb, var(--hv-on-aplat) 72%, var(--hv-aplat));
  --hv-shadow-sm: 0 1px 2px 0 color-mix(in srgb, var(--hv-tx) 5%, transparent), 0 2px 8px 0 color-mix(in srgb, var(--hv-tx) 4%, transparent);
  --hv-shadow-md: 0 2px 4px 0 color-mix(in srgb, var(--hv-tx) 4%, transparent), 0 12px 32px -8px color-mix(in srgb, var(--hv-tx) 14%, transparent);
  --hv-shadow-lg: 0 4px 8px 0 color-mix(in srgb, var(--hv-tx) 4%, transparent), 0 24px 56px -16px color-mix(in srgb, var(--hv-tx) 22%, transparent);
  --hv-glow: 0 0 0 1px color-mix(in srgb, var(--hv-acc) 45%, transparent), 0 18px 48px -12px color-mix(in srgb, var(--hv-acc) 35%, transparent);
  font-variant-ligatures: var(--hv-ligatures);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --hv-tx: #F0E9DE;
    --hv-bg: #0E1C1F;
    --hv-tx2: #9FAAA4;
    --hv-surf: #183A40;
    --hv-acc: #D4AF37;
    --hv-on-acc: #0E1C1F;
    --hv-line: #23363A;
    --hv-aplat: #183A40;
    --hv-on-aplat: #F0E9DE;
    --hv-st-wait: #9AA4B2;
    --hv-st-block: #D89B79;
    --hv-st-block-fill: #27221B;
    --hv-st-ok: #A9BC7A;
    --hv-st-you-bg: #F0E9DE;
    --hv-st-you-tx: #0E1C1F;
    --hv-pro-alert: #F4A48C;
    --hv-pro-alert-fill: #3A2019;
    --hv-card: color-mix(in srgb, var(--hv-surf) 45%, var(--hv-bg));
    --hv-stone: color-mix(in srgb, var(--hv-surf) 25%, var(--hv-bg));
    --hv-acc-soft: color-mix(in srgb, var(--hv-acc) 16%, var(--hv-bg));
    --hv-acc-ink: var(--hv-acc);
    --hv-st-ok-soft: color-mix(in srgb, var(--hv-st-ok) 14%, var(--hv-bg));
    --hv-on-aplat2: color-mix(in srgb, var(--hv-on-aplat) 72%, var(--hv-aplat));
    --hv-shadow-sm: 0 1px 2px 0 color-mix(in srgb, #000000 30%, transparent);
    --hv-shadow-md: 0 12px 32px -8px color-mix(in srgb, #000000 50%, transparent);
    --hv-shadow-lg: 0 24px 56px -16px color-mix(in srgb, #000000 60%, transparent);
    --hv-glow: 0 0 0 1px color-mix(in srgb, var(--hv-acc) 45%, transparent), 0 18px 48px -12px color-mix(in srgb, var(--hv-acc) 35%, transparent);
    color-scheme: dark;
  }
}
[data-theme='light'] {
  --hv-tx: #4E5425;
  --hv-bg: #F9F7F4;
  --hv-tx2: #575550;
  --hv-surf: #D2C8BD;
  --hv-acc: #EFBF04;
  --hv-on-acc: #4E5425;
  --hv-line: #D3D9D6;
  --hv-aplat: #4E5425;
  --hv-on-aplat: #F9F7F4;
  --hv-st-wait: #53545F;
  --hv-st-block: #8C3B0D;
  --hv-st-block-fill: #FCFAF9;
  --hv-st-ok: #6DA04D;
  --hv-st-you-bg: #696F3F;
  --hv-st-you-tx: #F9F7F4;
  --hv-pro-alert: #9C3B22;
  --hv-pro-alert-fill: #F7E5DE;
  --hv-card: color-mix(in srgb, var(--hv-bg) 45%, #FFFFFF);
  --hv-stone: color-mix(in srgb, var(--hv-surf) 35%, var(--hv-bg));
  --hv-acc-soft: color-mix(in srgb, var(--hv-acc) 16%, var(--hv-bg));
  --hv-acc-ink: color-mix(in srgb, var(--hv-acc) 34%, var(--hv-tx));
  --hv-st-ok-soft: color-mix(in srgb, var(--hv-st-ok) 8%, var(--hv-bg));
  --hv-on-aplat2: color-mix(in srgb, var(--hv-on-aplat) 72%, var(--hv-aplat));
  --hv-shadow-sm: 0 1px 2px 0 color-mix(in srgb, var(--hv-tx) 5%, transparent), 0 2px 8px 0 color-mix(in srgb, var(--hv-tx) 4%, transparent);
  --hv-shadow-md: 0 2px 4px 0 color-mix(in srgb, var(--hv-tx) 4%, transparent), 0 12px 32px -8px color-mix(in srgb, var(--hv-tx) 14%, transparent);
  --hv-shadow-lg: 0 4px 8px 0 color-mix(in srgb, var(--hv-tx) 4%, transparent), 0 24px 56px -16px color-mix(in srgb, var(--hv-tx) 22%, transparent);
  --hv-glow: 0 0 0 1px color-mix(in srgb, var(--hv-acc) 45%, transparent), 0 18px 48px -12px color-mix(in srgb, var(--hv-acc) 35%, transparent);
  color-scheme: light;
}
[data-theme='dark'] {
  --hv-tx: #F0E9DE;
  --hv-bg: #0E1C1F;
  --hv-tx2: #9FAAA4;
  --hv-surf: #183A40;
  --hv-acc: #D4AF37;
  --hv-on-acc: #0E1C1F;
  --hv-line: #23363A;
  --hv-aplat: #183A40;
  --hv-on-aplat: #F0E9DE;
  --hv-st-wait: #9AA4B2;
  --hv-st-block: #D89B79;
  --hv-st-block-fill: #27221B;
  --hv-st-ok: #A9BC7A;
  --hv-st-you-bg: #F0E9DE;
  --hv-st-you-tx: #0E1C1F;
  --hv-pro-alert: #F4A48C;
  --hv-pro-alert-fill: #3A2019;
  --hv-card: color-mix(in srgb, var(--hv-surf) 45%, var(--hv-bg));
  --hv-stone: color-mix(in srgb, var(--hv-surf) 25%, var(--hv-bg));
  --hv-acc-soft: color-mix(in srgb, var(--hv-acc) 16%, var(--hv-bg));
  --hv-acc-ink: var(--hv-acc);
  --hv-st-ok-soft: color-mix(in srgb, var(--hv-st-ok) 14%, var(--hv-bg));
  --hv-on-aplat2: color-mix(in srgb, var(--hv-on-aplat) 72%, var(--hv-aplat));
  --hv-shadow-sm: 0 1px 2px 0 color-mix(in srgb, #000000 30%, transparent);
  --hv-shadow-md: 0 12px 32px -8px color-mix(in srgb, #000000 50%, transparent);
  --hv-shadow-lg: 0 24px 56px -16px color-mix(in srgb, #000000 60%, transparent);
  --hv-glow: 0 0 0 1px color-mix(in srgb, var(--hv-acc) 45%, transparent), 0 18px 48px -12px color-mix(in srgb, var(--hv-acc) 35%, transparent);
  color-scheme: dark;
}
