:root{
/* Base palette — from fomo-media-reference.png */
--ivory-50:#FFFCF8;
--ivory-100:#FAF3EB;
--ivory-200:#F2E8DC;
--ivory-300:#E6D9CA;
--ink-900:#170200;
--ink-800:#2A1612;
--ink-700:#3D2A25;
--grey-600:#6B5E56;
--grey-500:#8A7C72;
--grey-300:#CFC2B5;
--lemon-400:#F9FB6C;
--lemon-300:#FBFC9A;
--lemon-500:#E8EA4F;
--white:#FFFFFF;
/* Neutral stone — v2 white direction */
--stone-100:#F4F4F1;
--stone-200:#EAEAE6;
--stone-300:#D6D6D0;
--stone-500:#8C8C86;
--stone-600:#5F5F5A;
--red-600:#B3261E;
--green-700:#2F6B3A;
/* Media brand colours — logos only, never as UI palette */
--the-room-pink:#FFC8CC;
/* Franc colours — v3 encarts */
--cobalt-600:#2233D5;
--cobalt-700:#1A28AE;
--framboise-600:#C81E5B;
--framboise-700:#A3164A;
--vert-800:#0E4D36;
--vert-900:#0A3A29;

/* Semantic */
--background:var(--white);
--surface:var(--white);
--surface-alt:var(--stone-100);
--surface-sunken:var(--stone-100);
--surface-inverse:var(--ink-900);
--surface-accent:var(--lemon-400);
--text:var(--ink-900);
--text-muted:var(--stone-600);
--text-inverse:var(--ivory-100);
--text-inverse-muted:#BFB2A8;
--text-on-accent:var(--ink-900);
--accent:var(--lemon-400);
--accent-hover:var(--lemon-500);
--border:var(--stone-300);
--border-strong:var(--ink-900);
--border-inverse:rgba(250,243,235,.22);
--focus:var(--ink-900);
--focus-on-dark:var(--lemon-400);
--error:var(--red-600);
--success:var(--green-700);
--surface-raised:var(--white);
--btn-bg:var(--ink-900);
--btn-fg:var(--ivory-100);
--btn-hover-bg:var(--ink-700);
--btn-hover-fg:var(--ivory-100);
--highlight:var(--ink-900);
--accent-line:var(--lemon-500);
--dot-ring:var(--ink-900);
--logo-ink:block; /* @kind other */
--logo-ivory:none; /* @kind other */
--overlay-protect:linear-gradient(to top,rgba(23,2,0,.72),rgba(23,2,0,0) 55%); /* @kind color */
}
