/* GENERATED by tools/Vivid.TokensGen — do not hand-edit.
   Names are the contract (Vivid Designs/022): values move with releases,
   names only break loudly. Consume PINNED to a Vivid version. */
:root {
  --sv-accent: #1B75BC;
  --sv-accent-glow: #46C2CB;
  --sv-background: #1C1B22;
  --sv-bad: #C12138;
  --sv-diverging-cool: #1B75BC;
  --sv-diverging-mid: #3D3B46;
  --sv-diverging-warm: #EB7726;
  --sv-gold: #E8C41E;
  --sv-good: #80BC00;
  --sv-grid: #3D3B46;
  --sv-navy: #001B52;
  --sv-purple: #9B5DE5;
  --sv-series-0: #80BC00;
  --sv-series-1: #46C2CB;
  --sv-series-2: #1B75BC;
  --sv-series-3: #EB7726;
  --sv-series-4: #C12138;
  --sv-series-5: #9B5DE5;
  --sv-series-6: #E8C41E;
  --sv-severity-critical: #9B5DE5;
  --sv-severity-healthy: #80BC00;
  --sv-severity-high: #C12138;
  --sv-severity-informational: #46C2CB;
  --sv-severity-low: #FFEB00;
  --sv-severity-medium: #EB7726;
  --sv-severity-unknown: #9E9B97;
  --sv-surface: #2E2C35;
  --sv-surface-alt: #383641;
  --sv-text-primary: #F8F7F5;
  --sv-text-secondary: #9E9B97;
  --sv-corner-radius: 10px;
  --sv-font-body: 15px;
  --sv-font-caption: 12px;
  --sv-font-display: 28px;
  --sv-font-heading: 20px;
  --sv-font-micro: 10px;
  --sv-font-severity-label: 19px;
  --sv-font-small: 13px;
  --sv-font-title: 17px;
  --sv-hover-alpha: 0.9;
  --sv-spacing: 12px;
  --sv-zebra-alpha: 0.35;
  --sv-font-family: Inter;
  --sv-font-family-contemporary: IBM Plex Sans;
  --sv-font-family-deco: Josefin Sans;
  --sv-font-family-hand: Caveat;
  --sv-font-family-marketing: Plus Jakarta Sans;
  --sv-font-family-mono: Ubuntu Mono;
  --sv-font-stack: Inter, system-ui, "Segoe UI", sans-serif;
  --sv-font-stack-contemporary: "IBM Plex Sans", Inter, system-ui, "Segoe UI", sans-serif;
  --sv-font-stack-deco: "Josefin Sans", "Plus Jakarta Sans", system-ui, "Segoe UI", sans-serif;
  --sv-font-stack-hand: Caveat, cursive;
  --sv-font-stack-marketing: "Plus Jakarta Sans", system-ui, "Segoe UI", sans-serif;
  --sv-font-stack-mono: "Ubuntu Mono", monospace;
  /* focus ring: computed by Legibility, not a theme property.
     --sv-focus-ring is the single band for a plain surface.
     inner/outer are the halo for a focused element with its OWN fill,
     where no single colour clears both fill and surface. EQUAL means
     one band is enough here. */
  --sv-focus-ring: #46C2CB;
  --sv-focus-ring-inner: #0B0D10;
  --sv-focus-ring-outer: #F8F7F5;
}

/* ---- the paper scheme: ground AND ink, together ----------------------
   The neutrals only — every brand and severity value above still applies,
   so this is one brand on two grounds and never two brands. A consumer
   that reads --sv-background and --sv-text-primary needs NO print CSS of
   its own: do not re-declare a ground here, because dropping a background
   without moving its ink is exactly the bug this block exists to end.

   OPT-IN on screen: set data-theme="light" on the root element. There is
   deliberately no prefers-color-scheme rule — flipping an app to a light
   ground because the reader's OS prefers one is a product's decision, not
   a token's, and it would re-theme every existing consumer on upgrade.

   AUTOMATIC on paper: print always lands on a light ground, so @media
   print takes it with no opt-in. It is emitted LAST and names the
   data-theme selectors too, so an explicitly-dark page still prints
   legibly — a bare :root here would lose to :root[data-theme="dark"] on
   specificity and the fix would silently miss the pages that set it. */
:root[data-theme="light"] {
  --sv-background: #FFFFFF;
  --sv-diverging-mid: #CFD4DA;
  --sv-grid: #CFD4DA;
  --sv-surface: #F6F7F9;
  --sv-surface-alt: #EEF0F3;
  --sv-text-primary: #0B0D10;
  --sv-text-secondary: #444B55;
  --sv-hover-alpha: 1;
  --sv-zebra-alpha: 0.6;
  /* focus ring: computed by Legibility, not a theme property.
     --sv-focus-ring is the single band for a plain surface.
     inner/outer are the halo for a focused element with its OWN fill,
     where no single colour clears both fill and surface. EQUAL means
     one band is enough here. */
  --sv-focus-ring: #1B75BC;
  --sv-focus-ring-inner: #0B0D10;
  --sv-focus-ring-outer: #0B0D10;
}

@media print {
  :root, :root[data-theme="dark"], :root[data-theme="light"] {
    --sv-background: #FFFFFF;
    --sv-diverging-mid: #CFD4DA;
    --sv-grid: #CFD4DA;
    --sv-surface: #F6F7F9;
    --sv-surface-alt: #EEF0F3;
    --sv-text-primary: #0B0D10;
    --sv-text-secondary: #444B55;
    --sv-hover-alpha: 1;
    --sv-zebra-alpha: 0.6;
    /* focus ring: computed by Legibility, not a theme property.
       --sv-focus-ring is the single band for a plain surface.
       inner/outer are the halo for a focused element with its OWN fill,
       where no single colour clears both fill and surface. EQUAL means
       one band is enough here. */
    --sv-focus-ring: #1B75BC;
    --sv-focus-ring-inner: #0B0D10;
    --sv-focus-ring-outer: #0B0D10;
  }
}
