:root{
/* base neutrals — sampled from logo ink + card paper + card-back stone */
--ink-900:#1a1a1a;
--ink-700:#3a3a38;
--ink-500:#6b6b66;
--stone-600:#767570;
--stone-400:#9a9892;
--stone-300:#c7c4bc;
--paper-100:#f6f2ee;
--paper-50:#fbf9f6;
--white:#ffffff;

/* accent — derived in oklch from the stone/paper hue family (no accent color exists in source assets) */
--moss-600:oklch(41% 0.05 140);
--moss-500:oklch(52% 0.055 140);
--moss-100:oklch(94% 0.02 140);
--clay-600:oklch(46% 0.09 40);
--clay-500:oklch(56% 0.1 40);
--clay-100:oklch(94% 0.025 40);

/* semantic aliases */
--surface-page:var(--paper-100);
--surface-card:var(--white);
--surface-sunken:var(--paper-50);
--surface-inverse:var(--ink-900);
--surface-accent:var(--stone-600);

--text-primary:var(--ink-900);
--text-secondary:var(--ink-500);
--text-on-inverse:var(--paper-100);

--border-default:var(--stone-300);
--border-strong:var(--ink-900);
--border-on-inverse:rgba(246,242,238,0.35);

--action-primary:var(--ink-900);
--action-primary-hover:var(--ink-700);
--action-on-accent:var(--paper-100);

--feedback-error:var(--clay-600);
}
