:root{
/* Base palette — three colours only */
--ink:#111111;            /* near-black, dominant */
--bone:#F5F1E8;           /* warm off-white, the ground */
--oxblood:#571E23;        /* deep red-brown, single accent — ONE per view, max */
/* Ink tints (on bone) */
--ink-80:rgba(17,17,17,.8);
--ink-60:rgba(17,17,17,.6);
--ink-40:rgba(17,17,17,.4);
--ink-20:rgba(17,17,17,.2);
--ink-10:rgba(17,17,17,.1);
/* Bone tints (on ink) */
--bone-80:rgba(245,241,232,.8);
--bone-60:rgba(245,241,232,.6);
--bone-40:rgba(245,241,232,.4);
--bone-20:rgba(245,241,232,.2);
/* Semantic aliases */
--surface-page:var(--bone);
--surface-inverse:var(--ink);
--surface-card:var(--bone);      /* cards are rules, not fills */
--text-body:var(--ink);
--text-muted:var(--ink-60);
--text-faint:var(--ink-40);
--text-on-ink:var(--bone);
--accent:var(--oxblood);
--rule:var(--ink-20);            /* 1px structural rules */
--rule-strong:var(--ink);
--rule-on-ink:var(--bone-20);
--focus:var(--ink);
/* Scroll spectrum — the page darkens as it descends. Backdrop lerps between stops; sections declare their stop. */
--spectrum-0:#F5F1E8;      /* bone — open */
--spectrum-1:#EFE8D8;      /* bone, deepening */
--spectrum-2:#E8DFC9;      /* last light */
--spectrum-3:#2B1417;      /* the plunge — oxblood-black */
--spectrum-4:#111111;      /* ink */
--spectrum-5:#0B0B0B;      /* ink-deep — close */
--oxblood-deep:#2B1417;
--oxblood-bright:#6B262C;
--ink-deep:#0B0B0B;
}
