:root{
/* base — brand */
--nj-black:#000000;
--nj-white:#FFFFFF;
--nj-lime:#B3FE01;
--nj-lime-600:#9AE000;
--nj-lime-700:#7FB800;
--nj-lime-tint-12:rgba(179,254,1,.12);
--nj-lime-tint-24:rgba(179,254,1,.24);

/* base — neutrals (dark-first ramp) */
--nj-ink-0:#000000;
--nj-ink-50:#0A0A0A;
--nj-ink-100:#111111;
--nj-ink-200:#1A1A1A;
--nj-ink-300:#242424;
--nj-ink-400:#2E2E2E;
--nj-gray-500:#5C5C5C;
--nj-gray-600:#8A8A8A;
--nj-gray-700:#B5B5B5;
--nj-gray-800:#DEDEDE;

/* base — sub-brands (Not Media ecosystem) */
--nj-notsports-red:#CC0202;
--nj-healthbrief-blue:#0058DF;

/* semantic — surface */
--surface-page:var(--nj-ink-0);
--surface-card:var(--nj-ink-100);
--surface-elevated:var(--nj-ink-200);
--surface-inset:var(--nj-ink-50);
--surface-accent:var(--nj-lime);
--surface-inverse:var(--nj-white);

/* semantic — text */
--text-primary:var(--nj-white);
--text-secondary:var(--nj-gray-700);
--text-muted:var(--nj-gray-600);
--text-accent:var(--nj-lime);
--text-on-accent:var(--nj-black);
--text-on-inverse:var(--nj-black);

/* semantic — line */
--border-subtle:var(--nj-ink-300);
--border-strong:var(--nj-ink-400);
--border-inverse:rgba(255,255,255,.24);
--border-accent:var(--nj-lime);

/* semantic — interactive */
--accent:var(--nj-lime);
--accent-hover:var(--nj-lime-600);
--accent-press:var(--nj-lime-700);
--link:var(--nj-white);
--link-hover:var(--nj-lime);
--focus-ring:var(--nj-lime);

/* editorial tag colors — all editorias share the single accent */
--tag-fg:var(--nj-lime);
--tag-bg:transparent;
--tag-bg-solid:var(--nj-lime);
--tag-fg-solid:var(--nj-black);
}
