:root{
/* --- Base ramps ------------------------------------------------- */
/* palm — palm-leaf manuscript paper */
--palm-50:#FDF9F1;--palm-100:#F7F0E1;--palm-200:#EFE3CB;--palm-300:#E2D2B0;--palm-400:#CBB68D;
/* ink — soaked iron-gall brown-black */
--ink-900:#1F1A14;--ink-800:#332A20;--ink-700:#4C4032;--ink-500:#6E5F4C;--ink-300:#9C8C74;
/* nila — indigo, the primary voice */
--nila-900:#1B2547;--nila-700:#2C3C73;--nila-600:#3A4E92;--nila-400:#7385BC;--nila-100:#DFE4F2;
/* kesara — saffron, warmth and progress */
--kesara-600:#C0761C;--kesara-500:#DE9227;--kesara-300:#F0C079;--kesara-100:#FBEBCF;
/* sindura — vermilion, emphasis and error */
--sindura-700:#9E2F1F;--sindura-600:#C0402B;--sindura-100:#F8DFD9;
/* tulasi — leaf green, correctness */
--tulasi-700:#3F6B3C;--tulasi-600:#4E8149;--tulasi-100:#DDEBD9;

/* --- Semantic aliases ------------------------------------------- */
--surface-page:var(--palm-50);
--surface-card:#FFFFFF;
--surface-sunken:var(--palm-100);
--surface-raised:var(--palm-200);
--surface-inverse:var(--ink-900);
--surface-brand:var(--nila-700);
--surface-brand-soft:var(--nila-100);
--surface-accent-soft:var(--kesara-100);

--text-body:var(--ink-800);
--text-strong:var(--ink-900);
--text-muted:var(--ink-500);
--text-faint:var(--ink-300);
--text-inverse:var(--palm-50);
--text-brand:var(--nila-700);
--text-link:var(--nila-700);
--text-link-hover:var(--nila-900);
--text-devanagari:var(--ink-900);
--text-translit:var(--ink-500);

--border-hairline:rgba(31,26,20,.12);
--border-strong:rgba(31,26,20,.28);
--border-brand:var(--nila-600);
--border-focus:var(--kesara-500);

--status-correct:var(--tulasi-600);
--status-correct-soft:var(--tulasi-100);
--status-error:var(--sindura-600);
--status-error-soft:var(--sindura-100);
--status-progress:var(--kesara-500);
--status-progress-soft:var(--kesara-100);
--status-locked:var(--ink-300);
}
[data-theme="lamp"]{
--surface-page:var(--ink-900);
--surface-card:#2A231B;
--surface-sunken:#191410;
--surface-raised:#372E24;
--text-body:var(--palm-100);
--text-strong:var(--palm-50);
--text-muted:var(--palm-400);
--text-devanagari:var(--palm-50);
--text-translit:var(--palm-400);
--text-link:var(--kesara-300);
--border-hairline:rgba(253,249,241,.14);
--border-strong:rgba(253,249,241,.32);
}
