Skip to main content

Light Theme

Light mode is a deliberate switch, not the default. Soft Cloud canvas, Slate text, Deep Indigo emphasis, Electric Teal accent.

Set data-theme="light".


Semantic → primitive map​

Surfaces​

SemanticValue
--jj-color-bg-canvas--jj-color-cloud-50 (#F8FAFC)
--jj-color-bg-surface--jj-color-white
--jj-color-bg-elevated--jj-color-white
--jj-color-bg-muted--jj-color-slate-100
--jj-color-bg-inverse--jj-color-indigo-900

Text​

SemanticValue
--jj-color-text-primary--jj-color-slate-800
--jj-color-text-secondary--jj-color-slate-500
--jj-color-text-tertiary#94A3B8
--jj-color-text-inverse--jj-color-white
--jj-color-text-link--jj-color-teal-600
--jj-color-text-on-accent--jj-color-indigo-950

Links use teal-600 on light for AA body-size text. Large links may use teal-500.

Borders & focus​

SemanticValue
--jj-color-border-subtle--jj-alpha-black-06
--jj-color-border-default--jj-color-slate-200
--jj-color-border-strong--jj-color-slate-300
--jj-color-focus-ring--jj-color-teal-500

Actions & status​

SemanticValue
--jj-color-accent--jj-color-teal-500
--jj-color-accent-hover--jj-color-teal-400
--jj-color-accent-pressed--jj-color-teal-600
--jj-color-accent-mutedcolor-mix(in srgb, #14B8A6 12%, white)
--jj-color-success--jj-color-jade-600
--jj-color-success-mutedcolor-mix(in srgb, #10B981 12%, white)
--jj-color-caution--jj-color-amber-600
--jj-color-caution-mutedcolor-mix(in srgb, #F59E0B 14%, white)
--jj-color-danger--jj-color-rose-600
--jj-color-danger-mutedcolor-mix(in srgb, #F43F5E 12%, white)

Primary CTA fill may use teal-500 with indigo-950 label, or indigo-900 fill with white label for maximum solemn primary — prefer teal primary for brand continuity; use indigo fill for rare inverse marketing blocks only.

Privacy pill​

SemanticValue
--jj-color-privacy-pill-bgcolor-mix(in srgb, #14B8A6 10%, white)
--jj-color-privacy-pill-fg--jj-color-indigo-900
--jj-color-privacy-pill-bordercolor-mix(in srgb, #14B8A6 40%, transparent)

Elevation (light)​

TokenValue
--jj-shadow-sm0 1px 2px rgba(15,23,42,0.06)
--jj-shadow-md0 4px 12px rgba(15,23,42,0.08)
--jj-shadow-lg0 8px 24px rgba(15,23,42,0.12)
--jj-overlay-scrimrgba(15,23,42,0.35)

Contrast notes​

  • Indigo-900 / Slate-800 on Soft Cloud → AAA for text
  • Avoid teal-400 for small text on white — use teal-600 / teal-500
  • Hairlines must remain visible on white elevated surfaces

Chrome checklist​

  • Same Agent · On-device pill component; light colors from this map
  • Sidebars: white surface on cloud canvas (subtle border)
  • Do not introduce warm cream or terracotta “AI template” palettes
  • Illustrations: teal stroke on Soft Cloud

Pairing​

Dark (default): THEME_DARK.md