/* Vahary brand tokens — v1 (D-03b violet). Pair with fonts/ woff2 subsets. */
:root{
  /* color */
  --vahary-paper:#F2F3F1; --vahary-ink:#181E24; --vahary-steel:#6C747B;
  --vahary-hairline:#C6CCCE; --vahary-night:#12161A;
  --vahary-violet:#5B21B6;        /* core accent (light grounds) */
  --vahary-violet-bright:#8B5CF6; /* accent on dark grounds */
  --vahary-violet-deep:#2E1065;   /* ramp: depth */
  --vahary-violet-tint:#D8C9F7;   /* ramp: tint */
  /* semantic status (hardware LED language) — never use as brand accent */
  --vahary-status-healthy:var(--vahary-violet-bright);
  --vahary-status-attention:#D97706; /* amber: ATTENTION ONLY */
  --vahary-status-fault:#DC2626;
  /* type roles */
  --vahary-font-display:'Tektur',system-ui,sans-serif;      /* wordmark/display ONLY */
  --vahary-font-body:'Work Sans',system-ui,sans-serif;      /* interface + documents */
  --vahary-font-mono:'IBM Plex Mono',ui-monospace,monospace;/* annotation + data */
  /* theme defaults (light) */
  --vahary-bg:var(--vahary-paper); --vahary-fg:var(--vahary-ink);
  --vahary-accent:var(--vahary-violet);
}
/* Theme seam: default follows OS; data-v-theme="light|dark" on :root wins either way
   (same selector pattern as the tokens layer, packages/vahary-tokens/dist/vahary.css). */
@media (prefers-color-scheme: dark){
  :root:not([data-v-theme="light"]){ --vahary-bg:var(--vahary-night); --vahary-fg:var(--vahary-paper);
         --vahary-accent:var(--vahary-violet-bright); }
}
:root[data-v-theme="dark"]{ --vahary-bg:var(--vahary-night); --vahary-fg:var(--vahary-paper);
       --vahary-accent:var(--vahary-violet-bright); }
@font-face{ font-family:'Tektur'; src:url(fonts/Tektur-Medium-latin.woff2) format('woff2');
  font-weight:500; font-display:swap; }
@font-face{ font-family:'Work Sans'; src:url(fonts/WorkSans-Regular-latin.woff2) format('woff2');
  font-weight:400; font-display:swap; }
@font-face{ font-family:'Work Sans'; src:url(fonts/WorkSans-Bold-latin.woff2) format('woff2');
  font-weight:700; font-display:swap; }
@font-face{ font-family:'IBM Plex Mono'; src:url(fonts/IBMPlexMono-latin.woff2) format('woff2');
  font-weight:400; font-display:swap; }
/* Logo usage: inline vahary-wordmark-onecolor.svg (currentColor) and it inherits --vahary-fg.
   The aperture is never filled; the violet dot drops below 32px (use the -onecolor variants). */

/* Motion tokens (MOTION.md v1) - motion means: the machine turned on */
:root{
  --v-ignite-dur:450ms; --v-ignite-ease:cubic-bezier(.2,.9,.3,1.4);
  --v-rise-dur:360ms;   --v-rise-ease:cubic-bezier(.2,.7,.2,1);
  --v-sweep-dur:320ms;  --v-sweep-ease:cubic-bezier(.4,0,.2,1);
  --v-breath-dur:2600ms;--v-breath-ease:cubic-bezier(.45,0,.55,1);
  --v-touch-dur:150ms;  --v-stagger:40ms;
}
@media (prefers-reduced-motion: reduce){
  :root{--v-ignite-dur:0ms;--v-rise-dur:0ms;--v-sweep-dur:0ms;--v-breath-dur:0ms;--v-touch-dur:0ms}
}
