:root,
html[data-theme="dark"]{
  --font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;

  --color-bg:#0a0c10;
  --color-bg-muted:#0f1318;
  --color-surface:#11161c;
  --color-surface-muted:#0e1319;
  --color-surface-raised:#161c24;
  --color-text:#e7ecf2;
  --color-text-muted:#c4ccd6;
  --color-text-soft:#8a95a3;
  --color-text-faint:#5b6573;
  --color-border:#1c232c;
  --color-border-strong:#222b36;
  --color-primary:#f0b35a;
  --color-primary-contrast:#160d03;
  --color-secondary:#43d39e;
  --color-accent:#a78bfa;
  --color-warning:#ffd28a;
  --color-danger:#ff8a8a;
  --color-success:#7ce0a8;
  --color-tag-bg:#1a2330;
  --color-tag-text:#f6d6a5;
  --color-white:#ffffff;
  --color-black:#000000;

  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;

  --radius-xs:6px;
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:18px;
  --radius-xl:24px;
  --radius-pill:999px;

  --shadow-card:0 10px 30px rgba(0,0,0,.35);
  --shadow-soft:0 16px 48px rgba(0,0,0,.26);
  --shadow-focus:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent);

  --duration-fast:.16s;
  --duration-med:.25s;
  --ease-standard:cubic-bezier(.2,.7,.2,1);

  /* Backward-compatible aliases for the current static templates. */
  --bg:var(--color-bg);
  --bg-2:var(--color-bg-muted);
  --panel:var(--color-surface);
  --panel-2:var(--color-surface-muted);
  --panel-3:var(--color-surface-raised);
  --ink:var(--color-text);
  --ink-2:var(--color-text-muted);
  --ink-dim:var(--color-text-soft);
  --ink-faint:var(--color-text-faint);
  --line:var(--color-border);
  --line-2:var(--color-border-strong);
  --accent:var(--color-primary);
  --accent-2:var(--color-secondary);
  --accent-3:var(--color-accent);
  --warn:var(--color-warning);
  --danger:var(--color-danger);
  --good:var(--color-success);
  --tag:var(--color-tag-bg);
  --tag-ink:var(--color-tag-text);
  --shadow:var(--shadow-card);
  --radius:var(--radius-md);

  color-scheme:dark;
}

html[data-theme="light"]{
  --color-bg:#f7f8fb;
  --color-bg-muted:#ffffff;
  --color-surface:#ffffff;
  --color-surface-muted:#f1f4f8;
  --color-surface-raised:#eef3f8;
  --color-text:#111827;
  --color-text-muted:#2f3a4a;
  --color-text-soft:#657286;
  --color-text-faint:#9aa5b5;
  --color-border:#dfe6ee;
  --color-border-strong:#ccd7e3;
  --color-primary:#e43d63;
  --color-primary-contrast:#ffffff;
  --color-secondary:#0f9f8f;
  --color-accent:#7c3aed;
  --color-warning:#a76712;
  --color-danger:#b83244;
  --color-success:#168b68;
  --color-tag-bg:#edf3fb;
  --color-tag-text:#2f4c7a;
  --shadow-card:0 12px 32px rgba(20,35,55,.10);
  --shadow-soft:0 18px 50px rgba(20,35,55,.12);

  color-scheme:light;
}

html.theme-transition,
html.theme-transition *,
html.theme-transition *::before,
html.theme-transition *::after{
  transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease,fill .35s ease !important;
}
