/* Base ramp + semantic aliases. Every value below is taken verbatim from the extracted palette. */
:root{
/* neutrals — dark to light */
--black:#000000;--gray-950:#111111;--gray-900:#2a2a2b;--gray-850:#333333;--gray-800:#444444;--gray-700:#555555;--gray-600:#666666;--gray-500:#888888;--gray-450:#999999;--gray-400:#aaaaaa;--gray-350:#bbbbbb;--gray-300:#cccccc;--gray-200:#dddddd;--white:#ffffff;
/* accent — the single brand accent, plus its dimmed companion */
--lime-500:#ceff51;--lime-900:#495033;
/* alert reds / orange */
--red-500:#e32400;--red-400:#ff220b;--red-600:#a90707;--red-700:#b91c1c;--orange-500:#ff6231;

/* ---- semantic: surfaces ---- */
--surface-page:var(--black);
--surface-card:var(--gray-950);
--surface-raised:var(--gray-900);
--surface-contrast:var(--gray-850);
--surface-input:var(--gray-950);
--surface-scrim:#000000cc;
--surface-accent:var(--lime-500);
--surface-accent-dim:var(--lime-900);
--surface-danger:var(--red-600);

/* ---- semantic: text ---- */
--text-primary:var(--white);
--text-secondary:var(--gray-300);
--text-muted:var(--gray-450);
--text-faint:var(--gray-600);
--text-inverse:var(--black);
--text-accent:var(--lime-500);
--text-danger:var(--red-400);
--text-link:var(--lime-500);
--text-link-hover:var(--white);

/* ---- semantic: borders ---- */
--border-subtle:var(--gray-850);
--border-default:var(--gray-700);
--border-input:var(--gray-600);
--border-strong:var(--gray-500);
--divider:var(--gray-850);

/* ---- semantic: state ---- */
--accent:var(--lime-500);
--accent-ink:var(--black);
--focus-ring:var(--lime-500);
--focus-ring-width:2px;
--danger:var(--red-400);
--danger-strong:var(--red-500);
--danger-urgent:var(--red-600);
--warning:var(--orange-500);
/* No distinct success hue exists in the source palette — accent lime carries positive/active meaning. */
--success:var(--lime-500);
--disabled-fg:var(--gray-600);
--disabled-bg:var(--gray-900);
}
