create-next-imagicma 0.1.11 → 0.1.13

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.
Files changed (96) hide show
  1. package/README.md +0 -2
  2. package/package.json +1 -1
  3. package/template-hono/AGENTS.md +53 -95
  4. package/template-hono/README.md +3 -31
  5. package/template-hono/client/public/imagicma-picker-bridge.js +6 -2
  6. package/template-hono/client/public/imagicma-preview-feedback.js +1 -0
  7. package/template-hono/client/src/lib/imagicma-preview-bridge.ts +1 -1
  8. package/template-hono/client/src/lib/imagicma-preview-picker.ts +130 -28
  9. package/template-hono/vite.config.ts +1 -1
  10. package/template/.env.example +0 -10
  11. package/template/AGENTS.md +0 -225
  12. package/template/README.md +0 -34
  13. package/template/app/_components/DevPreviewShield.tsx +0 -638
  14. package/template/app/api/greeting/route.ts +0 -27
  15. package/template/app/error.tsx +0 -93
  16. package/template/app/favicon.ico +0 -0
  17. package/template/app/globals.css +0 -767
  18. package/template/app/hello/_components/HelloClient.tsx +0 -94
  19. package/template/app/hello/page.tsx +0 -23
  20. package/template/app/layout.tsx +0 -32
  21. package/template/app/page.tsx +0 -27
  22. package/template/app/providers.tsx +0 -25
  23. package/template/components/ui/accordion.tsx +0 -58
  24. package/template/components/ui/alert-dialog.tsx +0 -141
  25. package/template/components/ui/alert.tsx +0 -61
  26. package/template/components/ui/aspect-ratio.tsx +0 -7
  27. package/template/components/ui/avatar.tsx +0 -51
  28. package/template/components/ui/badge.tsx +0 -40
  29. package/template/components/ui/breadcrumb.tsx +0 -117
  30. package/template/components/ui/button.tsx +0 -64
  31. package/template/components/ui/calendar.tsx +0 -72
  32. package/template/components/ui/card.tsx +0 -87
  33. package/template/components/ui/carousel.tsx +0 -262
  34. package/template/components/ui/chart.tsx +0 -365
  35. package/template/components/ui/checkbox.tsx +0 -30
  36. package/template/components/ui/collapsible.tsx +0 -11
  37. package/template/components/ui/command.tsx +0 -153
  38. package/template/components/ui/context-menu.tsx +0 -200
  39. package/template/components/ui/dialog.tsx +0 -122
  40. package/template/components/ui/drawer.tsx +0 -118
  41. package/template/components/ui/dropdown-menu.tsx +0 -200
  42. package/template/components/ui/form.tsx +0 -178
  43. package/template/components/ui/hover-card.tsx +0 -29
  44. package/template/components/ui/input-otp.tsx +0 -71
  45. package/template/components/ui/input.tsx +0 -25
  46. package/template/components/ui/label.tsx +0 -26
  47. package/template/components/ui/menubar.tsx +0 -256
  48. package/template/components/ui/navigation-menu.tsx +0 -130
  49. package/template/components/ui/pagination.tsx +0 -119
  50. package/template/components/ui/popover.tsx +0 -31
  51. package/template/components/ui/progress.tsx +0 -28
  52. package/template/components/ui/radio-group.tsx +0 -44
  53. package/template/components/ui/resizable.tsx +0 -45
  54. package/template/components/ui/scroll-area.tsx +0 -48
  55. package/template/components/ui/select.tsx +0 -160
  56. package/template/components/ui/separator.tsx +0 -31
  57. package/template/components/ui/sheet.tsx +0 -140
  58. package/template/components/ui/sidebar.tsx +0 -732
  59. package/template/components/ui/skeleton.tsx +0 -17
  60. package/template/components/ui/slider.tsx +0 -28
  61. package/template/components/ui/switch.tsx +0 -29
  62. package/template/components/ui/table.tsx +0 -119
  63. package/template/components/ui/tabs.tsx +0 -55
  64. package/template/components/ui/textarea.tsx +0 -24
  65. package/template/components/ui/toast.tsx +0 -129
  66. package/template/components/ui/toaster.tsx +0 -35
  67. package/template/components/ui/toggle-group.tsx +0 -61
  68. package/template/components/ui/toggle.tsx +0 -45
  69. package/template/components/ui/tooltip.tsx +0 -30
  70. package/template/drizzle.config.ts +0 -50
  71. package/template/eslint.config.mjs +0 -18
  72. package/template/gitignore +0 -46
  73. package/template/hooks/use-greeting.ts +0 -15
  74. package/template/hooks/use-mobile.ts +0 -21
  75. package/template/hooks/use-toast.ts +0 -194
  76. package/template/lib/queryClient.ts +0 -59
  77. package/template/lib/theme/default-theme.ts +0 -11
  78. package/template/lib/utils.ts +0 -6
  79. package/template/next.config.ts +0 -8
  80. package/template/package.json +0 -76
  81. package/template/pnpm-lock.yaml +0 -6937
  82. package/template/postcss.config.mjs +0 -7
  83. package/template/process-compose.yaml +0 -13
  84. package/template/public/file.svg +0 -1
  85. package/template/public/globe.svg +0 -1
  86. package/template/public/imagicma-picker-bridge.js +0 -374
  87. package/template/public/next.svg +0 -1
  88. package/template/public/vercel.svg +0 -1
  89. package/template/public/window.svg +0 -1
  90. package/template/server/db.ts +0 -24
  91. package/template/server/storage.ts +0 -41
  92. package/template/shared/routes.ts +0 -13
  93. package/template/shared/schema.ts +0 -17
  94. package/template/tailwind.config.mjs +0 -96
  95. package/template/tsconfig.json +0 -35
  96. package/template/types/pg.d.ts +0 -19
@@ -1,767 +0,0 @@
1
- @config "../tailwind.config.mjs";
2
- @import "tailwindcss";
3
-
4
- :root {
5
- /* Fonts */
6
- --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
7
- "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
8
- "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji",
9
- "Segoe UI Symbol", sans-serif;
10
- --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
11
- --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
12
- "Liberation Mono", "Courier New", monospace;
13
-
14
- /* Core theme tokens (HSL triples) */
15
- --background: 0 0% 100%;
16
- --foreground: 240 10% 3.9%;
17
-
18
- --card: 0 0% 100%;
19
- --card-foreground: 240 10% 3.9%;
20
-
21
- --popover: 0 0% 100%;
22
- --popover-foreground: 240 10% 3.9%;
23
-
24
- --primary: 240 5.9% 10%;
25
- --primary-foreground: 0 0% 98%;
26
-
27
- --secondary: 240 4.8% 95.9%;
28
- --secondary-foreground: 240 5.9% 10%;
29
-
30
- --muted: 240 4.8% 95.9%;
31
- --muted-foreground: 240 3.8% 46.1%;
32
-
33
- --accent: 240 4.8% 95.9%;
34
- --accent-foreground: 240 5.9% 10%;
35
-
36
- --destructive: 0 84.2% 60.2%;
37
- --destructive-foreground: 0 0% 98%;
38
-
39
- --border: 240 5.9% 90%;
40
- --input: 240 5.9% 90%;
41
- --ring: 240 5.9% 10%;
42
-
43
- --radius: 0.5rem;
44
-
45
- /* Extra tokens used by the migrated shadcn components */
46
- --card-border: var(--border);
47
- --popover-border: var(--border);
48
- --sidebar: var(--background);
49
- --sidebar-foreground: var(--foreground);
50
- --sidebar-border: var(--border);
51
- --sidebar-ring: var(--ring);
52
-
53
- --chart-1: 220 70% 50%;
54
- --chart-2: 160 60% 45%;
55
- --chart-3: 30 80% 55%;
56
- --chart-4: 280 65% 60%;
57
- --chart-5: 340 75% 55%;
58
-
59
- /* Border colors expected by template classnames */
60
- --primary-border: hsl(var(--primary) / 0.18);
61
- --secondary-border: hsl(var(--border));
62
- --muted-border: hsl(var(--border));
63
- --accent-border: hsl(var(--border));
64
- --destructive-border: hsl(var(--destructive) / 0.25);
65
-
66
- --button-outline: hsl(var(--border));
67
- --badge-outline: hsl(var(--border));
68
- }
69
-
70
- .dark {
71
- --background: 240 10% 3.9%;
72
- --foreground: 0 0% 98%;
73
-
74
- --card: 240 10% 3.9%;
75
- --card-foreground: 0 0% 98%;
76
-
77
- --popover: 240 10% 3.9%;
78
- --popover-foreground: 0 0% 98%;
79
-
80
- --primary: 0 0% 98%;
81
- --primary-foreground: 240 5.9% 10%;
82
-
83
- --secondary: 240 3.7% 15.9%;
84
- --secondary-foreground: 0 0% 98%;
85
-
86
- --muted: 240 3.7% 15.9%;
87
- --muted-foreground: 240 5% 64.9%;
88
-
89
- --accent: 240 3.7% 15.9%;
90
- --accent-foreground: 0 0% 98%;
91
-
92
- --destructive: 0 62.8% 30.6%;
93
- --destructive-foreground: 0 0% 98%;
94
-
95
- --border: 240 3.7% 15.9%;
96
- --input: 240 3.7% 15.9%;
97
- --ring: 240 4.9% 83.9%;
98
-
99
- --card-border: var(--border);
100
- --popover-border: var(--border);
101
- --sidebar: var(--background);
102
- --sidebar-foreground: var(--foreground);
103
- --sidebar-border: var(--border);
104
- --sidebar-ring: var(--ring);
105
-
106
- --primary-border: hsl(var(--primary) / 0.15);
107
- --secondary-border: hsl(var(--border));
108
- --muted-border: hsl(var(--border));
109
- --accent-border: hsl(var(--border));
110
- --destructive-border: hsl(var(--destructive) / 0.35);
111
-
112
- --button-outline: hsl(var(--border));
113
- --badge-outline: hsl(var(--border));
114
- }
115
-
116
- /* Theme style presets (used by html[data-theme-style="<preset>"]) */
117
- :root[data-theme-style="quadratic"] {
118
- --background: 240 8.3% 95.3%;
119
- --foreground: 225 14.3% 5.5%;
120
-
121
- --card: 0 0% 100%;
122
- --card-foreground: 225 14.3% 5.5%;
123
- --popover: 0 0% 100%;
124
- --popover-foreground: 225 14.3% 5.5%;
125
-
126
- --primary: 240 8.6% 93.1%;
127
- --primary-foreground: 225 14.3% 5.5%;
128
- --secondary: 240 7% 86.1%;
129
- --secondary-foreground: 225 14.3% 5.5%;
130
- --muted: 240 8.6% 93.1%;
131
- --muted-foreground: 225 7% 35%;
132
- --accent: 240 7% 86.1%;
133
- --accent-foreground: 225 14.3% 5.5%;
134
-
135
- --border: 240 7% 82%;
136
- --input: 240 7% 82%;
137
- --ring: 225 14.3% 5.5%;
138
-
139
- --chart-1: 225 14.3% 35%;
140
- --chart-2: 240 8% 55%;
141
- --chart-3: 220 40% 55%;
142
- --chart-4: 270 20% 62%;
143
- --chart-5: 190 30% 52%;
144
- }
145
-
146
- .dark[data-theme-style="quadratic"] {
147
- --background: 225 14.3% 5.5%;
148
- --foreground: 240 8.3% 95.3%;
149
-
150
- --card: 225 12% 9%;
151
- --card-foreground: 240 8.3% 95.3%;
152
- --popover: 225 12% 9%;
153
- --popover-foreground: 240 8.3% 95.3%;
154
-
155
- --primary: 240 8.6% 93.1%;
156
- --primary-foreground: 225 14.3% 5.5%;
157
- --secondary: 225 8% 15%;
158
- --secondary-foreground: 240 8.3% 95.3%;
159
- --muted: 225 8% 12%;
160
- --muted-foreground: 240 7% 70%;
161
- --accent: 225 8% 12%;
162
- --accent-foreground: 240 8.3% 95.3%;
163
-
164
- --border: 225 8% 22%;
165
- --input: 225 8% 22%;
166
- --ring: 240 8.6% 93.1%;
167
-
168
- --chart-1: 240 8.6% 70%;
169
- --chart-2: 220 30% 65%;
170
- --chart-3: 190 30% 60%;
171
- --chart-4: 270 20% 65%;
172
- --chart-5: 45 20% 62%;
173
- }
174
-
175
- :root[data-theme-style="nomad"] {
176
- --background: 240 9.1% 95.7%;
177
- --foreground: 220 12.5% 9.4%;
178
-
179
- --card: 240 12% 98%;
180
- --card-foreground: 220 12.5% 9.4%;
181
- --popover: 240 12% 98%;
182
- --popover-foreground: 220 12.5% 9.4%;
183
-
184
- --primary: 339 89.8% 53.9%;
185
- --primary-foreground: 220 12.5% 9.4%;
186
- --secondary: 231 10.4% 86.9%;
187
- --secondary-foreground: 220 12.5% 9.4%;
188
- --muted: 240 9% 92%;
189
- --muted-foreground: 220 8% 35%;
190
- --accent: 231 10.4% 86.9%;
191
- --accent-foreground: 220 12.5% 9.4%;
192
-
193
- --border: 231 10% 82%;
194
- --input: 231 10% 82%;
195
- --ring: 339 89.8% 53.9%;
196
-
197
- --chart-1: 339 89.8% 53.9%;
198
- --chart-2: 220 28% 40%;
199
- --chart-3: 40 72% 60%;
200
- --chart-4: 173 25% 45%;
201
- --chart-5: 280 45% 60%;
202
- }
203
-
204
- .dark[data-theme-style="nomad"] {
205
- --background: 220 12.5% 9.4%;
206
- --foreground: 240 9.1% 95.7%;
207
-
208
- --card: 220 12% 12%;
209
- --card-foreground: 240 9.1% 95.7%;
210
- --popover: 220 12% 12%;
211
- --popover-foreground: 240 9.1% 95.7%;
212
-
213
- --primary: 339 90% 62%;
214
- --primary-foreground: 220 12.5% 9.4%;
215
- --secondary: 220 10% 17%;
216
- --secondary-foreground: 240 9.1% 95.7%;
217
- --muted: 220 9% 14%;
218
- --muted-foreground: 240 7% 70%;
219
- --accent: 220 9% 14%;
220
- --accent-foreground: 240 9.1% 95.7%;
221
-
222
- --border: 220 8% 22%;
223
- --input: 220 8% 22%;
224
- --ring: 339 90% 62%;
225
-
226
- --chart-1: 339 90% 66%;
227
- --chart-2: 40 72% 65%;
228
- --chart-3: 173 30% 58%;
229
- --chart-4: 280 50% 72%;
230
- --chart-5: 220 18% 72%;
231
- }
232
-
233
- :root[data-theme-style="honey"] {
234
- --background: 49 38.1% 91.8%;
235
- --foreground: 40 52.9% 27.5%;
236
-
237
- --card: 49 42% 95%;
238
- --card-foreground: 40 52.9% 27.5%;
239
- --popover: 49 42% 95%;
240
- --popover-foreground: 40 52.9% 27.5%;
241
-
242
- --primary: 40 72.8% 68.2%;
243
- --primary-foreground: 40 52.9% 18%;
244
- --secondary: 63 20.8% 79.2%;
245
- --secondary-foreground: 40 52.9% 27.5%;
246
- --muted: 49 30% 88%;
247
- --muted-foreground: 40 24% 38%;
248
- --accent: 63 20.8% 79.2%;
249
- --accent-foreground: 40 52.9% 27.5%;
250
-
251
- --border: 52 22% 74%;
252
- --input: 52 22% 74%;
253
- --ring: 40 72.8% 68.2%;
254
-
255
- --chart-1: 40 72.8% 55%;
256
- --chart-2: 63 30% 45%;
257
- --chart-3: 173 25% 42%;
258
- --chart-4: 18 56% 50%;
259
- --chart-5: 240 16% 52%;
260
- }
261
-
262
- .dark[data-theme-style="honey"] {
263
- --background: 36 38% 10%;
264
- --foreground: 49 30% 88%;
265
-
266
- --card: 34 30% 14%;
267
- --card-foreground: 49 30% 88%;
268
- --popover: 34 30% 14%;
269
- --popover-foreground: 49 30% 88%;
270
-
271
- --primary: 40 72.8% 68.2%;
272
- --primary-foreground: 36 38% 10%;
273
- --secondary: 38 20% 20%;
274
- --secondary-foreground: 49 30% 88%;
275
- --muted: 38 18% 18%;
276
- --muted-foreground: 49 18% 70%;
277
- --accent: 38 18% 18%;
278
- --accent-foreground: 49 30% 88%;
279
-
280
- --border: 38 18% 26%;
281
- --input: 38 18% 26%;
282
- --ring: 40 72.8% 68.2%;
283
-
284
- --chart-1: 40 72.8% 68.2%;
285
- --chart-2: 63 35% 58%;
286
- --chart-3: 173 30% 56%;
287
- --chart-4: 20 56% 64%;
288
- --chart-5: 240 22% 70%;
289
- }
290
-
291
- :root[data-theme-style="zen-garden"] {
292
- --background: 84 9.8% 90%;
293
- --foreground: 225 18.2% 8.6%;
294
-
295
- --card: 84 12% 94%;
296
- --card-foreground: 225 18.2% 8.6%;
297
- --popover: 84 12% 94%;
298
- --popover-foreground: 225 18.2% 8.6%;
299
-
300
- --primary: 173 24.7% 62%;
301
- --primary-foreground: 225 18.2% 8.6%;
302
- --secondary: 289 32.9% 72%;
303
- --secondary-foreground: 225 18.2% 8.6%;
304
- --muted: 84 10% 86%;
305
- --muted-foreground: 225 10% 36%;
306
- --accent: 289 32.9% 72%;
307
- --accent-foreground: 225 18.2% 8.6%;
308
-
309
- --border: 84 8% 78%;
310
- --input: 84 8% 78%;
311
- --ring: 173 24.7% 62%;
312
-
313
- --chart-1: 173 24.7% 48%;
314
- --chart-2: 289 32.9% 58%;
315
- --chart-3: 40 68% 56%;
316
- --chart-4: 220 26% 50%;
317
- --chart-5: 0 55% 58%;
318
- }
319
-
320
- .dark[data-theme-style="zen-garden"] {
321
- --background: 225 18.2% 8.6%;
322
- --foreground: 84 9.8% 90%;
323
-
324
- --card: 225 16% 12%;
325
- --card-foreground: 84 9.8% 90%;
326
- --popover: 225 16% 12%;
327
- --popover-foreground: 84 9.8% 90%;
328
-
329
- --primary: 173 30% 66%;
330
- --primary-foreground: 225 18.2% 8.6%;
331
- --secondary: 225 12% 18%;
332
- --secondary-foreground: 84 9.8% 90%;
333
- --muted: 225 10% 15%;
334
- --muted-foreground: 84 8% 72%;
335
- --accent: 225 10% 15%;
336
- --accent-foreground: 84 9.8% 90%;
337
-
338
- --border: 225 10% 24%;
339
- --input: 225 10% 24%;
340
- --ring: 173 30% 66%;
341
-
342
- --chart-1: 173 30% 66%;
343
- --chart-2: 289 36% 70%;
344
- --chart-3: 40 68% 64%;
345
- --chart-4: 220 30% 70%;
346
- --chart-5: 355 65% 68%;
347
- }
348
-
349
- :root[data-theme-style="highlighter"] {
350
- --background: 228 23.8% 95.9%;
351
- --foreground: 223 18.9% 7.3%;
352
-
353
- --card: 228 24% 98%;
354
- --card-foreground: 223 18.9% 7.3%;
355
- --popover: 228 24% 98%;
356
- --popover-foreground: 223 18.9% 7.3%;
357
-
358
- --primary: 97 70.5% 64.1%;
359
- --primary-foreground: 223 18.9% 7.3%;
360
- --secondary: 249 35.6% 88.4%;
361
- --secondary-foreground: 223 18.9% 7.3%;
362
- --muted: 228 20% 92%;
363
- --muted-foreground: 223 10% 35%;
364
- --accent: 249 35.6% 88.4%;
365
- --accent-foreground: 223 18.9% 7.3%;
366
-
367
- --border: 238 20% 84%;
368
- --input: 238 20% 84%;
369
- --ring: 97 70.5% 64.1%;
370
-
371
- --chart-1: 97 70.5% 48%;
372
- --chart-2: 249 45% 56%;
373
- --chart-3: 202 72% 54%;
374
- --chart-4: 339 78% 58%;
375
- --chart-5: 40 78% 58%;
376
- }
377
-
378
- .dark[data-theme-style="highlighter"] {
379
- --background: 223 18.9% 7.3%;
380
- --foreground: 228 23.8% 95.9%;
381
-
382
- --card: 223 16% 11%;
383
- --card-foreground: 228 23.8% 95.9%;
384
- --popover: 223 16% 11%;
385
- --popover-foreground: 228 23.8% 95.9%;
386
-
387
- --primary: 97 74% 66%;
388
- --primary-foreground: 223 18.9% 7.3%;
389
- --secondary: 223 12% 18%;
390
- --secondary-foreground: 228 23.8% 95.9%;
391
- --muted: 223 10% 15%;
392
- --muted-foreground: 228 14% 72%;
393
- --accent: 223 10% 15%;
394
- --accent-foreground: 228 23.8% 95.9%;
395
-
396
- --border: 223 10% 24%;
397
- --input: 223 10% 24%;
398
- --ring: 97 74% 66%;
399
-
400
- --chart-1: 97 74% 66%;
401
- --chart-2: 249 50% 72%;
402
- --chart-3: 202 78% 70%;
403
- --chart-4: 339 80% 70%;
404
- --chart-5: 40 78% 68%;
405
- }
406
-
407
- @layer base {
408
- * {
409
- border-color: hsl(var(--border));
410
- }
411
-
412
- body {
413
- @apply bg-background text-foreground antialiased;
414
- font-family: var(--font-sans);
415
- }
416
- }
417
-
418
- @layer utilities {
419
- .hover-elevate {
420
- transition: transform 150ms ease, box-shadow 150ms ease;
421
- }
422
- .hover-elevate:hover {
423
- transform: translateY(-1px);
424
- box-shadow: 0 12px 30px rgb(0 0 0 / 0.08);
425
- }
426
-
427
- .active-elevate-2:active {
428
- transform: translateY(0px);
429
- box-shadow: 0 6px 18px rgb(0 0 0 / 0.08);
430
- }
431
-
432
- @keyframes aurora-shift-x {
433
- from {
434
- background-position: 0% 50%;
435
- }
436
- to {
437
- background-position: 200% 50%;
438
- }
439
- }
440
-
441
- @keyframes aurora-shift-y {
442
- from {
443
- background-position: 50% 0%;
444
- }
445
- to {
446
- background-position: 50% 200%;
447
- }
448
- }
449
-
450
- @keyframes aurora-breathe {
451
- 0%,
452
- 100% {
453
- opacity: 0.55;
454
- }
455
- 50% {
456
- opacity: 0.95;
457
- }
458
- }
459
-
460
- @keyframes nebula-float-a {
461
- 0%,
462
- 100% {
463
- transform: translate3d(0, 0, 0) scale(1);
464
- }
465
- 50% {
466
- transform: translate3d(8%, 5%, 0) scale(1.08);
467
- }
468
- }
469
-
470
- @keyframes nebula-float-b {
471
- 0%,
472
- 100% {
473
- transform: translate3d(0, 0, 0) scale(1);
474
- }
475
- 50% {
476
- transform: translate3d(-7%, 6%, 0) scale(1.12);
477
- }
478
- }
479
-
480
- @keyframes nebula-float-c {
481
- 0%,
482
- 100% {
483
- transform: translate3d(0, 0, 0) scale(1);
484
- }
485
- 50% {
486
- transform: translate3d(5%, -6%, 0) scale(1.06);
487
- }
488
- }
489
-
490
- @keyframes grain-shift {
491
- 0% {
492
- transform: translate3d(0, 0, 0);
493
- }
494
- 25% {
495
- transform: translate3d(1%, -1%, 0);
496
- }
497
- 50% {
498
- transform: translate3d(-1%, 1%, 0);
499
- }
500
- 75% {
501
- transform: translate3d(0.5%, 1%, 0);
502
- }
503
- 100% {
504
- transform: translate3d(0, 0, 0);
505
- }
506
- }
507
-
508
- @keyframes loader-spin {
509
- from {
510
- transform: rotate(0deg);
511
- }
512
- to {
513
- transform: rotate(360deg);
514
- }
515
- }
516
-
517
- @keyframes loader-spin-reverse {
518
- from {
519
- transform: rotate(360deg);
520
- }
521
- to {
522
- transform: rotate(0deg);
523
- }
524
- }
525
-
526
- @keyframes loader-core-breathe {
527
- 0%,
528
- 100% {
529
- transform: scale(0.92);
530
- opacity: 0.85;
531
- }
532
- 50% {
533
- transform: scale(1.04);
534
- opacity: 1;
535
- }
536
- }
537
-
538
- .nebula-orb {
539
- position: absolute;
540
- border-radius: 9999px;
541
- mix-blend-mode: screen;
542
- opacity: 0.72;
543
- filter: blur(72px);
544
- will-change: transform;
545
- }
546
-
547
- .nebula-orb-a {
548
- left: -11rem;
549
- top: -8rem;
550
- height: 34rem;
551
- width: 34rem;
552
- background: radial-gradient(
553
- circle,
554
- rgba(56, 189, 248, 0.36) 0%,
555
- rgba(99, 102, 241, 0.2) 45%,
556
- rgba(255, 255, 255, 0) 72%
557
- );
558
- animation: nebula-float-a 16s ease-in-out infinite;
559
- }
560
-
561
- .nebula-orb-b {
562
- right: -13rem;
563
- top: 14%;
564
- height: 38rem;
565
- width: 38rem;
566
- background: radial-gradient(
567
- circle,
568
- rgba(20, 184, 166, 0.33) 0%,
569
- rgba(59, 130, 246, 0.16) 46%,
570
- rgba(255, 255, 255, 0) 75%
571
- );
572
- animation: nebula-float-b 18s ease-in-out infinite;
573
- }
574
-
575
- .nebula-orb-c {
576
- bottom: -16rem;
577
- left: 26%;
578
- height: 36rem;
579
- width: 36rem;
580
- background: radial-gradient(
581
- circle,
582
- rgba(167, 139, 250, 0.24) 0%,
583
- rgba(56, 189, 248, 0.12) 45%,
584
- rgba(255, 255, 255, 0) 74%
585
- );
586
- animation: nebula-float-c 15s ease-in-out infinite;
587
- }
588
-
589
- .nebula-grain {
590
- position: absolute;
591
- inset: -20%;
592
- background-image: radial-gradient(rgba(15, 23, 42, 0.08) 0.7px, transparent 0.7px);
593
- background-size: 3px 3px;
594
- opacity: 0.08;
595
- animation: grain-shift 8s steps(10) infinite;
596
- }
597
-
598
- .luxe-loader {
599
- position: relative;
600
- height: 96px;
601
- width: 96px;
602
- }
603
-
604
- .luxe-loader__ring {
605
- position: absolute;
606
- border-radius: 9999px;
607
- border: 2px solid transparent;
608
- }
609
-
610
- .luxe-loader__ring--outer {
611
- inset: 0;
612
- border-top-color: rgba(56, 189, 248, 0.98);
613
- border-right-color: rgba(99, 102, 241, 0.94);
614
- box-shadow:
615
- 0 0 18px rgba(56, 189, 248, 0.6),
616
- inset 0 0 12px rgba(59, 130, 246, 0.15);
617
- animation: loader-spin 1.35s linear infinite;
618
- }
619
-
620
- .luxe-loader__ring--inner {
621
- inset: 13px;
622
- border-left-color: rgba(20, 184, 166, 0.96);
623
- border-bottom-color: rgba(56, 189, 248, 0.88);
624
- box-shadow: 0 0 14px rgba(20, 184, 166, 0.45);
625
- animation: loader-spin-reverse 1.05s linear infinite;
626
- }
627
-
628
- .luxe-loader__core {
629
- position: absolute;
630
- inset: 34px;
631
- border-radius: 9999px;
632
- background: radial-gradient(
633
- circle at 35% 30%,
634
- rgba(255, 255, 255, 1) 0%,
635
- rgba(210, 237, 255, 0.95) 42%,
636
- rgba(107, 172, 255, 0.78) 100%
637
- );
638
- box-shadow:
639
- 0 0 24px rgba(56, 189, 248, 0.48),
640
- 0 0 34px rgba(99, 102, 241, 0.24);
641
- animation: loader-core-breathe 2.1s ease-in-out infinite;
642
- }
643
-
644
- .luxe-loader__orbit {
645
- position: absolute;
646
- inset: 0;
647
- animation: loader-spin 2.5s linear infinite;
648
- }
649
-
650
- .luxe-loader__dot {
651
- position: absolute;
652
- left: 50%;
653
- top: 3px;
654
- height: 9px;
655
- width: 9px;
656
- border-radius: 9999px;
657
- transform: translateX(-50%);
658
- background: radial-gradient(
659
- circle at 30% 30%,
660
- rgba(255, 255, 255, 1) 0%,
661
- rgba(167, 243, 255, 0.95) 35%,
662
- rgba(34, 211, 238, 0.95) 100%
663
- );
664
- box-shadow:
665
- 0 0 10px rgba(34, 211, 238, 0.8),
666
- 0 0 18px rgba(56, 189, 248, 0.5);
667
- }
668
-
669
- .aurora-frame {
670
- pointer-events: none;
671
- position: absolute;
672
- inset: 0;
673
- z-index: 20;
674
- }
675
-
676
- .aurora-edge {
677
- position: absolute;
678
- opacity: 0.95;
679
- will-change: background-position, opacity;
680
- }
681
-
682
- .aurora-edge.is-glow {
683
- filter: blur(16px);
684
- opacity: 0.75;
685
- }
686
-
687
- .aurora-edge.top,
688
- .aurora-edge.bottom {
689
- left: 0;
690
- right: 0;
691
- height: 4px;
692
- background-image: linear-gradient(
693
- 90deg,
694
- rgba(16, 185, 129, 0.2),
695
- rgba(34, 211, 238, 1),
696
- rgba(59, 130, 246, 1),
697
- rgba(16, 185, 129, 0.2)
698
- );
699
- background-size: 320% 100%;
700
- box-shadow:
701
- 0 0 8px rgba(34, 211, 238, 0.9),
702
- 0 0 22px rgba(59, 130, 246, 0.65);
703
- animation:
704
- aurora-shift-x 5.2s linear infinite,
705
- aurora-breathe 2.6s ease-in-out infinite;
706
- }
707
-
708
- .aurora-edge.top {
709
- top: 0;
710
- }
711
-
712
- .aurora-edge.bottom {
713
- bottom: 0;
714
- animation-direction: reverse, normal;
715
- }
716
-
717
- .aurora-edge.left,
718
- .aurora-edge.right {
719
- top: 0;
720
- bottom: 0;
721
- width: 4px;
722
- background-image: linear-gradient(
723
- 180deg,
724
- rgba(16, 185, 129, 0.2),
725
- rgba(34, 211, 238, 1),
726
- rgba(59, 130, 246, 1),
727
- rgba(16, 185, 129, 0.2)
728
- );
729
- background-size: 100% 320%;
730
- box-shadow:
731
- 0 0 8px rgba(34, 211, 238, 0.85),
732
- 0 0 20px rgba(59, 130, 246, 0.6);
733
- animation:
734
- aurora-shift-y 5.8s linear infinite,
735
- aurora-breathe 3s ease-in-out infinite;
736
- }
737
-
738
- .aurora-edge.left {
739
- left: 0;
740
- }
741
-
742
- .aurora-edge.right {
743
- right: 0;
744
- animation-direction: reverse, normal;
745
- }
746
-
747
- @media (prefers-reduced-motion: reduce) {
748
- .nebula-orb,
749
- .nebula-grain,
750
- .luxe-loader__ring--outer,
751
- .luxe-loader__ring--inner,
752
- .luxe-loader__core,
753
- .luxe-loader__orbit {
754
- animation: none;
755
- }
756
-
757
- .aurora-edge {
758
- animation: none;
759
- opacity: 0.75;
760
- }
761
- }
762
- }
763
-
764
- html[data-preview-shield="on"] nextjs-portal,
765
- html[data-preview-shield="on"] script[data-nextjs-dev-overlay] {
766
- display: none !important;
767
- }