/* Plentiful tokens — copied verbatim from _design-system/tokens (colors, typography, spacing, borders, motion). Do not edit here; re-copy from the bundle. */
:root{
/* ---- Heroes. Reverted to the original brand pair (Sept 2026); the only two saturated hues. -- */
--plentiful-gold:#ffcf5a;
--plentiful-purple:#b564f7;

/* Deep versions. These are what type and buttons use — the heroes themselves
   are fields and accents, never small text. */
--plentiful-gold-deep:#96700c;
--plentiful-gold-deepest:#6d5006;
--plentiful-purple-deep:#6d33b0;
--plentiful-purple-deepest:#54247f;

/* Tints. Card and callout grounds. Light enough to carry ink at 4.5:1. */
--plentiful-gold-tint:#f7eece;
--plentiful-purple-tint:#efe2fb;

/* ---- Warm neutral ground ----------------------------------------------- */
--plentiful-ink:#1c1620;
--plentiful-ink-70:#514956;
--plentiful-ink-50:#837b88;
--plentiful-ink-30:#b6afb9;
--plentiful-aubergine:#2e1b3d;
--plentiful-paper:#faf7f2;
--plentiful-sand:#f1ece4;
--plentiful-stone:#e6ded2;
--plentiful-white:#ffffff;

/* ---- Data ramp. One accent per chart, ink for everything else. ---------- */
--plentiful-teal:#2f6d62;
--plentiful-rose:#b0455a;

/* Retired names, aliased to the new palette so existing components keep
   rendering. Do not use in new work. */
--plentiful-legacy-violet-ink:#2b1259;
--plentiful-violet-ink:var(--plentiful-aubergine);
--plentiful-cream:var(--plentiful-sand);
--plentiful-mauve:var(--plentiful-purple-tint);
--plentiful-navy:var(--plentiful-aubergine);
--plentiful-mint:var(--plentiful-teal);

/* ---- Semantic: surfaces ------------------------------------------------ */
--surface-page:var(--plentiful-paper);
--surface-card:var(--plentiful-white);
--surface-raised:var(--plentiful-white);
--surface-sunken:var(--plentiful-sand);
--surface-inverse:var(--plentiful-aubergine);
--surface-gold:var(--plentiful-gold-tint);
--surface-purple:var(--plentiful-purple-tint);
--surface-gold-solid:var(--plentiful-gold);
--surface-ink:var(--plentiful-ink);

/* ---- Semantic: text ---------------------------------------------------- */
--text-body:var(--plentiful-ink);
--text-muted:var(--plentiful-ink-70);
--text-faint:var(--plentiful-ink-50);
--text-display:var(--plentiful-ink);
--text-on-gold:var(--plentiful-ink);
--text-on-purple:var(--plentiful-ink);
--text-on-ink:var(--plentiful-paper);
--text-on-inverse:var(--plentiful-paper);
--text-link:var(--plentiful-ink);
--text-link-hover:var(--plentiful-purple-deep);
--accent-gold:var(--plentiful-gold-deep);
--accent-purple:var(--plentiful-purple-deep);

/* ---- Semantic: lines & marks ------------------------------------------- */
--rule-hairline:var(--plentiful-stone);
--rule-strong:var(--plentiful-ink);
--rule-brand:var(--plentiful-gold);
--rule-on-tint:rgba(28,22,32,.13);
--highlight-gold:var(--plentiful-gold);
--highlight-purple:var(--plentiful-purple);

/* ---- Semantic: data / status ------------------------------------------- */
--data-1:var(--plentiful-purple);
--data-2:var(--plentiful-gold);
--data-3:var(--plentiful-teal);
--data-positive:var(--plentiful-teal);
--data-negative:var(--plentiful-rose);
--data-neutral:var(--plentiful-ink-50);
--status-note-bg:var(--plentiful-sand);
--status-warn-bg:var(--plentiful-gold-tint);
--status-info-bg:var(--plentiful-purple-tint);
}
:root{
--font-display:"Instrument Serif",Georgia,serif;
--font-text:"Inter",-apple-system,"Segoe UI",sans-serif;
--font-hand:"La Belle Aurore",cursive;
/* Poster face. Social posters were signed off in the heavy grotesque, so they
   are pinned here rather than riding on --font-display (now a serif). Used by
   SplitInvert only — never in editorial, newsletter or product surfaces. */
--font-poster:"Archivo Black","Arial Black",Helvetica,sans-serif;
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

--weight-regular:400; /* @kind other */
--weight-medium:500; /* @kind other */
--weight-semibold:600; /* @kind other */

/* Display. Serif, sentence case, positive leading. Nothing is set uppercase
   above 12px — that was the poster era. */
--size-poster:clamp(56px,8vw,104px); /* @kind font */
--lh-poster:1.02; /* @kind other */
--tracking-poster:-.008em; /* @kind other */

--size-display-1:clamp(44px,6.2vw,76px); /* @kind font */
--lh-display-1:1.02; /* @kind other */
--tracking-display-1:-.005em; /* @kind other */

--size-display-2:clamp(34px,4.4vw,54px); /* @kind font */
--lh-display-2:1.06; /* @kind other */
--tracking-display-2:-.005em; /* @kind other */

--size-headline:40px; /* @kind font */
--lh-headline:1.08; /* @kind other */

--size-subhead:26px; /* @kind font */
--lh-subhead:1.18; /* @kind other */

/* Working text — Inter */
--size-lede:19px; /* @kind font */
--lh-lede:1.55; /* @kind other */
--size-body:17px; /* @kind font */
--lh-body:1.7; /* @kind other */
--size-body-sm:15px; /* @kind font */
--lh-body-sm:1.5; /* @kind other */
--size-caption:13px; /* @kind font */
--lh-caption:1.45; /* @kind other */

/* Labels: the only uppercase left in the system. */
--size-label:11px; /* @kind font */
--lh-label:1; /* @kind other */
--tracking-label:.20em; /* @kind other */
--size-kicker:11px; /* @kind font */
--tracking-kicker:.22em; /* @kind other */

/* Numbers — serif, so figures feel editorial rather than dashboard. */
--size-stat:clamp(48px,6vw,84px); /* @kind font */
--lh-stat:1; /* @kind other */
--size-stat-sm:34px; /* @kind font */

/* Handwriting. One size, used sparingly. */
--size-hand:24px; /* @kind font */
--lh-hand:1.55; /* @kind other */

--measure-body:66ch; /* @kind other */
--measure-essay:36em; /* @kind other */
}
:root{
--space-0:0px;
--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:24px;
--space-6:32px;
--space-7:48px;
--space-8:64px;
--space-9:96px;
--space-10:128px;

/* The poster grid. Every brand device snaps to this module. */
--grid-module:16px; /* @kind spacing */
--grid-columns:12; /* @kind other */
--grid-gutter:24px; /* @kind spacing */
--page-margin:24px; /* @kind spacing */
--page-margin-lg:64px; /* @kind spacing */
--container-text:720px; /* @kind spacing */
--container-wide:1160px; /* @kind spacing */
--container-poster:1080px; /* @kind spacing */
}
:root{
/* Corners are soft now. Cards are generous, buttons are pills, and the
   square-cornered poster block is retired. */
--radius-none:0px;
--radius-sm:8px;
--radius-md:12px;
--radius-lg:18px;
--radius-pill:999px;
--radius-photo:12px;

--border-hair:1px; /* @kind spacing */
--border-rule:1px; /* @kind spacing */
--border-strong:2px; /* @kind spacing */
--border-emphasis:3px; /* @kind spacing */

/* Shadows: none. Depth comes from tinted fields, hairline rules and
   whitespace. The hard offset stamp is retired. */
--shadow-none:none;
}
:root{
/* Motion is warm and unhurried, never bouncy. Colour and opacity only, plus
   a 1px press. Nothing scales, floats, springs or parallaxes. */
--ease-standard:cubic-bezier(.22,.61,.36,1); /* @kind other */
--ease-exit:cubic-bezier(.4,0,1,1); /* @kind other */
--duration-instant:100ms; /* @kind other */
--duration-fast:160ms; /* @kind other */
--duration-base:220ms; /* @kind other */
--duration-slow:320ms; /* @kind other */
}
@media (prefers-reduced-motion:reduce){
:root{--duration-instant:0ms; /* @kind other */
--duration-fast:0ms; /* @kind other */
--duration-base:0ms; /* @kind other */
--duration-slow:0ms; /* @kind other */}
}
