/* ═══════════════════════════════════════════════════════════
   Design tokens — Video Factory Console (Fable5 redesign, #385)

   Extracted VERBATIM (values unchanged) from the :root token block of the
   authoritative prototype:
     m0_redesign_prototype.html  <style> lines 9-21

   Source of truth for any future edit is the prototype, not this file —
   if the design changes, re-extract; don't hand-tune values here.
   ═══════════════════════════════════════════════════════════ */
:root{
  color-scheme:dark;
  --ink-0:#14171C; --ink-1:#191D23; --ink-2:#20252D; --ink-3:#2A313B;
  --line-0:#242A33; --line-1:#303845;
  --tx-0:#F4F6F8; --tx-1:#DEE3E9; --tx-2:#98A2AE; --tx-3:#5C6672;
  --paper:#EDEFF2;
  --st-run:#41D98D; --st-wait:#E3B341; --st-fail:#F0614A; --st-idle:#5C6672;
  --ln-prod:#5E9EFF; --ln-fam:#DC8B9D; --ln-infra:#93A0B4;
  /* KG categorical palette (#389 [console] Phase 5 — Knowledge Graph entity
     types). Verbatim from m0_redesign_addendum_prototype.html's :root block
     (section C) — values unchanged, do not hand-tune. */
  --kg-1:#5FC4BE; --kg-2:#C9A15F; --kg-3:#9B8CE8;
  --kg-4:#C77FB3; --kg-5:#A9BE6B; --kg-6:#D08770;
  --shadow-pop:0 16px 40px rgba(4,6,9,.55);
  --font-ui:-apple-system,'Segoe UI','PingFang SC','Microsoft YaHei UI','Noto Sans SC',Roboto,sans-serif;
  --font-display:'Space Grotesk',var(--font-ui);   /* self-host woff2 in production */
  --font-mono:'Cascadia Mono','JetBrains Mono','SF Mono',Consolas,ui-monospace,monospace;
  --r:2px;
}

/* ─── Light theme (0720) ────────────────────────────────────────────────
   Same token ROLES, remapped values — components read only the vars, so no
   per-component overrides. Applied via <html data-theme="light"> (app.js
   toggle, persisted in localStorage vf_theme; dark stays the default).
   Status/lane/KG hues are darkened versions of the dark theme's (the dark
   theme's high-luminance accents fail contrast on a light page). --paper
   keeps its "inverted accent chip" role: dark chip on light page, so
   .chip.on/.btn-pri/.seg .on/toast keep their figure-ground flip in both
   themes. This block is an addendum to the prototype extraction above, not
   a hand-tune of it — the dark block stays verbatim. */
:root[data-theme="light"]{
  color-scheme:light;
  --ink-0:#F0F1F4; --ink-1:#FAFBFC; --ink-2:#E7E9EE; --ink-3:#D9DDE4;
  --line-0:#DFE3E9; --line-1:#C6CDD7;
  --tx-0:#15181D; --tx-1:#2B323C; --tx-2:#59636F; --tx-3:#8A94A0;
  --paper:#21262E;
  --st-run:#148F58; --st-wait:#A26F0F; --st-fail:#CC3F28; --st-idle:#8A94A0;
  --ln-prod:#2563C9; --ln-fam:#B4516B; --ln-infra:#5F6C7E;
  --kg-1:#22837D; --kg-2:#96742B; --kg-3:#6A58C4;
  --kg-4:#A34E8C; --kg-5:#63822B; --kg-6:#B25336;
  --shadow-pop:0 16px 40px rgba(23,28,35,.20);
}

/* ─── Space Grotesk, self-hosted (issue #385 acceptance: "字体自托管确认生效
   ... 不依赖CDN") ───────────────────────────────────────────────────────
   TODO(#385 follow-up): actual .woff2 binaries are NOT present in this repo
   yet — this agent run had no license/authorization to fetch third-party
   font files from the internet (would need explicit user go-ahead per the
   file-download policy, and the task told me not to block Phase 1 on it).
   Until the two files below are added under fonts/, these @font-face rules
   simply fail to resolve (harmless 404 in devtools) and --font-display
   falls through to the system --font-ui stack, which is exactly the
   graceful-degradation behavior '--font-display:"Space Grotesk",var(--font-ui)'
   already encodes. Drop in:
     fonts/space-grotesk-500.woff2  (weight 500)
     fonts/space-grotesk-700.woff2  (weight 700)
   from https://fonts.google.com/specimen/Space+Grotesk (OFL-1.1) and this
   starts working with zero further code changes. See fonts/README.md. */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('fonts/space-grotesk-500.woff2') format('woff2');
}
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/space-grotesk-700.woff2') format('woff2');
}
