Skip to content

Commit d086c90

Browse files
feat(theme-y2k): cool indigo dark-mode surfaces
Rework the Y2K dark-mode surfaces from the warm cream-derived browns (#190f00 / #221a10 / #2d241b) to a cool "night periwinkle" indigo palette, so dark mode echoes the light theme's periwinkle body (#CCCFFA) instead of reading as warm coffee brown. Body #0e0f1a, surface/card #16182b, popover/muted #1f2238, with cool off-white text (#EDEFFC) and periwinkle-gray secondary (#a6acd6). Light mode and all categorical pop colors are unchanged. Contrast verified (primary text ~16.7:1 on body). Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent dca44f7 commit d086c90

2 files changed

Lines changed: 33 additions & 25 deletions

File tree

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'@xds/theme-y2k': patch
3+
---
4+
5+
[feat] Rework Y2K dark-mode surfaces to a cool "night periwinkle" indigo palette
6+
@rubyycheung
7+
8+
Dark mode now echoes the light theme's periwinkle body instead of warm cream-derived browns: body `#0e0f1a`, surface/card `#16182b`, popover/muted `#1f2238`, with cool off-white text (`#EDEFFC`). Light mode and all categorical pop colors are unchanged.

packages/themes/y2k/src/y2kTheme.ts

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -86,38 +86,38 @@ export const y2kTheme = defineTheme({
8686
// =========================================================================
8787

8888
// Core semantic — neutral H=75 C=8 (cream)
89-
'--color-accent': ['#2d241b', '#fbefe2'],
90-
'--color-accent-muted': ['#2d241b14', '#fbefe220'],
91-
'--color-neutral': ['#2d241b10', '#fbefe21A'],
92-
'--color-background-surface': ['#FFFFFF', '#221a10'],
93-
'--color-background-body': ['#CCCFFA', '#190f00'],
94-
'--color-overlay': ['#2d241b80', '#2d241bCC'],
95-
'--color-overlay-hover': ['#2d241b0D', '#fbefe20D'],
96-
'--color-overlay-pressed': ['#2d241b1A', '#fbefe21A'],
97-
'--color-background-muted': ['#ede0d4', '#2d241b'],
89+
'--color-accent': ['#2d241b', '#EDEFFC'],
90+
'--color-accent-muted': ['#2d241b14', '#EDEFFC20'],
91+
'--color-neutral': ['#2d241b10', '#EDEFFC1A'],
92+
'--color-background-surface': ['#FFFFFF', '#16182b'],
93+
'--color-background-body': ['#CCCFFA', '#0e0f1a'],
94+
'--color-overlay': ['#2d241b80', '#0a0b14CC'],
95+
'--color-overlay-hover': ['#2d241b0D', '#EDEFFC0D'],
96+
'--color-overlay-pressed': ['#2d241b1A', '#EDEFFC1A'],
97+
'--color-background-muted': ['#ede0d4', '#1f2238'],
9898

9999
// Text — neutral H=75 (cream)
100-
'--color-text-primary': ['#2d241b', '#fbefe2'],
101-
'--color-text-secondary': ['#675d52', '#a79c90'],
102-
'--color-text-disabled': ['#d1c5b8', '#5b5146'],
103-
'--color-text-accent': ['#2d241b', '#fbefe2'],
100+
'--color-text-primary': ['#2d241b', '#EDEFFC'],
101+
'--color-text-secondary': ['#675d52', '#a6acd6'],
102+
'--color-text-disabled': ['#d1c5b8', '#4a4f6b'],
103+
'--color-text-accent': ['#2d241b', '#EDEFFC'],
104104
'--color-on-dark': '#FFFFFF',
105105
'--color-on-light': '#2d241b',
106-
'--color-on-accent': ['#FFFFFF', '#2d241b'],
106+
'--color-on-accent': ['#FFFFFF', '#16182b'],
107107
'--color-on-success': ['#3a5500', '#1e3200'],
108108
'--color-on-error': ['#8b1d24', '#5c0008'],
109109
'--color-on-warning': ['#614400', '#3f2600'],
110110

111111
// Icon — neutral H=75 (cream)
112-
'--color-icon-accent': ['#2d241b', '#fbefe2'],
113-
'--color-icon-primary': ['#2d241b', '#fbefe2'],
114-
'--color-icon-secondary': ['#675d52', '#a79c90'],
115-
'--color-icon-disabled': ['#d1c5b8', '#5b5146'],
112+
'--color-icon-accent': ['#2d241b', '#EDEFFC'],
113+
'--color-icon-primary': ['#2d241b', '#EDEFFC'],
114+
'--color-icon-secondary': ['#675d52', '#a6acd6'],
115+
'--color-icon-disabled': ['#d1c5b8', '#4a4f6b'],
116116

117117
// Surface variants — white cards, cream body
118-
'--color-background-card': ['#FFFFFF', '#221a10'],
119-
'--color-background-popover': ['#FFFFFF', '#2d241b'],
120-
'--color-background-inverted': ['#2d241b', '#fbefe2'],
118+
'--color-background-card': ['#FFFFFF', '#16182b'],
119+
'--color-background-popover': ['#FFFFFF', '#1f2238'],
120+
'--color-background-inverted': ['#2d241b', '#EDEFFC'],
121121

122122
// Status / Sentiment — same in light and dark
123123
'--color-success': ['#C5E17A', '#C5E17A'],
@@ -129,13 +129,13 @@ export const y2kTheme = defineTheme({
129129

130130
// Bold charcoal borders in light mode (default + card) for the heavy-outline
131131
// Y2K look. Dark mode unchanged.
132-
'--color-border': ['#2F292E', '#fbefe21A'],
133-
'--color-border-emphasized': ['#2F292E', '#5b5146'],
132+
'--color-border': ['#2F292E', '#EDEFFC1A'],
133+
'--color-border-emphasized': ['#2F292E', '#3a3f5e'],
134134

135135
// Effects
136-
'--color-skeleton': ['#d1c5b8', '#5b5146'],
136+
'--color-skeleton': ['#d1c5b8', '#2a2e47'],
137137
'--color-shadow': ['#2d241b1A', '#0000004D'],
138-
'--color-tint-hover': ['#2d241b', '#fbefe2'],
138+
'--color-tint-hover': ['#2d241b', '#EDEFFC'],
139139

140140
// Typography override
141141
'--text-supporting-size': '12px',

0 commit comments

Comments
 (0)