/* GENERATED by packages/ui — run `pnpm --filter @etivon/ui gen:css`.
   Edit src/tokens.ts instead; a test fails if this file drifts from it. */

:root {
  /* primitives */
  --etv-navy-50: #EFF4FA;
  --etv-navy-100: #D8E4F3;
  --etv-navy-600: #03336D;
  --etv-navy-700: #02254F;
  --etv-navy-800: #011732;
  --etv-navy-900: #010E1E;
  --etv-gold-50: #F8EFDF;
  --etv-gold-brand: #B88328;
  --etv-gold-ink: #8A6015;
  --etv-gold-on-dark: #C99A45;
  --etv-neutral-50: #FAF8F5;
  --etv-neutral-100: #F4F0EB;
  --etv-neutral-200: #E5DFD7;
  --etv-neutral-300: #CEC6BB;
  --etv-neutral-400: #A9A093;
  --etv-neutral-500: #887E72;
  --etv-neutral-600: #6C645A;
  --etv-neutral-700: #514A43;
  --etv-neutral-800: #39332D;
  --etv-neutral-900: #231E1B;
  
  /* semantic — light */
  --etv-ground: #FAF8F5;
  --etv-surface: #FFFFFF;
  --etv-sunk: #F4F0EB;
  --etv-ink: #514A43;
  --etv-ink-strong: #02254F;
  --etv-muted: #6C645A;
  --etv-border: #CEC6BB;
  --etv-border-strong: #887E72;
  --etv-link: #8A6015;
  --etv-accent: #B88328;
  --etv-accent-hover: #8A6015;
  --etv-accent-wash: #F8EFDF;
  --etv-on-accent: #02254F;
  --etv-on-accent-hover: #FFFFFF;
  --etv-ok: #2F6B4F;
  --etv-warn: #8A6015;
  --etv-err: #A32E2E;
  
  /* type */
  --etv-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --etv-font-body: 'Public Sans', 'Helvetica Neue', Arial, sans-serif;
  --etv-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --etv-text-xs: 0.75rem;
  --etv-leading-xs: 1.45;
  --etv-opsz-xs: 9;
  --etv-text-sm: 0.875rem;
  --etv-leading-sm: 1.5;
  --etv-opsz-sm: 11;
  --etv-text-base: 1rem;
  --etv-leading-base: 1.6;
  --etv-opsz-base: 14;
  --etv-text-lg: 1.125rem;
  --etv-leading-lg: 1.55;
  --etv-opsz-lg: 16;
  --etv-text-xl: 1.375rem;
  --etv-leading-xl: 1.4;
  --etv-opsz-xl: 22;
  --etv-text-2xl: 1.75rem;
  --etv-leading-2xl: 1.3;
  --etv-opsz-2xl: 32;
  --etv-text-3xl: 2.25rem;
  --etv-leading-3xl: 1.2;
  --etv-opsz-3xl: 48;
  --etv-text-4xl: 3rem;
  --etv-leading-4xl: 1.1;
  --etv-opsz-4xl: 72;
  --etv-text-5xl: 4rem;
  --etv-leading-5xl: 1.04;
  --etv-opsz-5xl: 110;
  --etv-weight-regular: 400;
  --etv-weight-medium: 500;
  --etv-weight-semibold: 620;
  --etv-weight-bold: 700;
  
  /* layout */
  --etv-space-1: 0.25rem;
  --etv-space-2: 0.5rem;
  --etv-space-3: 0.75rem;
  --etv-space-4: 1rem;
  --etv-space-6: 1.5rem;
  --etv-space-8: 2rem;
  --etv-space-12: 3rem;
  --etv-space-16: 4rem;
  --etv-space-24: 6rem;
  --etv-radius-none: 0;
  --etv-radius-sm: 2px;
  --etv-radius-md: 3px;
  --etv-radius-lg: 6px;
  --etv-measure-text: 64ch;
  --etv-measure-wide: 1080px;
  
  /* motion */
  --etv-dur-press: 90ms;
  --etv-dur-quick: 160ms;
  --etv-dur-settle: 240ms;
  --etv-dur-enter: 320ms;
  --etv-dur-count: 1100ms;
  --etv-ease-out: cubic-bezier(0.333, 1, 0.667, 1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --etv-ground: #010E1E;
    --etv-surface: #011732;
    --etv-sunk: #020F22;
    --etv-ink: #F4F0EB;
    --etv-ink-strong: #FFFFFF;
    --etv-muted: #A9A093;
    --etv-border: #03336D;
    --etv-border-strong: #887E72;
    --etv-link: #C99A45;
    --etv-accent: #C99A45;
    --etv-accent-hover: #B88328;
    --etv-accent-wash: #011732;
    --etv-on-accent: #010E1E;
    --etv-on-accent-hover: #010E1E;
    --etv-ok: #6FB48F;
    --etv-warn: #C99A45;
    --etv-err: #E88C8C;
  }
}

:root[data-theme="dark"] {
  --etv-ground: #010E1E;
  --etv-surface: #011732;
  --etv-sunk: #020F22;
  --etv-ink: #F4F0EB;
  --etv-ink-strong: #FFFFFF;
  --etv-muted: #A9A093;
  --etv-border: #03336D;
  --etv-border-strong: #887E72;
  --etv-link: #C99A45;
  --etv-accent: #C99A45;
  --etv-accent-hover: #B88328;
  --etv-accent-wash: #011732;
  --etv-on-accent: #010E1E;
  --etv-on-accent-hover: #010E1E;
  --etv-ok: #6FB48F;
  --etv-warn: #C99A45;
  --etv-err: #E88C8C;
}

/* Redefining the tokens themselves, rather than blanket-killing animation,
   means every consumer inherits this — including dashboard stylesheets not
   yet written. 1ms and never 0: a 0-length transition can fail to fire
   transitionend, stranding any JS that waits on it. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --etv-dur-press: 1ms;
    --etv-dur-quick: 1ms;
    --etv-dur-settle: 1ms;
    --etv-dur-enter: 1ms;
    --etv-dur-count: 1ms;
  }
}
