/* ============ MERGE TOKENS ============
   Shared by the website pages (css/pages/*) and the admin (admin/admin.css).
   design.md lists every token; keep the two in sync.
   Names avoid the short local variables the page styles use (--ink, --c, --g, --acc…). */
:root{
  /* Brand spectrum, in its fixed order */
  --green:#19c37d; --blue:#3550f0; --purple:#b236e6; --pink:#ff3d8b; --orange:#ff7a00;
  --spectrum:linear-gradient(90deg,var(--green),var(--blue),var(--purple),var(--pink),var(--orange));
  /* Neutrals */
  --charcoal:#141414; --white:#fff;
  --rail:#ededed;   /* page rails, light dividers */
  --line:#e3e3e3;   /* borders */
  --wash:#fafafa;   /* quiet panels */
  --cream:#fff4ec;  /* warm hero ground */
  --muted:#5f5a66;  /* secondary text, 6.5:1 on white */
  /* Type */
  --f-body:'Plus Jakarta Sans',system-ui,sans-serif;
  --f-head:'Alte Haas Grotesk','Archivo',sans-serif;
  --f-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  /* Motion */
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-swipe:cubic-bezier(.7,0,.2,1);
  /* admin sidebar widths: open, and collapsed to an icon rail */
  --ad-side-w:248px;
  --ad-rail-w:76px;
}

/* Alte Haas Grotesk: regular covers 100-599, bold 600-900 */
@font-face{font-family:'Alte Haas Grotesk';src:url(/fonts/alte-haas-grotesk-regular.ttf) format('truetype');font-weight:100 599;font-style:normal;font-display:swap}
@font-face{font-family:'Alte Haas Grotesk';src:url(/fonts/alte-haas-grotesk-bold.ttf) format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
