|
1 | 1 | /** Bloom — lavender shell + indigo brand (light + dark). */ |
2 | | -html[data-theme="bloom"] { |
| 2 | +:root { |
3 | 3 | color-scheme: light; |
4 | 4 |
|
5 | 5 | /* ───── BRAND — override to re-skin ───── */ |
@@ -63,7 +63,7 @@ html[data-theme="bloom"] { |
63 | 63 | * re-resolves against the dark `--primary` / `--card` / `--shell-gradient-base`. |
64 | 64 | * Surfaces reuse the default-dark neutrals so cards sit clearly above the canvas. |
65 | 65 | */ |
66 | | -html[data-theme="bloom"].dark { |
| 66 | +:root.dark { |
67 | 67 | color-scheme: dark; |
68 | 68 |
|
69 | 69 | /* ───── BRAND ───── */ |
@@ -108,74 +108,71 @@ html[data-theme="bloom"].dark { |
108 | 108 | * Structural overrides — shell gradient, transparent chrome, squircle corners, |
109 | 109 | * tighter heading rhythm. Apply in both modes (gradient reads `--shell-gradient-base` |
110 | 110 | * + the per-mode `--shell-gradient-tint`). |
| 111 | + * |
| 112 | + * These must NOT be in a @layer so they override Tailwind utilities (which are layered). |
111 | 113 | */ |
112 | 114 |
|
113 | | -@layer base { |
114 | | - /* Vertical shell gradient: tinted lift at top -> base surface at bottom. */ |
115 | | - html[data-theme="bloom"] { |
116 | | - min-height: 100vh; |
117 | | - min-height: 100dvh; |
118 | | - background-color: var(--shell-gradient-base); |
119 | | - background-image: linear-gradient( |
120 | | - to bottom, |
121 | | - var(--shell-gradient-start) 0%, |
122 | | - color-mix(in srgb, var(--shell-gradient-base) 45%, var(--shell-gradient-tint)) 20%, |
123 | | - color-mix(in srgb, var(--shell-gradient-base) 30%, var(--shell-gradient-tint)) 40%, |
124 | | - color-mix(in srgb, var(--shell-gradient-base) 15%, var(--shell-gradient-tint)) 55%, |
125 | | - color-mix(in srgb, var(--shell-gradient-base) 6%, var(--shell-gradient-tint)) 65%, |
126 | | - var(--shell-gradient-end) 70%, |
127 | | - var(--shell-gradient-end) 100% |
128 | | - ); |
129 | | - background-attachment: fixed; |
130 | | - background-repeat: no-repeat; |
131 | | - background-size: 100% 100%; |
132 | | - } |
| 115 | +/* Vertical shell gradient: tinted lift at top -> base surface at bottom. */ |
| 116 | +html { |
| 117 | + min-height: 100vh; |
| 118 | + min-height: 100dvh; |
| 119 | + background-color: var(--shell-gradient-base); |
| 120 | + background-image: linear-gradient( |
| 121 | + to bottom, |
| 122 | + var(--shell-gradient-start) 0%, |
| 123 | + color-mix(in srgb, var(--shell-gradient-base) 45%, var(--shell-gradient-tint)) 20%, |
| 124 | + color-mix(in srgb, var(--shell-gradient-base) 30%, var(--shell-gradient-tint)) 40%, |
| 125 | + color-mix(in srgb, var(--shell-gradient-base) 15%, var(--shell-gradient-tint)) 55%, |
| 126 | + color-mix(in srgb, var(--shell-gradient-base) 6%, var(--shell-gradient-tint)) 65%, |
| 127 | + var(--shell-gradient-end) 70%, |
| 128 | + var(--shell-gradient-end) 100% |
| 129 | + ); |
| 130 | + background-attachment: fixed; |
| 131 | + background-repeat: no-repeat; |
| 132 | + background-size: 100% 100%; |
| 133 | +} |
133 | 134 |
|
134 | | - /* Tighter heading rhythm for branded feel. */ |
135 | | - html[data-theme="bloom"] :where(h1, h2, h3, h4, h5, h6) { |
136 | | - letter-spacing: -0.03em; |
137 | | - line-height: 1.2; |
138 | | - } |
| 135 | +/* Tighter heading rhythm for branded feel. */ |
| 136 | +html :where(h1, h2, h3, h4, h5, h6) { |
| 137 | + letter-spacing: -0.03em; |
| 138 | + line-height: 1.2; |
| 139 | +} |
139 | 140 |
|
140 | | - /* Apple-style squircle corners where engine supports corner-shape (Chromium). */ |
141 | | - @supports (corner-shape: squircle) { |
142 | | - html[data-theme="bloom"] * { |
143 | | - corner-shape: squircle; |
144 | | - } |
145 | | - html[data-theme="bloom"] [class*="rounded-full"] { |
146 | | - corner-shape: round; |
147 | | - } |
| 141 | +/* Apple-style squircle corners where engine supports corner-shape (Chromium). */ |
| 142 | +@supports (corner-shape: squircle) { |
| 143 | + html * { |
| 144 | + corner-shape: squircle; |
| 145 | + } |
| 146 | + html [class*="rounded-full"] { |
| 147 | + corner-shape: round; |
148 | 148 | } |
149 | 149 | } |
150 | 150 |
|
151 | | -@layer utilities { |
152 | | - /* Body and sidebar chrome stay transparent so the shell gradient shows through. */ |
153 | | - html[data-theme="bloom"] body { |
154 | | - background-color: transparent; |
155 | | - background-image: none; |
156 | | - } |
| 151 | +/* Body and sidebar chrome stay transparent so the shell gradient shows through. */ |
| 152 | +html body { |
| 153 | + background-color: transparent; |
| 154 | + background-image: none; |
| 155 | +} |
157 | 156 |
|
158 | | - html[data-theme="bloom"] [data-slot="sidebar-wrapper"], |
159 | | - html[data-theme="bloom"] [data-slot="sidebar-inner"], |
160 | | - html[data-theme="bloom"] main[data-slot="sidebar-inset"], |
161 | | - html[data-theme="bloom"] |
162 | | - [data-slot="sidebar"][class*="bg-sidebar"]:not([data-mobile="true"]):not( |
163 | | - [data-icon-mode="true"] |
164 | | - ) { |
165 | | - background-color: transparent; |
166 | | - } |
| 157 | +html [data-slot="sidebar-wrapper"], |
| 158 | +html [data-slot="sidebar-inner"], |
| 159 | +html main[data-slot="sidebar-inset"], |
| 160 | +html |
| 161 | + [data-slot="sidebar"][class*="bg-sidebar"]:not([data-mobile="true"]):not( |
| 162 | + [data-icon-mode="true"] |
| 163 | + ) { |
| 164 | + background-color: transparent; |
| 165 | +} |
167 | 166 |
|
168 | | - /* Outline button: transparent fill so the shell gradient shows through. */ |
169 | | - html[data-theme="bloom"] [data-slot="button"][class*="astw:bg-background"][class*="astw:border"] { |
170 | | - background-color: transparent; |
171 | | - transition: |
172 | | - background-color 0.12s ease, |
173 | | - color 0.12s ease; |
174 | | - } |
| 167 | +/* Outline button: transparent fill so the shell gradient shows through. */ |
| 168 | +html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"] { |
| 169 | + background-color: transparent; |
| 170 | + transition: |
| 171 | + background-color 0.12s ease, |
| 172 | + color 0.12s ease; |
| 173 | +} |
175 | 174 |
|
176 | | - html[data-theme="bloom"] |
177 | | - [data-slot="button"][class*="astw:bg-background"][class*="astw:border"]:hover:not(:disabled) { |
178 | | - background-color: var(--accent); |
179 | | - color: var(--accent-foreground); |
180 | | - } |
| 175 | +html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"]:hover:not(:disabled) { |
| 176 | + background-color: var(--accent); |
| 177 | + color: var(--accent-foreground); |
181 | 178 | } |
0 commit comments