WORK-341
Setting up your dashboard 0 entities found · 9/32 branches scanned
ID:WORK-341Status:done

Dark-mode token parity audit

Make dark-mode token coverage deliberate. Most "dark looks off" reports trace to the phantom tokens fixed in WORK-340 (a phantom can't have a dark value); this item closes the genuine remaining gaps and records the intentional shared-token decisions.

Priority:mediumComplexity:simpleMilestone:v0.19.0
claude/v0.19-lumina-polish View source

Criteria completion

Criteria completion: 4 of 4 (100%) checked; tracking started on Jun 5, no incremental history yet0%25%50%75%100%Jun 5Jun 15

Tracking started Jun 5 — check back for trends.

Branches 3
History 4
  1. f3e3543
    Created (done)by bjornolofandersson
  2. 9933937
    Content editedby Claude
    Dark-mode parity: annotate the 4 derived tokens as intentionally shared
  3. fb9139e
    Content editedby Claude
    plan: flesh out the Lumina polish workstream (WORK-340/341/351/352)
  4. 33e11b7
    Content editedby Claude
    plan: shape v0.19.0 around polish, composability & rollups

Acceptance Criteria

  • The three code-block tokens with no dark override get correct dark values: --rf-color-line-highlight, --rf-color-line-highlight-rail, --rf-color-line-number. Verify line highlighting + numbering read correctly on a dark code block.
  • Every remaining semantic colour token defined in base.css either has a dark override in dark.css or is explicitly annotated as intentionally shared.
  • The --rf-color-primary-50…950 ramp is no longer a parity concern (removed by WORK-340); confirm nothing dark-mode-relevant still depends on it.
  • A light/dark spot-check (or snapshot) of code blocks, callouts, and badges shows no cold/blown-out colours.

Approach

Diff the base vs dark token sets (comm -23). For each unmatched token, add a dark value or annotate it shared. The code-block tokens are the only confirmed visual gap; the rest is a deliberate-decision pass once WORK-340's phantoms are resolved.

References

  • packages/lumina/tokens/base.css, dark.css
  • packages/lumina/styles/runes/codegroup.css + code/syntax styling

Resolution

Completed: 2026-06-05

Branch: claude/v0.19-lumina-polish

What was done

Investigation showed the dark-parity gap was smaller than feared — and mostly already fixed by WORK-340. After the phantom-token + ramp cleanup, only four base tokens lack a dark.css override, and all four are derived from mode-aware tokens:

  • line-highlight = color-mix(text 6%, transparent)
  • line-highlight-rail = var(--rf-color-primary, …)
  • line-number = var(--rf-color-muted)
  • primary-bg = color-mix(primary 10%, transparent)

Because text / primary / muted all flip in dark mode, these track dark automatically; pinning fixed dark values would break the derivation. So they are intentionally shared — annotated as such in base.css (WORK-341 note). Every absolute token already has a dark override (verified).

Notes

  • The real "dark looks off" symptoms (cold-gray muted text, out-of-place blue) were the phantom tokens, resolved in WORK-340 — not a missing dark value here.
  • No fixed dark values added by design; this item is the deliberate verify-and-annotate pass the parity audit called for.