:root{
/* ---- Brand primitives (from Pentaria_Color_Palette.pdf) ---- */
--pn-ink:#161B26;        /* 161B26 — primary dark, backgrounds + text */
--pn-cream:#FAF7F0;      /* FAF7F0 — primary light surface */
--pn-plum:#702963;       /* 702963 — deep accent; primary action colour */
--pn-rose:#D17E95;       /* D17E95 — organic half of the mark; warm secondary */
--pn-blue:#3B60A5;       /* 3B60A5 — the wordmark colour; systems accent + links */
--pn-mint:#6DCF8A;       /* 6DCF8A — circuit half of the mark; positive / signal */
--pn-grey:#4A4A4A;       /* 4A4A4A — body secondary text */

/* ---- Plum ramp ---- */
--plum-50:#F5EEF3;--plum-100:#E6D3E0;--plum-200:#CDA8C2;--plum-300:#A96A9A;
--plum-400:#8A3F79;--plum-500:#702963;--plum-600:#5E2253;--plum-700:#471940;
--plum-800:#31122C;--plum-900:#1D0A1A;

/* ---- Blue ramp ---- */
--blue-50:#EEF2F9;--blue-100:#D6E0F1;--blue-200:#AFC2E2;--blue-300:#7A99CD;
--blue-400:#5177B8;--blue-500:#3B60A5;--blue-600:#314F88;--blue-700:#263C68;
--blue-800:#1A2946;--blue-900:#101A2C;

/* ---- Rose ramp ---- */
--rose-50:#FCF3F5;--rose-100:#F6E0E6;--rose-200:#EBC1CD;--rose-300:#DFA0B2;
--rose-400:#D88CA1;--rose-500:#D17E95;--rose-600:#B2657B;--rose-700:#8C4E60;
--rose-800:#5F343F;--rose-900:#3A1F26;

/* ---- Mint ramp ---- */
--mint-50:#F0FAF3;--mint-100:#DAF4E1;--mint-200:#B4E8C4;--mint-300:#8FDCA7;
--mint-400:#7BD596;--mint-500:#6DCF8A;--mint-600:#4FAD6B;--mint-700:#3A8351;
--mint-800:#255435;--mint-900:#15301E;

/* ---- Neutral ramp (cream-warm, not pure grey) ---- */
--neutral-0:#FFFFFF;--neutral-25:#FDFBF7;--neutral-50:#FAF7F0;--neutral-100:#F2EEE5;
--neutral-200:#E4DFD4;--neutral-300:#CBC6BB;--neutral-400:#A5A29A;--neutral-500:#6F6D68;
--neutral-600:#4A4A4A;--neutral-700:#333947;--neutral-800:#232936;--neutral-900:#161B26;
--neutral-950:#0D111A;

/* ---- Semantic: surface ---- */
--surface-page:var(--neutral-50);
--surface-page-alt:var(--neutral-100);
--surface-card:var(--neutral-0);
--surface-sunken:var(--neutral-100);
--surface-inverse:var(--neutral-900);
--surface-inverse-alt:var(--neutral-800);
--surface-accent:var(--blue-500);
--surface-accent-soft:var(--blue-50);
--surface-highlight:var(--plum-500);
--surface-highlight-soft:var(--plum-50);
--surface-info-soft:var(--blue-50);
--surface-success-soft:var(--mint-50);
--surface-warn-soft:var(--rose-50);
--surface-overlay:rgba(22,27,38,.62);

/* ---- Semantic: text ---- */
--text-primary:var(--neutral-900);
--text-secondary:var(--neutral-600);
--text-tertiary:var(--neutral-500);
--text-inverse:var(--neutral-50);
--text-inverse-secondary:rgba(250,247,240,.68);
--text-accent:var(--blue-600);
--text-highlight:var(--plum-500);
--text-link:var(--blue-600);
--text-link-hover:var(--plum-500);
--text-on-accent:var(--neutral-50);

/* ---- Semantic: border ---- */
--border-subtle:rgba(22,27,38,.10);
--border-default:rgba(22,27,38,.18);
--border-strong:var(--neutral-900);
--border-accent:var(--blue-500);
--border-highlight:var(--plum-500);
--border-inverse:rgba(250,247,240,.16);
--border-focus:var(--plum-500);

/* ---- Semantic: status ---- */
--status-success:var(--mint-600);
--status-success-fg:var(--mint-800);
--status-info:var(--blue-500);
--status-info-fg:var(--blue-700);
--status-attention:var(--rose-500);
--status-attention-fg:var(--rose-700);
--status-neutral:var(--neutral-500);

/* ---- Data / mark ---- */
--mark-organic:var(--pn-rose);
--mark-circuit:var(--pn-mint);
--mark-wordmark:var(--pn-blue);
--mark-tagline:var(--pn-grey);
--chart-1:var(--pn-plum);--chart-2:var(--pn-blue);--chart-3:var(--pn-mint);
--chart-4:var(--pn-rose);--chart-5:var(--neutral-600);
}
[data-theme="dark"]{
--surface-page:var(--neutral-900);
--surface-page-alt:var(--neutral-800);
--surface-card:var(--neutral-800);
--surface-sunken:var(--neutral-950);
--surface-inverse:var(--neutral-50);
--surface-accent-soft:rgba(59,96,165,.22);
--surface-highlight-soft:rgba(112,41,99,.24);
--text-primary:var(--neutral-50);
--text-secondary:rgba(250,247,240,.68);
--text-tertiary:rgba(250,247,240,.46);
--text-inverse:var(--neutral-900);
--text-accent:var(--blue-200);
--text-highlight:var(--rose-300);
--text-link:var(--blue-200);
--text-link-hover:var(--rose-300);
--border-subtle:rgba(250,247,240,.10);
--border-default:rgba(250,247,240,.18);
--border-strong:var(--neutral-50);
}
