@korioinc/next-core 2.0.47 → 2.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  @import 'tw-animate-css';
3
3
 
4
4
  /* Include all core package components and auth modules */
5
- @source "../**/*.{ts,tsx,js,jsx}";
5
+ @source '../**/*.{ts,tsx,js,jsx}';
6
6
 
7
7
  /************************************************************/
8
8
  /* font */
@@ -47,6 +47,7 @@
47
47
  --color-accent: var(--accent);
48
48
  --color-accent-foreground: var(--accent-foreground);
49
49
  --color-destructive: var(--destructive);
50
+ --color-destructive-foreground: var(--destructive-foreground);
50
51
  --color-border: var(--border);
51
52
  --color-input: var(--input);
52
53
  --color-ring: var(--ring);
@@ -71,9 +72,9 @@
71
72
  --color-code-number: var(--code-number);
72
73
  --color-selection: var(--selection);
73
74
  --color-selection-foreground: var(--selection-foreground);
74
- --color-glass: var(--glass);
75
- --color-glass-tinted: var(--glass-tinted);
76
- --color-glass-glow: var(--glass-glow);
75
+ --color-glass-surface: var(--glass-surface);
76
+ --color-glass-surface-interactive: var(--glass-surface-interactive);
77
+ --color-glass-surface-selected: var(--glass-surface-selected);
77
78
  }
78
79
 
79
80
  :root {
@@ -83,8 +84,8 @@
83
84
  --card-foreground: oklch(0.145 0 0);
84
85
  --popover: oklch(1 0 0);
85
86
  --popover-foreground: oklch(0.145 0 0);
86
- --primary: oklch(0.205 0 0);
87
- --primary-foreground: oklch(0.985 0 0);
87
+ --primary: oklch(0.541 0.175 293);
88
+ --primary-foreground: oklch(1 0 0);
88
89
  --secondary: oklch(0.97 0 0);
89
90
  --secondary-foreground: oklch(0.205 0 0);
90
91
  --muted: oklch(0.97 0 0);
@@ -92,22 +93,23 @@
92
93
  --accent: oklch(0.97 0 0);
93
94
  --accent-foreground: oklch(0.205 0 0);
94
95
  --destructive: oklch(0.577 0.245 27.325);
96
+ --destructive-foreground: oklch(1 0 0);
95
97
  --border: oklch(0.922 0 0);
96
98
  --input: oklch(0.922 0 0);
97
- --ring: oklch(0.708 0 0);
98
- --chart-1: var(--color-blue-300);
99
- --chart-2: var(--color-blue-500);
100
- --chart-3: var(--color-blue-600);
101
- --chart-4: var(--color-blue-700);
102
- --chart-5: var(--color-blue-800);
99
+ --ring: oklch(0.541 0.175 293);
100
+ --chart-1: oklch(0.541 0.175 293);
101
+ --chart-2: oklch(0.623 0.18 255);
102
+ --chart-3: oklch(0.715 0.132 195);
103
+ --chart-4: oklch(0.696 0.155 163);
104
+ --chart-5: oklch(0.828 0.157 84);
103
105
  --sidebar: oklch(0.985 0 0);
104
106
  --sidebar-foreground: oklch(0.145 0 0);
105
- --sidebar-primary: oklch(0.205 0 0);
106
- --sidebar-primary-foreground: oklch(0.985 0 0);
107
+ --sidebar-primary: var(--primary);
108
+ --sidebar-primary-foreground: var(--primary-foreground);
107
109
  --sidebar-accent: oklch(0.97 0 0);
108
110
  --sidebar-accent-foreground: oklch(0.205 0 0);
109
111
  --sidebar-border: oklch(0.922 0 0);
110
- --sidebar-ring: oklch(0.708 0 0);
112
+ --sidebar-ring: var(--ring);
111
113
  --surface: oklch(0.98 0 0);
112
114
  --surface-foreground: var(--foreground);
113
115
  --code: var(--surface);
@@ -116,33 +118,61 @@
116
118
  --code-number: oklch(0.56 0 0);
117
119
  --selection: oklch(0.145 0 0);
118
120
  --selection-foreground: oklch(1 0 0);
119
- --radius: 0.625rem;
121
+ --radius: 1rem;
120
122
 
121
123
  /************************************************************/
122
- /* liquid glass (light) */
124
+ /* liquid glass surface inputs (light) */
123
125
  /************************************************************/
124
- --glass: oklch(0.8985 0.0271 250 / 0.22);
125
- --glass-tinted: oklch(0.8764 0.0271 255 / 0.32);
126
- --glass-glow: oklch(0.65 0.18 250 / 0.32);
127
- --glass-surface: oklch(0.962 0.014 250 / 0.42);
128
- --glass-surface-tinted: oklch(0.975 0.018 255 / 0.52);
129
- --glass-surface-glow: var(--glass-surface);
130
- --glass-border: oklch(0.92 0.02 250 / 0.78);
131
- --glass-border-subtle: oklch(0.88 0.015 250 / 0.5);
132
- --glass-shine: oklch(1 0 0 / 1);
133
- --glass-shine-subtle: oklch(1 0 0 / 0.88);
134
- --glass-shadow-color: oklch(0.25 0.02 250 / 0.08);
135
- --glass-shadow-ambient: oklch(0.35 0.015 250 / 0.055);
136
- --glass-blur: 8px;
137
-
138
- --mesh-1: oklch(0.6008 0.1493 249.6 / 0.251);
139
- --mesh-2: oklch(0.6498 0.1201 300.4 / 0.2);
140
- --mesh-3: oklch(0.7 0.1201 220.3 / 0.18);
141
- --mesh-4: oklch(0.5994 0.1998 320.1 / 0.302);
142
-
143
- --aurora-1: oklch(0.6496 0.1802 250.1 / 0.451);
144
- --aurora-2: oklch(0.7006 0.1494 279.7 / 0.4);
145
- --aurora-3: oklch(0.7492 0.1199 200.4 / 0.349);
126
+ --glass-surface: oklch(0.968 0.007 247 / 0.42);
127
+ --glass-surface-subtle: oklch(0.968 0.007 247 / 0.3);
128
+ --glass-surface-medium: oklch(0.982 0.006 247 / 0.58);
129
+ --glass-surface-strong: oklch(0.992 0.004 247 / 0.74);
130
+ --glass-surface-interactive: oklch(0.92 0.006 247 / 0.35);
131
+ --glass-surface-selected: oklch(0.93 0.006 247 / 0.5);
132
+ --glass-surface-disabled: oklch(0.9 0.006 247 / 0.25);
133
+ --glass-border-faint: oklch(0.929 0.013 255 / 0.16);
134
+ --glass-border-subtle: oklch(0.929 0.013 255 / 0.24);
135
+ --glass-border: oklch(0.929 0.013 255 / 0.28);
136
+ --glass-border-medium: oklch(0.929 0.013 255 / 0.44);
137
+ --glass-border-strong: oklch(0.929 0.013 255 / 0.6);
138
+ --glass-rim-highlight: oklch(1 0 0 / 0.88);
139
+ --glass-edge-highlight-offset: 1.75px;
140
+ --glass-edge-highlight-spread: -0.75px;
141
+ --glass-contrast-outline: oklch(0.2 0.012 255 / 0.055);
142
+ --glass-shadow-color: oklch(0.23 0.018 255 / 0.08);
143
+ --glass-shadow-sm: 0 0.375px 0.75px oklch(0.23 0.018 255 / 0.055), 0 1.75px 3.5px var(--glass-shadow-color);
144
+ --glass-shadow-md: 0 0.5px 1px oklch(0.23 0.018 255 / 0.055), 0 4px 9px var(--glass-shadow-color);
145
+ --glass-shadow-lg: 0 1px 3px oklch(0.23 0.018 255 / 0.06), 0 6px 14px var(--glass-shadow-color);
146
+ --glass-texture-subtle:
147
+ linear-gradient(180deg, oklch(1 0 0 / 0.22) 0%, oklch(1 0 0 / 0.08) 18%, transparent 58%),
148
+ linear-gradient(115deg, oklch(1 0 0 / 0.1) 0%, transparent 36%, oklch(1 0 0 / 0.04) 100%),
149
+ radial-gradient(140% 120% at 18% 0%, oklch(1 0 0 / 0.12), transparent 46%);
150
+ --glass-texture:
151
+ linear-gradient(180deg, oklch(1 0 0 / 0.44) 0%, oklch(1 0 0 / 0.16) 18%, transparent 58%),
152
+ linear-gradient(115deg, oklch(1 0 0 / 0.18) 0%, transparent 36%, oklch(1 0 0 / 0.08) 100%),
153
+ radial-gradient(140% 120% at 18% 0%, oklch(1 0 0 / 0.22), transparent 46%);
154
+ --glass-texture-strong:
155
+ linear-gradient(180deg, oklch(1 0 0 / 0.58) 0%, oklch(1 0 0 / 0.24) 20%, transparent 60%),
156
+ linear-gradient(115deg, oklch(1 0 0 / 0.26) 0%, transparent 34%, oklch(1 0 0 / 0.12) 100%),
157
+ radial-gradient(140% 120% at 18% 0%, oklch(1 0 0 / 0.3), transparent 46%);
158
+ --glass-surface-fallback: oklch(0.968 0.007 247 / 0.94);
159
+ --glass-surface-subtle-fallback: oklch(0.968 0.007 247 / 0.88);
160
+ --glass-surface-medium-fallback: oklch(0.968 0.007 247 / 0.97);
161
+ --glass-surface-selected-fallback: oklch(0.94 0.006 247 / 0.96);
162
+ --glass-surface-strong-fallback: oklch(0.968 0.007 247 / 0.99);
163
+ --glass-surface-disabled-fallback: oklch(0.92 0.006 247 / 0.94);
164
+ --glass-backdrop-sm: blur(4px) saturate(180%);
165
+ --glass-backdrop-md: blur(8px) saturate(180%);
166
+ --glass-backdrop-lg: blur(16px) saturate(180%);
167
+
168
+ --mesh-1: oklch(0.6008 0.1493 249.6 / 0.0923);
169
+ --mesh-2: oklch(0.6498 0.1201 300.4 / 0.0736);
170
+ --mesh-3: oklch(0.7 0.1201 220.3 / 0.0554);
171
+ --mesh-4: oklch(0.5994 0.1998 320.1 / 0.1107);
172
+
173
+ --aurora-1: oklch(0.6496 0.1802 250.1 / 0.1475);
174
+ --aurora-2: oklch(0.7006 0.1494 279.7 / 0.1475);
175
+ --aurora-3: oklch(0.7492 0.1199 200.4 / 0.1107);
146
176
 
147
177
  --noise-opacity: 0.025;
148
178
  }
@@ -154,8 +184,8 @@
154
184
  --card-foreground: oklch(0.985 0 0);
155
185
  --popover: oklch(0.269 0 0);
156
186
  --popover-foreground: oklch(0.985 0 0);
157
- --primary: oklch(0.922 0 0);
158
- --primary-foreground: oklch(0.205 0 0);
187
+ --primary: oklch(0.666 0.159 303);
188
+ --primary-foreground: oklch(0.129 0.042 264);
159
189
  --secondary: oklch(0.269 0 0);
160
190
  --secondary-foreground: oklch(0.985 0 0);
161
191
  --muted: oklch(0.269 0 0);
@@ -163,22 +193,23 @@
163
193
  --accent: oklch(0.371 0 0);
164
194
  --accent-foreground: oklch(0.985 0 0);
165
195
  --destructive: oklch(0.704 0.191 22.216);
196
+ --destructive-foreground: oklch(0.985 0 0);
166
197
  --border: oklch(1 0 0 / 10%);
167
198
  --input: oklch(1 0 0 / 15%);
168
- --ring: oklch(0.556 0 0);
169
- --chart-1: var(--color-blue-300);
170
- --chart-2: var(--color-blue-500);
171
- --chart-3: var(--color-blue-600);
172
- --chart-4: var(--color-blue-700);
173
- --chart-5: var(--color-blue-800);
199
+ --ring: oklch(0.627 0.159 291);
200
+ --chart-1: oklch(0.666 0.159 303);
201
+ --chart-2: oklch(0.623 0.18 255);
202
+ --chart-3: oklch(0.715 0.132 195);
203
+ --chart-4: oklch(0.765 0.147 163);
204
+ --chart-5: oklch(0.828 0.157 84);
174
205
  --sidebar: oklch(0.205 0 0);
175
206
  --sidebar-foreground: oklch(0.985 0 0);
176
- --sidebar-primary: oklch(0.488 0.243 264.376);
177
- --sidebar-primary-foreground: oklch(0.985 0 0);
207
+ --sidebar-primary: var(--primary);
208
+ --sidebar-primary-foreground: var(--primary-foreground);
178
209
  --sidebar-accent: oklch(0.269 0 0);
179
210
  --sidebar-accent-foreground: oklch(0.985 0 0);
180
211
  --sidebar-border: oklch(1 0 0 / 10%);
181
- --sidebar-ring: oklch(0.439 0 0);
212
+ --sidebar-ring: var(--ring);
182
213
  --surface: oklch(0.2 0 0);
183
214
  --surface-foreground: oklch(0.708 0 0);
184
215
  --code: var(--surface);
@@ -189,32 +220,60 @@
189
220
  --selection-foreground: oklch(0.205 0 0);
190
221
 
191
222
  /************************************************************/
192
- /* liquid glass (dark) */
223
+ /* liquid glass surface inputs (dark) */
193
224
  /************************************************************/
194
- --glass: oklch(0.32 0.0198 252.2 / 0.52);
195
- --glass-tinted: oklch(0.36 0.0206 254.9 / 0.62);
196
- --glass-glow: oklch(0.6991 0.1648 249.1 / 0.302);
197
- --glass-surface: oklch(0.1792 0.0198 252.2 / 0.42);
198
- --glass-surface-tinted: oklch(0.2195 0.0206 254.9 / 0.52);
199
- --glass-surface-glow: var(--glass-surface);
200
- --glass-border: oklch(1 0 0 / 0.122);
201
- --glass-border-subtle: oklch(1 0 0 / 0.078);
202
- --glass-shine: oklch(1 0 0 / 0.149);
203
- --glass-shine-subtle: oklch(1 0 0 / 0.078);
204
- --glass-shadow-color: oklch(0 0 0 / 0.21);
205
- --glass-shadow-ambient: oklch(0 0 0 / 0.11);
206
- --glass-blur: 8px;
207
-
208
- --mesh-1: oklch(0.4035 0.121 252.1 / 0.349);
209
- --mesh-2: oklch(0.4504 0.1802 299.9 / 0.302);
210
- --mesh-3: oklch(0.5014 0.0917 220.6 / 0.251);
211
- --mesh-4: oklch(0.5016 0.2405 320.2 / 0.349);
212
-
213
- --aurora-1: oklch(0.5057 0.1589 253.6 / 0.502);
214
- --aurora-2: oklch(0.4499 0.2002 280 / 0.451);
215
- --aurora-3: oklch(0.5581 0.0949 201.4 / 0.4);
216
-
217
- --noise-opacity: 0.035;
225
+ --glass-surface: oklch(1 0 0 / 0.07);
226
+ --glass-surface-subtle: oklch(1 0 0 / 0.03);
227
+ --glass-surface-medium: oklch(1 0 0 / 0.17);
228
+ --glass-surface-strong: oklch(1 0 0 / 0.25);
229
+ --glass-surface-interactive: var(--glass-surface-medium);
230
+ --glass-surface-selected: oklch(1 0 0 / 0.23);
231
+ --glass-surface-disabled: oklch(1 0 0 / 0.06);
232
+ --glass-border-faint: oklch(1 0 0 / 0.03);
233
+ --glass-border-subtle: oklch(1 0 0 / 0.06);
234
+ --glass-border: oklch(1 0 0 / 0.07);
235
+ --glass-border-medium: oklch(1 0 0 / 0.12);
236
+ --glass-border-strong: oklch(1 0 0 / 0.18);
237
+ --glass-rim-highlight: oklch(1 0 0 / 0.25);
238
+ --glass-edge-highlight-offset: 1.25px;
239
+ --glass-edge-highlight-spread: -0.25px;
240
+ --glass-contrast-outline: oklch(0 0 0 / 0.25);
241
+ --glass-shadow-color: oklch(0 0 0 / 0.2);
242
+ --glass-shadow-sm: 0 1.5px 6px var(--glass-shadow-color), 0 0.375px 0.75px var(--glass-shadow-color);
243
+ --glass-shadow-md: 0 4px 16px var(--glass-shadow-color), 0 0.5px 1px var(--glass-shadow-color);
244
+ --glass-shadow-lg: 0 6px 22px var(--glass-shadow-color), 0 1px 3px var(--glass-shadow-color);
245
+ --glass-texture-subtle:
246
+ linear-gradient(180deg, oklch(1 0 0 / 0.16) 0%, oklch(1 0 0 / 0.05) 18%, transparent 56%),
247
+ linear-gradient(115deg, oklch(1 0 0 / 0.08) 0%, transparent 38%, oklch(1 0 0 / 0.03) 100%),
248
+ radial-gradient(140% 120% at 18% 0%, oklch(1 0 0 / 0.08), transparent 48%);
249
+ --glass-texture:
250
+ linear-gradient(180deg, oklch(1 0 0 / 0.3) 0%, oklch(1 0 0 / 0.1) 18%, transparent 56%),
251
+ linear-gradient(115deg, oklch(1 0 0 / 0.16) 0%, transparent 38%, oklch(1 0 0 / 0.06) 100%),
252
+ radial-gradient(140% 120% at 18% 0%, oklch(1 0 0 / 0.16), transparent 48%);
253
+ --glass-texture-strong:
254
+ linear-gradient(180deg, oklch(1 0 0 / 0.42) 0%, oklch(1 0 0 / 0.16) 20%, transparent 58%),
255
+ linear-gradient(115deg, oklch(1 0 0 / 0.22) 0%, transparent 36%, oklch(1 0 0 / 0.08) 100%),
256
+ radial-gradient(140% 120% at 18% 0%, oklch(1 0 0 / 0.22), transparent 48%);
257
+ --glass-surface-fallback: oklch(0.208 0.042 265 / 0.85);
258
+ --glass-surface-subtle-fallback: oklch(0.208 0.042 265 / 0.9);
259
+ --glass-surface-medium-fallback: oklch(0.208 0.042 265 / 0.8);
260
+ --glass-surface-selected-fallback: oklch(0.208 0.042 265 / 0.76);
261
+ --glass-surface-strong-fallback: oklch(0.208 0.042 265 / 0.75);
262
+ --glass-surface-disabled-fallback: oklch(0.12 0.012 265 / 0.9);
263
+ --glass-backdrop-sm: blur(4px) saturate(180%);
264
+ --glass-backdrop-md: blur(8px) saturate(180%);
265
+ --glass-backdrop-lg: blur(16px) saturate(180%);
266
+
267
+ --mesh-1: oklch(0.4035 0.121 252.1 / 0.0733);
268
+ --mesh-2: oklch(0.4504 0.1802 299.9 / 0.0585);
269
+ --mesh-3: oklch(0.5014 0.0917 220.6 / 0.0439);
270
+ --mesh-4: oklch(0.5016 0.2405 320.2 / 0.0146);
271
+
272
+ --aurora-1: oklch(0.5057 0.1589 253.6 / 0.0733);
273
+ --aurora-2: oklch(0.4499 0.2002 280 / 0.0733);
274
+ --aurora-3: oklch(0.5581 0.0949 201.4 / 0.0585);
275
+
276
+ --noise-opacity: 0.02;
218
277
  }
219
278
 
220
279
  @layer base {
@@ -225,6 +284,7 @@
225
284
  @apply bg-selection text-selection-foreground;
226
285
  }
227
286
  body {
287
+ @apply bg-background text-foreground;
228
288
  font-synthesis-weight: none;
229
289
  text-rendering: optimizeLegibility;
230
290
  }
@@ -275,132 +335,363 @@
275
335
  }
276
336
 
277
337
  /************************************************************/
278
- /* liquid glass */
338
+ /* liquid glass effect utilities */
279
339
  /************************************************************/
280
340
  @utility glass {
281
- background:
282
- linear-gradient(
283
- 135deg,
284
- color-mix(in oklab, var(--glass-shine) 12%, transparent) 0%,
285
- color-mix(in oklab, var(--glass-shine) 8%, transparent) 30%,
286
- color-mix(in oklab, var(--glass-shine) 4%, transparent) 70%,
287
- color-mix(in oklab, var(--glass-shine) 6%, transparent) 100%
288
- ),
289
- var(--glass-surface-slot, var(--glass-surface));
341
+ background-clip: padding-box;
342
+ background-color: var(--glass-surface-slot, var(--glass-surface));
343
+ border-color: var(--glass-border-slot, transparent);
344
+ border-top-color: var(--glass-border-top-slot, var(--glass-border-slot, transparent));
290
345
  box-shadow:
291
- 0 1px 2px var(--glass-shadow-ambient),
292
- 0 5px 10px var(--glass-shadow-color),
293
- inset 0 1px 0 var(--glass-shine-subtle);
294
- }
295
-
296
- @utility glass-overlay {
297
- backdrop-filter: blur(var(--glass-blur)) saturate(1.15);
298
- background-image:
299
- linear-gradient(
300
- 135deg,
301
- color-mix(in oklab, white 30%, transparent) 0%,
302
- color-mix(in oklab, white 18%, transparent) 30%,
303
- color-mix(in oklab, white 8%, transparent) 70%,
304
- color-mix(in oklab, white 22%, transparent) 100%
305
- ),
306
- radial-gradient(
307
- 120% 120% at 18% 0%,
308
- color-mix(in oklab, white 26%, transparent) 0%,
309
- transparent 48%
310
- );
311
- box-shadow:
312
- 0 1px 2px color-mix(in oklab, var(--glass-shadow-ambient) 60%, transparent),
313
- 0 6px 12px color-mix(in oklab, var(--glass-shadow-color) 55%, transparent),
314
- inset 0 1px 0 color-mix(in oklab, white 38%, transparent),
315
- inset 0 -1px 0 color-mix(in oklab, black 10%, transparent);
316
- filter: saturate(1.04) brightness(1.03);
346
+ var(--glass-shadow-slot, 0 0 #0000),
347
+ inset 0 var(--glass-edge-highlight-offset, 1.75px) 0 var(--glass-edge-highlight-spread, -0.75px) var(--glass-edge-highlight, transparent),
348
+ inset 0 var(--glass-edge-outline-offset-slot, -0.5px) 0 var(--glass-edge-outline, transparent);
349
+ }
350
+
351
+ @utility glass-surface-subtle {
352
+ --glass-surface-slot: var(--glass-surface-subtle);
353
+ background-color: var(--glass-surface-subtle);
354
+ }
355
+
356
+ @utility glass-surface-medium {
357
+ --glass-surface-slot: var(--glass-surface-medium);
358
+ background-color: var(--glass-surface-medium);
359
+ }
360
+
361
+ @utility glass-surface-strong {
362
+ --glass-surface-slot: var(--glass-surface-strong);
363
+ background-color: var(--glass-surface-strong);
364
+ }
365
+
366
+ @utility glass-surface-selected {
367
+ --glass-surface-slot: var(--glass-surface-selected);
368
+ background-color: var(--glass-surface-selected);
369
+ }
370
+
371
+ @utility glass-surface-disabled {
372
+ --glass-surface-slot: var(--glass-surface-disabled);
373
+ background-color: var(--glass-surface-disabled);
374
+ }
375
+
376
+ @utility glass-texture-subtle {
377
+ background-clip: padding-box;
378
+ background-image: var(--glass-texture-subtle);
379
+ background-blend-mode: screen, soft-light, screen;
380
+ }
381
+
382
+ @utility glass-texture {
383
+ background-clip: padding-box;
384
+ background-image: var(--glass-texture);
385
+ background-blend-mode: screen, soft-light, screen;
386
+ }
387
+
388
+ @utility glass-texture-strong {
389
+ background-clip: padding-box;
390
+ background-image: var(--glass-texture-strong);
391
+ background-blend-mode: screen, soft-light, screen;
392
+ }
393
+
394
+ @utility glass-border {
395
+ --glass-border-slot: var(--glass-border);
396
+ --glass-border-top-slot: var(--glass-border-slot);
397
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 48%, transparent);
398
+ --glass-edge-outline: color-mix(in oklab, var(--glass-contrast-outline) 38%, transparent);
399
+ border-width: 1px;
400
+ border-style: solid;
401
+ border-color: var(--glass-border-slot);
402
+ border-top-color: var(--glass-border-top-slot);
317
403
 
318
404
  .dark & {
319
- background-image:
320
- linear-gradient(
321
- 180deg,
322
- color-mix(in oklab, black 22%, transparent) 0%,
323
- color-mix(in oklab, black 16%, transparent) 100%
324
- ),
325
- linear-gradient(
326
- 135deg,
327
- color-mix(in oklab, white 28%, transparent) 0%,
328
- color-mix(in oklab, white 16%, transparent) 30%,
329
- color-mix(in oklab, white 7%, transparent) 70%,
330
- color-mix(in oklab, white 20%, transparent) 100%
331
- ),
332
- radial-gradient(
333
- 120% 120% at 18% 0%,
334
- color-mix(in oklab, white 22%, transparent) 0%,
335
- transparent 44%
336
- );
337
- background-blend-mode: multiply, normal, normal;
338
- box-shadow:
339
- 0 2px 6px color-mix(in oklab, var(--glass-shadow-ambient) 65%, transparent),
340
- 0 10px 18px color-mix(in oklab, var(--glass-shadow-color) 65%, transparent),
341
- inset 0 1px 0 color-mix(in oklab, white 24%, transparent),
342
- inset 0 -1px 0 color-mix(in oklab, black 18%, transparent);
343
- filter: saturate(1.04) brightness(1.03);
405
+ --glass-border-top-slot: color-mix(in oklab, var(--glass-rim-highlight) 42%, transparent);
406
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 42%, transparent);
407
+ --glass-edge-outline: var(--glass-border);
344
408
  }
345
409
  }
346
410
 
347
- @utility glass-tinted {
348
- --glass-surface-slot: var(--glass-surface-tinted);
349
- @apply glass;
411
+ @utility glass-border-faint {
412
+ --glass-border-slot: var(--glass-border-faint);
413
+ --glass-border-top-slot: var(--glass-border-slot);
414
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 18%, transparent);
415
+ --glass-edge-outline: color-mix(in oklab, var(--glass-contrast-outline) 18%, transparent);
416
+ border-width: 1px;
417
+ border-style: solid;
418
+ border-color: var(--glass-border-slot);
419
+ border-top-color: var(--glass-border-top-slot);
420
+
421
+ .dark & {
422
+ --glass-border-top-slot: color-mix(in oklab, var(--glass-rim-highlight) 16%, transparent);
423
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 16%, transparent);
424
+ --glass-edge-outline: var(--glass-border-faint);
425
+ }
350
426
  }
351
427
 
352
- @utility glass-glow {
353
- --glass-surface-slot: var(--glass-surface-glow);
354
- @apply glass;
428
+ @utility glass-border-subtle {
429
+ --glass-border-slot: var(--glass-border-subtle);
430
+ --glass-border-top-slot: var(--glass-border-slot);
431
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 40%, transparent);
432
+ --glass-edge-outline: color-mix(in oklab, var(--glass-contrast-outline) 35%, transparent);
433
+ border-width: 1px;
434
+ border-style: solid;
435
+ border-color: var(--glass-border-slot);
436
+ border-top-color: var(--glass-border-top-slot);
437
+
438
+ .dark & {
439
+ --glass-border-top-slot: color-mix(in oklab, var(--glass-rim-highlight) 38%, transparent);
440
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 38%, transparent);
441
+ --glass-edge-outline: var(--glass-border-subtle);
442
+ }
355
443
  }
356
444
 
357
- @utility glass-backdrop {
358
- backdrop-filter: blur(var(--glass-blur)) saturate(1.2);
445
+ @utility glass-border-medium {
446
+ --glass-border-slot: var(--glass-border-medium);
447
+ --glass-border-top-slot: var(--glass-border-slot);
448
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 52%, transparent);
449
+ --glass-edge-outline: color-mix(in oklab, var(--glass-contrast-outline) 40%, transparent);
450
+ border-width: 1px;
451
+ border-right-width: 0.75px;
452
+ border-left-width: 0.75px;
453
+ border-style: solid;
454
+ border-color: var(--glass-border-slot);
455
+ border-top-color: var(--glass-border-top-slot);
456
+
457
+ .dark & {
458
+ --glass-border-top-slot: color-mix(in oklab, var(--glass-rim-highlight) 44%, transparent);
459
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 44%, transparent);
460
+ --glass-edge-outline: var(--glass-border-medium);
461
+ }
359
462
  }
360
463
 
361
- @utility border-glass-soft {
362
- border-color: color-mix(in oklab, var(--glass-border) 70%, transparent);
363
- position: relative;
464
+ @utility glass-border-strong {
465
+ --glass-border-slot: var(--glass-border-strong);
466
+ --glass-border-top-slot: var(--glass-border-slot);
467
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 64%, transparent);
468
+ --glass-edge-outline: color-mix(in oklab, var(--glass-contrast-outline) 42%, transparent);
469
+ border-width: 1px;
470
+ border-right-width: 0.75px;
471
+ border-left-width: 0.75px;
472
+ border-style: solid;
473
+ border-color: var(--glass-border-slot);
474
+ border-top-color: var(--glass-border-top-slot);
364
475
 
365
476
  .dark & {
366
- border-color: color-mix(in oklab, var(--glass-border) 45%, transparent);
477
+ --glass-border-top-slot: color-mix(in oklab, var(--glass-rim-highlight) 48%, transparent);
478
+ --glass-edge-highlight: color-mix(in oklab, var(--glass-rim-highlight) 48%, transparent);
479
+ --glass-edge-outline: var(--glass-border-strong);
480
+ }
481
+ }
482
+
483
+ @utility glass-shadow-sm {
484
+ --glass-shadow-slot: var(--glass-shadow-sm);
485
+ box-shadow:
486
+ var(--glass-shadow-slot),
487
+ inset 0 var(--glass-edge-highlight-offset, 1.75px) 0 var(--glass-edge-highlight-spread, -0.75px) var(--glass-edge-highlight, transparent),
488
+ inset 0 var(--glass-edge-outline-offset-slot, -0.5px) 0 var(--glass-edge-outline, transparent);
489
+ }
490
+
491
+ @utility glass-shadow-md {
492
+ --glass-shadow-slot: var(--glass-shadow-md);
493
+ box-shadow:
494
+ var(--glass-shadow-slot),
495
+ inset 0 var(--glass-edge-highlight-offset, 1.75px) 0 var(--glass-edge-highlight-spread, -0.75px) var(--glass-edge-highlight, transparent),
496
+ inset 0 var(--glass-edge-outline-offset-slot, -0.5px) 0 var(--glass-edge-outline, transparent);
497
+ }
498
+
499
+ @utility glass-shadow-lg {
500
+ --glass-shadow-slot: var(--glass-shadow-lg);
501
+ box-shadow:
502
+ var(--glass-shadow-slot),
503
+ inset 0 var(--glass-edge-highlight-offset, 1.75px) 0 var(--glass-edge-highlight-spread, -0.75px) var(--glass-edge-highlight, transparent),
504
+ inset 0 var(--glass-edge-outline-offset-slot, -0.5px) 0 var(--glass-edge-outline, transparent);
505
+ }
506
+
507
+ @utility glass-backdrop-sm {
508
+ --glass-backdrop-slot: var(--glass-backdrop-sm);
509
+ -webkit-backdrop-filter: var(--glass-backdrop-slot);
510
+ backdrop-filter: var(--glass-backdrop-slot);
511
+ }
512
+
513
+ @utility glass-backdrop-md {
514
+ --glass-backdrop-slot: var(--glass-backdrop-md);
515
+ -webkit-backdrop-filter: var(--glass-backdrop-slot);
516
+ backdrop-filter: var(--glass-backdrop-slot);
517
+ }
518
+
519
+ @utility glass-backdrop-lg {
520
+ --glass-backdrop-slot: var(--glass-backdrop-lg);
521
+ -webkit-backdrop-filter: var(--glass-backdrop-slot);
522
+ backdrop-filter: var(--glass-backdrop-slot);
523
+ }
524
+
525
+ @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
526
+ .glass-backdrop-sm,
527
+ .glass-backdrop-md,
528
+ .glass-backdrop-lg {
529
+ -webkit-backdrop-filter: none;
530
+ backdrop-filter: none;
531
+ }
532
+
533
+ .glass {
534
+ background: var(--glass-surface-fallback);
535
+ }
536
+
537
+ .glass-surface-subtle {
538
+ background: var(--glass-surface-subtle-fallback);
539
+ }
540
+
541
+ .glass-surface-medium {
542
+ background: var(--glass-surface-medium-fallback);
543
+ }
544
+
545
+ .glass-surface-selected {
546
+ background: var(--glass-surface-selected-fallback);
547
+ }
548
+
549
+ .glass-surface-strong {
550
+ background: var(--glass-surface-strong-fallback);
367
551
  }
368
552
 
369
- &::after {
370
- content: '';
371
- position: absolute;
372
- inset: 0;
373
- border-radius: inherit;
374
- pointer-events: none;
375
- box-shadow: inset 0 1px 0 var(--glass-shine-subtle);
376
- transform: translateY(-0.3px);
553
+ .glass-surface-disabled {
554
+ background: var(--glass-surface-disabled-fallback);
377
555
  }
378
556
 
379
- .dark &::after {
380
- transform: translateY(0);
557
+ .glass-texture-subtle,
558
+ .glass-texture,
559
+ .glass-texture-strong {
560
+ background-image: none;
561
+ filter: none;
381
562
  }
382
563
  }
383
564
 
384
- @utility border-glass-strong {
385
- border-color: color-mix(in oklab, var(--glass-border) 90%, transparent);
386
- position: relative;
565
+ @media (prefers-reduced-transparency: reduce) {
566
+ .glass-backdrop-sm,
567
+ .glass-backdrop-md,
568
+ .glass-backdrop-lg {
569
+ -webkit-backdrop-filter: none;
570
+ backdrop-filter: none;
571
+ }
387
572
 
388
- .dark & {
389
- border-color: color-mix(in oklab, var(--glass-border) 65%, transparent);
573
+ .glass-shadow-sm,
574
+ .glass-shadow-md,
575
+ .glass-shadow-lg {
576
+ box-shadow:
577
+ 0 1px 2px var(--glass-shadow-color),
578
+ inset 0 0 0 1px var(--glass-contrast-outline);
579
+ }
580
+
581
+ .glass {
582
+ background: var(--glass-surface-fallback);
583
+ }
584
+
585
+ .glass-surface-subtle {
586
+ background: var(--glass-surface-subtle-fallback);
587
+ }
588
+
589
+ .glass-surface-medium {
590
+ background: var(--glass-surface-medium-fallback);
591
+ }
592
+
593
+ .glass-surface-selected {
594
+ background: var(--glass-surface-selected-fallback);
595
+ }
596
+
597
+ .glass-surface-strong {
598
+ background: var(--glass-surface-strong-fallback);
599
+ }
600
+
601
+ .glass-surface-disabled {
602
+ background: var(--glass-surface-disabled-fallback);
390
603
  }
391
604
 
392
- &::after {
393
- content: '';
394
- position: absolute;
395
- inset: 0;
396
- border-radius: inherit;
397
- pointer-events: none;
398
- box-shadow: inset 0 1px 0 var(--glass-shine-subtle);
399
- transform: translateY(-0.3px);
605
+ .glass-texture-subtle,
606
+ .glass-texture,
607
+ .glass-texture-strong {
608
+ background-image: none;
609
+ filter: none;
610
+ }
611
+ }
612
+
613
+ @media (prefers-contrast: more) {
614
+ .glass-backdrop-sm,
615
+ .glass-backdrop-md,
616
+ .glass-backdrop-lg {
617
+ -webkit-backdrop-filter: none;
618
+ backdrop-filter: none;
619
+ }
620
+
621
+ .glass-shadow-sm,
622
+ .glass-shadow-md,
623
+ .glass-shadow-lg {
624
+ box-shadow: inset 0 0 0 1px var(--glass-contrast-outline);
625
+ }
626
+
627
+ .glass {
628
+ background: var(--glass-surface-fallback);
629
+ }
630
+
631
+ .glass-surface-subtle {
632
+ background: var(--glass-surface-subtle-fallback);
633
+ }
634
+
635
+ .glass-surface-medium {
636
+ background: var(--glass-surface-medium-fallback);
637
+ }
638
+
639
+ .glass-surface-selected {
640
+ background: var(--glass-surface-selected-fallback);
641
+ }
642
+
643
+ .glass-surface-strong {
644
+ background: var(--glass-surface-strong-fallback);
645
+ }
646
+
647
+ .glass-surface-disabled {
648
+ background: var(--glass-surface-disabled-fallback);
649
+ }
650
+
651
+ .glass-texture-subtle,
652
+ .glass-texture,
653
+ .glass-texture-strong {
654
+ background-image: none;
655
+ filter: none;
656
+ }
657
+
658
+ .glass-border,
659
+ .glass-border-faint,
660
+ .glass-border-subtle,
661
+ .glass-border-medium,
662
+ .glass-border-strong {
663
+ border-color: currentColor;
664
+ }
665
+ }
666
+
667
+ @media (forced-colors: active) {
668
+ .glass,
669
+ .glass-surface-subtle,
670
+ .glass-surface-medium,
671
+ .glass-surface-selected,
672
+ .glass-surface-strong,
673
+ .glass-surface-disabled,
674
+ .glass-texture-subtle,
675
+ .glass-texture,
676
+ .glass-texture-strong,
677
+ .glass-backdrop-sm,
678
+ .glass-backdrop-md,
679
+ .glass-backdrop-lg {
680
+ background: Canvas;
681
+ background-image: none;
682
+ color: CanvasText;
683
+ box-shadow: none;
684
+ filter: none;
685
+ -webkit-backdrop-filter: none;
686
+ backdrop-filter: none;
400
687
  }
401
688
 
402
- .dark &::after {
403
- transform: translateY(0);
689
+ .glass-border,
690
+ .glass-border-faint,
691
+ .glass-border-subtle,
692
+ .glass-border-medium,
693
+ .glass-border-strong {
694
+ border-color: ButtonText;
404
695
  }
405
696
  }
406
697
 
@@ -506,6 +797,8 @@
506
797
  }
507
798
 
508
799
  [data-line] span {
800
+ --shiki-light: var(--color-code-foreground);
801
+ --shiki-dark: var(--color-code-foreground);
509
802
  color: var(--shiki-light);
510
803
 
511
804
  @variant dark {