Context
src/index.css currently hand-rolls the full SEA.AI product token system (surface neutrals 1–5, content neutrals 1–3, primary/danger/warning signals, radius, spacing) for all three themes (DARK / LIGHT / NIGHT).
This was the right call to unblock the redesign, but it means the app will drift the moment the fleet updates a token value.
What to do
Once the shared @sea-ai/tokens npm package is published:
npm install @sea-ai/tokens
- Replace the hand-rolled
:root / [data-theme] blocks in src/index.css with the package import:
@import '@sea-ai/tokens/css';
- Delete the duplicated declarations — the CSS custom properties (
--surface-neutral-*, --content-neutral-*, --surface-primary-3, etc.) are already used by name throughout the CSS modules, so no other files need to change.
- Verify the three themes still render correctly by running the Playwright screenshot suite (
node screenshot-app.cjs).
Acceptance criteria
src/index.css contains no hand-rolled [data-theme] token blocks
- All three themes (DARK / LIGHT / NIGHT) look identical to current screenshots
npm run build passes with no warnings
Context
src/index.csscurrently hand-rolls the full SEA.AI product token system (surface neutrals 1–5, content neutrals 1–3, primary/danger/warning signals, radius, spacing) for all three themes (DARK / LIGHT / NIGHT).This was the right call to unblock the redesign, but it means the app will drift the moment the fleet updates a token value.
What to do
Once the shared
@sea-ai/tokensnpm package is published:npm install @sea-ai/tokens:root/[data-theme]blocks insrc/index.csswith the package import:--surface-neutral-*,--content-neutral-*,--surface-primary-3, etc.) are already used by name throughout the CSS modules, so no other files need to change.node screenshot-app.cjs).Acceptance criteria
src/index.csscontains no hand-rolled[data-theme]token blocksnpm run buildpasses with no warnings