@jonsoc/console-app 1.1.34 → 1.1.49

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 (83) hide show
  1. package/package.json +19 -15
  2. package/public/robots.txt +5 -5
  3. package/script/generate-sitemap.ts +0 -0
  4. package/src/app.css +1 -1
  5. package/src/asset/brand/opencode-logo-dark.svg +16 -16
  6. package/src/asset/brand/opencode-logo-light.svg +16 -16
  7. package/src/asset/brand/opencode-wordmark-dark.svg +30 -30
  8. package/src/asset/brand/opencode-wordmark-light.svg +30 -30
  9. package/src/asset/brand/opencode-wordmark-simple-dark.svg +22 -22
  10. package/src/asset/brand/opencode-wordmark-simple-light.svg +22 -22
  11. package/src/asset/lander/brand-assets-dark.svg +10 -10
  12. package/src/asset/lander/brand-assets-light.svg +10 -10
  13. package/src/asset/lander/check.svg +3 -3
  14. package/src/asset/lander/copy.svg +3 -3
  15. package/src/asset/lander/logo-dark.svg +11 -11
  16. package/src/asset/lander/logo-light.svg +11 -11
  17. package/src/asset/lander/opencode-logo-dark.svg +11 -11
  18. package/src/asset/lander/opencode-logo-light.svg +11 -11
  19. package/src/asset/lander/opencode-wordmark-dark.svg +25 -25
  20. package/src/asset/lander/opencode-wordmark-light.svg +25 -25
  21. package/src/asset/lander/wordmark-dark.svg +3 -3
  22. package/src/asset/lander/wordmark-light.svg +3 -3
  23. package/src/asset/logo-ornate-dark.svg +18 -18
  24. package/src/asset/logo-ornate-light.svg +18 -18
  25. package/src/asset/logo.svg +18 -18
  26. package/src/asset/zen-ornate-dark.svg +8 -8
  27. package/src/asset/zen-ornate-light.svg +8 -8
  28. package/src/component/dropdown.css +80 -80
  29. package/src/component/header-context-menu.css +63 -63
  30. package/src/component/modal.css +66 -66
  31. package/src/component/spotlight.css +15 -15
  32. package/src/routes/[...404].css +130 -130
  33. package/src/routes/black/workspace.css +214 -214
  34. package/src/routes/black.css +828 -828
  35. package/src/routes/brand/index.css +555 -555
  36. package/src/routes/changelog/index.css +477 -477
  37. package/src/routes/download/index.css +750 -750
  38. package/src/routes/enterprise/index.css +578 -578
  39. package/src/routes/index.css +1251 -1251
  40. package/src/routes/legal/privacy-policy/index.css +343 -343
  41. package/src/routes/legal/terms-of-service/index.css +254 -254
  42. package/src/routes/user-menu.css +18 -18
  43. package/src/routes/workspace/[id]/billing/billing-section.module.css +185 -185
  44. package/src/routes/workspace/[id]/billing/black-section.module.css +142 -142
  45. package/src/routes/workspace/[id]/billing/black-waitlist-section.module.css +23 -23
  46. package/src/routes/workspace/[id]/billing/monthly-limit-section.module.css +96 -96
  47. package/src/routes/workspace/[id]/billing/payment-section.module.css +93 -93
  48. package/src/routes/workspace/[id]/billing/reload-section.module.css +261 -261
  49. package/src/routes/workspace/[id]/graph-section.module.css +145 -145
  50. package/src/routes/workspace/[id]/keys/key-section.module.css +197 -197
  51. package/src/routes/workspace/[id]/members/member-section.module.css +249 -249
  52. package/src/routes/workspace/[id]/members/role-dropdown.css +72 -72
  53. package/src/routes/workspace/[id]/model-section.module.css +173 -173
  54. package/src/routes/workspace/[id]/new-user-section.module.css +143 -143
  55. package/src/routes/workspace/[id]/provider-section.module.css +138 -138
  56. package/src/routes/workspace/[id]/settings/settings-section.module.css +94 -94
  57. package/src/routes/workspace/[id]/usage-section.module.css +185 -185
  58. package/src/routes/workspace/[id].css +308 -308
  59. package/src/routes/workspace-picker.css +74 -74
  60. package/src/routes/workspace.css +107 -107
  61. package/src/routes/zen/index.css +866 -866
  62. package/src/style/base.css +21 -21
  63. package/src/style/component/button.css +102 -102
  64. package/src/style/index.css +8 -8
  65. package/src/style/reset.css +76 -76
  66. package/src/style/token/color.css +91 -91
  67. package/src/style/token/font.css +21 -21
  68. package/src/style/token/space.css +46 -46
  69. package/public/apple-touch-icon-v3.png +0 -1
  70. package/public/apple-touch-icon.png +0 -1
  71. package/public/email +0 -1
  72. package/public/favicon-96x96-v3.png +0 -1
  73. package/public/favicon-96x96.png +0 -1
  74. package/public/favicon-v3.ico +0 -1
  75. package/public/favicon-v3.svg +0 -1
  76. package/public/favicon.ico +0 -1
  77. package/public/favicon.svg +0 -1
  78. package/public/site.webmanifest +0 -1
  79. package/public/social-share-black.png +0 -1
  80. package/public/social-share-zen.png +0 -1
  81. package/public/social-share.png +0 -1
  82. package/public/web-app-manifest-192x192.png +0 -1
  83. package/public/web-app-manifest-512x512.png +0 -1
@@ -1,828 +1,828 @@
1
- ::view-transition-group(*) {
2
- animation-duration: 250ms;
3
- animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
4
- }
5
-
6
- ::view-transition-old(root),
7
- ::view-transition-new(root) {
8
- animation-duration: 250ms;
9
- animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
10
- }
11
-
12
- ::view-transition-image-pair(root) {
13
- isolation: isolate;
14
- }
15
-
16
- ::view-transition-old(root) {
17
- animation: none;
18
- mix-blend-mode: normal;
19
- }
20
-
21
- ::view-transition-new(root) {
22
- animation: none;
23
- mix-blend-mode: normal;
24
- }
25
-
26
- @keyframes fade-in {
27
- from {
28
- opacity: 0;
29
- }
30
- to {
31
- opacity: 1;
32
- }
33
- }
34
-
35
- @keyframes fade-out {
36
- from {
37
- opacity: 1;
38
- }
39
- to {
40
- opacity: 0;
41
- }
42
- }
43
-
44
- @keyframes fade-in-up {
45
- from {
46
- opacity: 0;
47
- transform: translateY(8px);
48
- }
49
- to {
50
- opacity: 1;
51
- transform: translateY(0);
52
- }
53
- }
54
-
55
- @keyframes reveal-terms {
56
- from {
57
- mask-position: 0% 200%;
58
- }
59
- to {
60
- mask-position: 0% 50%;
61
- }
62
- }
63
-
64
- @keyframes hide-terms {
65
- from {
66
- mask-position: 0% 50%;
67
- }
68
- to {
69
- mask-position: 0% 200%;
70
- }
71
- }
72
-
73
- ::view-transition-old(terms-20),
74
- ::view-transition-old(terms-100),
75
- ::view-transition-old(terms-200) {
76
- mask-image: linear-gradient(to bottom, transparent, black 25% 75%, transparent);
77
- mask-repeat: no-repeat;
78
- mask-size: 100% 200%;
79
- animation: hide-terms 200ms cubic-bezier(0.25, 0, 0.5, 1) forwards;
80
- }
81
-
82
- ::view-transition-new(terms-20),
83
- ::view-transition-new(terms-100),
84
- ::view-transition-new(terms-200) {
85
- mask-image: linear-gradient(to bottom, transparent, black 25% 75%, transparent);
86
- mask-repeat: no-repeat;
87
- mask-position: 0% 200%;
88
- mask-size: 100% 200%;
89
- animation: reveal-terms 300ms cubic-bezier(0.25, 0, 0.5, 1) 50ms forwards;
90
- }
91
-
92
- ::view-transition-old(actions-20),
93
- ::view-transition-old(actions-100),
94
- ::view-transition-old(actions-200) {
95
- animation: fade-out 80ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
96
- }
97
-
98
- ::view-transition-new(actions-20),
99
- ::view-transition-new(actions-100),
100
- ::view-transition-new(actions-200) {
101
- animation: fade-in-up 300ms cubic-bezier(0.16, 1, 0.3, 1) 300ms forwards;
102
- opacity: 0;
103
- }
104
-
105
- ::view-transition-group(card-20),
106
- ::view-transition-group(card-100),
107
- ::view-transition-group(card-200) {
108
- animation-duration: 250ms;
109
- animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
110
- }
111
-
112
- [data-page="black"] {
113
- background: #000;
114
- min-height: 100vh;
115
- display: flex;
116
- flex-direction: column;
117
- align-items: center;
118
- justify-content: stretch;
119
- font-family: var(--font-mono);
120
- color: #fff;
121
-
122
- [data-component="header-logo"] {
123
- filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.25)) drop-shadow(0 4px 16px rgba(0, 0, 0, 0.1));
124
- position: relative;
125
- z-index: 1;
126
- }
127
-
128
- .header-light-rays {
129
- position: absolute;
130
- inset: 0 0 auto 0;
131
- height: 30dvh;
132
- pointer-events: none;
133
- z-index: 0;
134
- }
135
-
136
- [data-component="header"] {
137
- display: flex;
138
- flex-direction: column;
139
- align-items: center;
140
- justify-content: center;
141
- padding-top: 40px;
142
- flex-shrink: 0;
143
- }
144
-
145
- [data-component="content"] {
146
- display: flex;
147
- flex-direction: column;
148
- align-items: center;
149
- width: 100%;
150
- flex-grow: 1;
151
-
152
- [data-slot="hero"] {
153
- display: flex;
154
- flex-direction: column;
155
- align-items: center;
156
- text-align: center;
157
- gap: 8px;
158
- margin-top: 40px;
159
- padding: 0 20px;
160
-
161
- @media (min-width: 768px) {
162
- margin-top: 60px;
163
- }
164
-
165
- h1 {
166
- color: rgba(255, 255, 255, 0.92);
167
- font-size: 16px;
168
- font-style: normal;
169
- font-weight: 400;
170
- line-height: 1.45;
171
- margin: 0;
172
-
173
- @media (min-width: 768px) {
174
- font-size: 20px;
175
- }
176
-
177
- @media (max-width: 480px) {
178
- font-size: 14px;
179
- }
180
- }
181
-
182
- p {
183
- color: rgba(255, 255, 255, 0.59);
184
- font-size: 16px;
185
- font-style: normal;
186
- font-weight: 400;
187
- line-height: 1.45;
188
- margin: 0;
189
-
190
- @media (min-width: 768px) {
191
- font-size: 20px;
192
- }
193
-
194
- @media (max-width: 480px) {
195
- font-size: 14px;
196
- }
197
- }
198
- }
199
-
200
- [data-slot="hero-black"] {
201
- margin-top: 40px;
202
- padding: 0 20px;
203
- position: relative;
204
-
205
- @media (min-width: 768px) {
206
- margin-top: 60px;
207
- }
208
-
209
- svg {
210
- width: 100%;
211
- max-width: 590px;
212
- height: auto;
213
- overflow: visible;
214
- filter: drop-shadow(0 0 20px rgba(255, 255, 255, calc(0.1 + var(--hero-black-glow-intensity, 0) * 0.15)))
215
- drop-shadow(0 -5px 30px rgba(255, 255, 255, calc(var(--hero-black-glow-intensity, 0) * 0.2)));
216
- mask-image: linear-gradient(to bottom, black, transparent);
217
- stroke-width: 1.5;
218
-
219
- [data-slot="black-base"] {
220
- fill: url(#hero-black-fill-gradient);
221
- stroke: url(#hero-black-stroke-gradient);
222
- }
223
-
224
- [data-slot="black-glow"] {
225
- fill: url(#hero-black-top-glow);
226
- pointer-events: none;
227
- }
228
-
229
- [data-slot="black-shimmer"] {
230
- fill: url(#hero-black-shimmer-gradient);
231
- pointer-events: none;
232
- mix-blend-mode: overlay;
233
- }
234
- }
235
- }
236
-
237
- [data-slot="cta"] {
238
- display: flex;
239
- flex-direction: column;
240
- gap: 16px;
241
- align-items: center;
242
- text-align: center;
243
- margin-top: -40px;
244
- width: 100%;
245
-
246
- @media (min-width: 768px) {
247
- margin-top: -20px;
248
- }
249
-
250
- [data-slot="heading"] {
251
- color: rgba(255, 255, 255, 0.92);
252
- text-align: center;
253
- font-size: 18px;
254
- font-style: normal;
255
- font-weight: 400;
256
- line-height: 160%;
257
-
258
- span {
259
- display: inline-block;
260
- }
261
- }
262
- [data-slot="subheading"] {
263
- color: rgba(255, 255, 255, 0.59);
264
- font-size: 15px;
265
- font-style: normal;
266
- font-weight: 400;
267
- line-height: 160%;
268
-
269
- @media (min-width: 768px) {
270
- font-size: 18px;
271
- line-height: 160%;
272
- }
273
- }
274
- [data-slot="button"] {
275
- display: inline-flex;
276
- height: 40px;
277
- padding: 0 12px;
278
- justify-content: center;
279
- align-items: center;
280
- gap: 8px;
281
- border-radius: 4px;
282
- background: rgba(255, 255, 255, 0.92);
283
- text-decoration: none;
284
- color: #000;
285
- font-family: "JetBrains Mono Nerd Font";
286
- font-size: 16px;
287
- font-style: normal;
288
- font-weight: 500;
289
- line-height: normal;
290
-
291
- &:hover {
292
- background: #e0e0e0;
293
- }
294
-
295
- &:active {
296
- transform: scale(0.98);
297
- }
298
- }
299
- [data-slot="back-soon"] {
300
- color: rgba(255, 255, 255, 0.59);
301
- text-align: center;
302
- font-size: 13px;
303
- font-style: normal;
304
- font-weight: 400;
305
- line-height: 160%; /* 20.8px */
306
- }
307
- [data-slot="follow-us"] {
308
- display: inline-flex;
309
- height: 40px;
310
- padding: 0 12px;
311
- justify-content: center;
312
- align-items: center;
313
- gap: 8px;
314
- border-radius: 4px;
315
- border: 1px solid rgba(255, 255, 255, 0.17);
316
- color: rgba(255, 255, 255, 0.59);
317
- font-family: var(--font-mono);
318
- font-size: 14px;
319
- font-style: normal;
320
- font-weight: 400;
321
- line-height: normal;
322
- text-decoration: none;
323
- }
324
-
325
- [data-slot="pricing"] {
326
- display: flex;
327
- flex-direction: column;
328
- gap: 16px;
329
- width: 100%;
330
- max-width: 660px;
331
- padding: 0 20px;
332
-
333
- @media (min-width: 768px) {
334
- padding: 0;
335
- }
336
- }
337
-
338
- [data-slot="pricing-card"] {
339
- display: flex;
340
- flex-direction: column;
341
- gap: 12px;
342
- padding: 24px;
343
- border: 1px solid rgba(255, 255, 255, 0.17);
344
- background: black;
345
- background-clip: padding-box;
346
- border-radius: 4px;
347
- text-decoration: none;
348
- transition: border-color 0.15s ease;
349
- cursor: pointer;
350
- text-align: left;
351
-
352
- @media (max-width: 480px) {
353
- padding: 16px;
354
- }
355
-
356
- &:hover:not(:active) {
357
- border-color: rgba(255, 255, 255, 0.35);
358
- }
359
-
360
- [data-slot="icon"] {
361
- color: rgba(255, 255, 255, 0.59);
362
- }
363
-
364
- [data-slot="price"] {
365
- display: flex;
366
- flex-wrap: wrap;
367
- align-items: baseline;
368
- gap: 8px;
369
- }
370
-
371
- [data-slot="amount"] {
372
- color: rgba(255, 255, 255, 0.92);
373
- font-size: 24px;
374
- font-weight: 500;
375
- }
376
-
377
- [data-slot="period"] {
378
- color: rgba(255, 255, 255, 0.59);
379
- font-size: 14px;
380
- }
381
-
382
- [data-slot="multiplier"] {
383
- color: rgba(255, 255, 255, 0.39);
384
- font-size: 14px;
385
-
386
- &::before {
387
- content: "·";
388
- margin-right: 8px;
389
- }
390
- }
391
- }
392
-
393
- [data-slot="selected-plan"] {
394
- display: flex;
395
- flex-direction: column;
396
- gap: 32px;
397
- width: 100%;
398
- max-width: 660px;
399
- margin: 0 auto;
400
- position: relative;
401
- background-color: rgba(0, 0, 0, 0.75);
402
- z-index: 1;
403
-
404
- @media (max-width: 480px) {
405
- margin: 0 20px;
406
- width: calc(100% - 40px);
407
- }
408
- }
409
-
410
- [data-slot="selected-card"] {
411
- display: flex;
412
- flex-direction: column;
413
- gap: 12px;
414
- padding: 24px;
415
- border: 1px solid rgba(255, 255, 255, 0.17);
416
- border-radius: 4px;
417
- width: 100%;
418
-
419
- [data-slot="icon"] {
420
- color: rgba(255, 255, 255, 0.59);
421
- }
422
-
423
- [data-slot="price"] {
424
- display: flex;
425
- flex-wrap: wrap;
426
- align-items: baseline;
427
- gap: 8px;
428
- }
429
-
430
- [data-slot="amount"] {
431
- color: rgba(255, 255, 255, 0.92);
432
- font-size: 24px;
433
- font-weight: 500;
434
- }
435
-
436
- [data-slot="period"] {
437
- color: rgba(255, 255, 255, 0.59);
438
- font-size: 14px;
439
- }
440
-
441
- [data-slot="multiplier"] {
442
- color: rgba(255, 255, 255, 0.39);
443
- font-size: 14px;
444
-
445
- &::before {
446
- content: "·";
447
- margin-right: 8px;
448
- }
449
- }
450
-
451
- [data-slot="terms"] {
452
- list-style: none;
453
- padding: 0;
454
- margin: 0;
455
- display: flex;
456
- flex-direction: column;
457
- gap: 8px;
458
- text-align: left;
459
-
460
- li {
461
- color: rgba(255, 255, 255, 0.59);
462
- font-size: 14px;
463
- line-height: 1.5;
464
- padding-left: 16px;
465
- position: relative;
466
-
467
- &::before {
468
- content: "▪";
469
- position: absolute;
470
- left: 0;
471
- color: rgba(255, 255, 255, 0.39);
472
- }
473
-
474
- @media (max-width: 768px) {
475
- font-size: 12px;
476
- }
477
- }
478
- }
479
-
480
- [data-slot="actions"] {
481
- display: flex;
482
- gap: 16px;
483
- margin-top: 8px;
484
-
485
- button,
486
- a {
487
- flex: 1;
488
- display: inline-flex;
489
- height: 48px;
490
- padding: 0 16px;
491
- justify-content: center;
492
- align-items: center;
493
- border-radius: 4px;
494
- font-family: var(--font-mono);
495
- font-size: 16px;
496
- font-weight: 400;
497
- text-decoration: none;
498
- cursor: pointer;
499
- }
500
-
501
- [data-slot="cancel"] {
502
- background: rgba(255, 255, 255, 0.05);
503
- border: 1px solid rgba(255, 255, 255, 0.17);
504
- color: rgba(255, 255, 255, 0.92);
505
- transition-property: background-color, border-color;
506
- transition-duration: 150ms;
507
- transition-timing-function: cubic-bezier(0.25, 0, 0.5, 1);
508
-
509
- &:hover {
510
- background-color: rgba(255, 255, 255, 0.08);
511
- border-color: rgba(255, 255, 255, 0.25);
512
- }
513
- }
514
-
515
- [data-slot="continue"] {
516
- background: rgb(255, 255, 255);
517
- color: rgb(0, 0, 0);
518
- transition: background-color 150ms cubic-bezier(0.25, 0, 0.5, 1);
519
-
520
- &:hover {
521
- background: rgba(255, 255, 255, 0.9);
522
- }
523
- }
524
- }
525
- }
526
-
527
- [data-slot="fine-print"] {
528
- color: rgba(255, 255, 255, 0.39);
529
- text-align: center;
530
- font-size: 13px;
531
- font-style: normal;
532
- font-weight: 400;
533
- line-height: 160%; /* 20.8px */
534
- font-style: italic;
535
-
536
- a {
537
- color: rgba(255, 255, 255, 0.39);
538
- text-decoration: underline;
539
- }
540
- }
541
- }
542
-
543
- /* Subscribe page styles */
544
- [data-slot="subscribe-form"] {
545
- display: flex;
546
- flex-direction: column;
547
- gap: 32px;
548
- align-items: center;
549
- margin-top: -18px;
550
- width: 100%;
551
- max-width: 660px;
552
- padding: 0 20px;
553
-
554
- @media (min-width: 768px) {
555
- margin-top: 40px;
556
- padding: 0;
557
- }
558
-
559
- [data-slot="form-card"] {
560
- width: 100%;
561
- border: 1px solid rgba(255, 255, 255, 0.17);
562
- border-radius: 4px;
563
- padding: 24px;
564
- display: flex;
565
- flex-direction: column;
566
- gap: 20px;
567
- }
568
-
569
- [data-slot="plan-header"] {
570
- display: flex;
571
- flex-direction: column;
572
- gap: 8px;
573
- }
574
-
575
- [data-slot="title"] {
576
- color: rgba(255, 255, 255, 0.92);
577
- font-size: 16px;
578
- font-weight: 400;
579
- margin-bottom: 8px;
580
- }
581
-
582
- [data-slot="icon"] {
583
- color: rgba(255, 255, 255, 0.59);
584
- isolation: isolate;
585
- transform: translateZ(0);
586
- }
587
-
588
- [data-slot="price"] {
589
- display: flex;
590
- flex-wrap: wrap;
591
- align-items: baseline;
592
- gap: 8px;
593
- }
594
-
595
- [data-slot="amount"] {
596
- color: rgba(255, 255, 255, 0.92);
597
- font-size: 24px;
598
- font-weight: 500;
599
- }
600
-
601
- [data-slot="period"] {
602
- color: rgba(255, 255, 255, 0.59);
603
- font-size: 14px;
604
- }
605
-
606
- [data-slot="multiplier"] {
607
- color: rgba(255, 255, 255, 0.39);
608
- font-size: 14px;
609
-
610
- &::before {
611
- content: "·";
612
- margin: 0 8px;
613
- }
614
- }
615
-
616
- [data-slot="divider"] {
617
- height: 1px;
618
- background: rgba(255, 255, 255, 0.17);
619
- }
620
-
621
- [data-slot="section-title"] {
622
- color: rgba(255, 255, 255, 0.92);
623
- font-size: 16px;
624
- font-weight: 400;
625
- }
626
-
627
- [data-slot="checkout-form"] {
628
- display: flex;
629
- flex-direction: column;
630
- gap: 20px;
631
- }
632
-
633
- [data-slot="error"] {
634
- color: #ff6b6b;
635
- font-size: 14px;
636
- }
637
-
638
- [data-slot="submit-button"] {
639
- width: 100%;
640
- height: 48px;
641
- background: rgba(255, 255, 255, 0.92);
642
- border: none;
643
- border-radius: 4px;
644
- color: #000;
645
- font-family: var(--font-mono);
646
- font-size: 16px;
647
- font-weight: 500;
648
- cursor: pointer;
649
- transition: background 0.15s ease;
650
-
651
- &:hover:not(:disabled) {
652
- background: #e0e0e0;
653
- }
654
-
655
- &:disabled {
656
- opacity: 0.5;
657
- cursor: not-allowed;
658
- }
659
- }
660
-
661
- [data-slot="charge-notice"] {
662
- color: #d4a500;
663
- font-size: 14px;
664
- text-align: center;
665
- }
666
-
667
- [data-slot="loading"] {
668
- display: flex;
669
- justify-content: center;
670
- padding: 40px 0;
671
-
672
- p {
673
- color: rgba(255, 255, 255, 0.59);
674
- font-size: 14px;
675
- }
676
- }
677
-
678
- [data-slot="fine-print"] {
679
- color: rgba(255, 255, 255, 0.39);
680
- text-align: center;
681
- font-size: 13px;
682
- font-style: italic;
683
- view-transition-name: fine-print;
684
-
685
- a {
686
- color: rgba(255, 255, 255, 0.39);
687
- text-decoration: underline;
688
- }
689
- }
690
-
691
- [data-slot="workspace-picker"] {
692
- [data-slot="workspace-list"] {
693
- width: 100%;
694
- padding: 0;
695
- margin: 0;
696
- list-style: none;
697
- display: flex;
698
- flex-direction: column;
699
- align-items: flex-start;
700
- gap: 8px;
701
- align-self: stretch;
702
- outline: none;
703
- overflow-y: auto;
704
- max-height: 240px;
705
- scrollbar-width: none;
706
-
707
- &::-webkit-scrollbar {
708
- display: none;
709
- }
710
-
711
- [data-slot="workspace-item"] {
712
- width: 100%;
713
- display: flex;
714
- padding: 8px 12px;
715
- align-items: center;
716
- gap: 8px;
717
- align-self: stretch;
718
- cursor: pointer;
719
-
720
- [data-slot="selected-icon"] {
721
- visibility: hidden;
722
- color: rgba(255, 255, 255, 0.39);
723
- font-family: "IBM Plex Mono", monospace;
724
- font-size: 16px;
725
- font-style: normal;
726
- font-weight: 400;
727
- line-height: 160%;
728
- }
729
-
730
- span:last-child {
731
- color: rgba(255, 255, 255, 0.92);
732
- font-size: 16px;
733
- font-style: normal;
734
- font-weight: 400;
735
- line-height: 160%;
736
- }
737
-
738
- &:hover,
739
- &[data-active="true"] {
740
- background: #161616;
741
-
742
- [data-slot="selected-icon"] {
743
- visibility: visible;
744
- }
745
- }
746
- }
747
- }
748
- }
749
- }
750
- }
751
-
752
- [data-component="footer"] {
753
- display: flex;
754
- flex-direction: column;
755
- width: 100%;
756
- justify-content: center;
757
- align-items: center;
758
- gap: 24px;
759
- flex-shrink: 0;
760
-
761
- @media (min-width: 768px) {
762
- height: 120px;
763
- }
764
-
765
- [data-slot="footer-content"] {
766
- display: flex;
767
- gap: 24px;
768
- align-items: center;
769
- justify-content: center;
770
-
771
- @media (min-width: 768px) {
772
- gap: 40px;
773
- }
774
-
775
- span,
776
- a {
777
- color: rgba(255, 255, 255, 0.39);
778
- font-family: "JetBrains Mono Nerd Font";
779
- font-size: 16px;
780
- font-style: normal;
781
- font-weight: 400;
782
- line-height: normal;
783
- text-decoration: none;
784
- }
785
-
786
- [data-slot="github-stars"] {
787
- color: rgba(255, 255, 255, 0.25);
788
- font-family: "JetBrains Mono Nerd Font";
789
- font-size: 16px;
790
- font-style: normal;
791
- font-weight: 400;
792
- line-height: normal;
793
- }
794
-
795
- [data-slot="anomaly"] {
796
- display: none;
797
-
798
- @media (min-width: 768px) {
799
- display: block;
800
- }
801
- }
802
- }
803
- [data-slot="anomaly-alt"] {
804
- color: rgba(255, 255, 255, 0.39);
805
- font-family: "JetBrains Mono Nerd Font";
806
- font-size: 16px;
807
- font-style: normal;
808
- font-weight: 400;
809
- line-height: normal;
810
- text-decoration: none;
811
- margin-bottom: 24px;
812
-
813
- a {
814
- color: rgba(255, 255, 255, 0.39);
815
- font-family: "JetBrains Mono Nerd Font";
816
- font-size: 16px;
817
- font-style: normal;
818
- font-weight: 400;
819
- line-height: normal;
820
- text-decoration: none;
821
- }
822
-
823
- @media (min-width: 768px) {
824
- display: none;
825
- }
826
- }
827
- }
828
- }
1
+ ::view-transition-group(*) {
2
+ animation-duration: 250ms;
3
+ animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
4
+ }
5
+
6
+ ::view-transition-old(root),
7
+ ::view-transition-new(root) {
8
+ animation-duration: 250ms;
9
+ animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
10
+ }
11
+
12
+ ::view-transition-image-pair(root) {
13
+ isolation: isolate;
14
+ }
15
+
16
+ ::view-transition-old(root) {
17
+ animation: none;
18
+ mix-blend-mode: normal;
19
+ }
20
+
21
+ ::view-transition-new(root) {
22
+ animation: none;
23
+ mix-blend-mode: normal;
24
+ }
25
+
26
+ @keyframes fade-in {
27
+ from {
28
+ opacity: 0;
29
+ }
30
+ to {
31
+ opacity: 1;
32
+ }
33
+ }
34
+
35
+ @keyframes fade-out {
36
+ from {
37
+ opacity: 1;
38
+ }
39
+ to {
40
+ opacity: 0;
41
+ }
42
+ }
43
+
44
+ @keyframes fade-in-up {
45
+ from {
46
+ opacity: 0;
47
+ transform: translateY(8px);
48
+ }
49
+ to {
50
+ opacity: 1;
51
+ transform: translateY(0);
52
+ }
53
+ }
54
+
55
+ @keyframes reveal-terms {
56
+ from {
57
+ mask-position: 0% 200%;
58
+ }
59
+ to {
60
+ mask-position: 0% 50%;
61
+ }
62
+ }
63
+
64
+ @keyframes hide-terms {
65
+ from {
66
+ mask-position: 0% 50%;
67
+ }
68
+ to {
69
+ mask-position: 0% 200%;
70
+ }
71
+ }
72
+
73
+ ::view-transition-old(terms-20),
74
+ ::view-transition-old(terms-100),
75
+ ::view-transition-old(terms-200) {
76
+ mask-image: linear-gradient(to bottom, transparent, black 25% 75%, transparent);
77
+ mask-repeat: no-repeat;
78
+ mask-size: 100% 200%;
79
+ animation: hide-terms 200ms cubic-bezier(0.25, 0, 0.5, 1) forwards;
80
+ }
81
+
82
+ ::view-transition-new(terms-20),
83
+ ::view-transition-new(terms-100),
84
+ ::view-transition-new(terms-200) {
85
+ mask-image: linear-gradient(to bottom, transparent, black 25% 75%, transparent);
86
+ mask-repeat: no-repeat;
87
+ mask-position: 0% 200%;
88
+ mask-size: 100% 200%;
89
+ animation: reveal-terms 300ms cubic-bezier(0.25, 0, 0.5, 1) 50ms forwards;
90
+ }
91
+
92
+ ::view-transition-old(actions-20),
93
+ ::view-transition-old(actions-100),
94
+ ::view-transition-old(actions-200) {
95
+ animation: fade-out 80ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
96
+ }
97
+
98
+ ::view-transition-new(actions-20),
99
+ ::view-transition-new(actions-100),
100
+ ::view-transition-new(actions-200) {
101
+ animation: fade-in-up 300ms cubic-bezier(0.16, 1, 0.3, 1) 300ms forwards;
102
+ opacity: 0;
103
+ }
104
+
105
+ ::view-transition-group(card-20),
106
+ ::view-transition-group(card-100),
107
+ ::view-transition-group(card-200) {
108
+ animation-duration: 250ms;
109
+ animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
110
+ }
111
+
112
+ [data-page="black"] {
113
+ background: #000;
114
+ min-height: 100vh;
115
+ display: flex;
116
+ flex-direction: column;
117
+ align-items: center;
118
+ justify-content: stretch;
119
+ font-family: var(--font-mono);
120
+ color: #fff;
121
+
122
+ [data-component="header-logo"] {
123
+ filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.25)) drop-shadow(0 4px 16px rgba(0, 0, 0, 0.1));
124
+ position: relative;
125
+ z-index: 1;
126
+ }
127
+
128
+ .header-light-rays {
129
+ position: absolute;
130
+ inset: 0 0 auto 0;
131
+ height: 30dvh;
132
+ pointer-events: none;
133
+ z-index: 0;
134
+ }
135
+
136
+ [data-component="header"] {
137
+ display: flex;
138
+ flex-direction: column;
139
+ align-items: center;
140
+ justify-content: center;
141
+ padding-top: 40px;
142
+ flex-shrink: 0;
143
+ }
144
+
145
+ [data-component="content"] {
146
+ display: flex;
147
+ flex-direction: column;
148
+ align-items: center;
149
+ width: 100%;
150
+ flex-grow: 1;
151
+
152
+ [data-slot="hero"] {
153
+ display: flex;
154
+ flex-direction: column;
155
+ align-items: center;
156
+ text-align: center;
157
+ gap: 8px;
158
+ margin-top: 40px;
159
+ padding: 0 20px;
160
+
161
+ @media (min-width: 768px) {
162
+ margin-top: 60px;
163
+ }
164
+
165
+ h1 {
166
+ color: rgba(255, 255, 255, 0.92);
167
+ font-size: 16px;
168
+ font-style: normal;
169
+ font-weight: 400;
170
+ line-height: 1.45;
171
+ margin: 0;
172
+
173
+ @media (min-width: 768px) {
174
+ font-size: 20px;
175
+ }
176
+
177
+ @media (max-width: 480px) {
178
+ font-size: 14px;
179
+ }
180
+ }
181
+
182
+ p {
183
+ color: rgba(255, 255, 255, 0.59);
184
+ font-size: 16px;
185
+ font-style: normal;
186
+ font-weight: 400;
187
+ line-height: 1.45;
188
+ margin: 0;
189
+
190
+ @media (min-width: 768px) {
191
+ font-size: 20px;
192
+ }
193
+
194
+ @media (max-width: 480px) {
195
+ font-size: 14px;
196
+ }
197
+ }
198
+ }
199
+
200
+ [data-slot="hero-black"] {
201
+ margin-top: 40px;
202
+ padding: 0 20px;
203
+ position: relative;
204
+
205
+ @media (min-width: 768px) {
206
+ margin-top: 60px;
207
+ }
208
+
209
+ svg {
210
+ width: 100%;
211
+ max-width: 590px;
212
+ height: auto;
213
+ overflow: visible;
214
+ filter: drop-shadow(0 0 20px rgba(255, 255, 255, calc(0.1 + var(--hero-black-glow-intensity, 0) * 0.15)))
215
+ drop-shadow(0 -5px 30px rgba(255, 255, 255, calc(var(--hero-black-glow-intensity, 0) * 0.2)));
216
+ mask-image: linear-gradient(to bottom, black, transparent);
217
+ stroke-width: 1.5;
218
+
219
+ [data-slot="black-base"] {
220
+ fill: url(#hero-black-fill-gradient);
221
+ stroke: url(#hero-black-stroke-gradient);
222
+ }
223
+
224
+ [data-slot="black-glow"] {
225
+ fill: url(#hero-black-top-glow);
226
+ pointer-events: none;
227
+ }
228
+
229
+ [data-slot="black-shimmer"] {
230
+ fill: url(#hero-black-shimmer-gradient);
231
+ pointer-events: none;
232
+ mix-blend-mode: overlay;
233
+ }
234
+ }
235
+ }
236
+
237
+ [data-slot="cta"] {
238
+ display: flex;
239
+ flex-direction: column;
240
+ gap: 16px;
241
+ align-items: center;
242
+ text-align: center;
243
+ margin-top: -40px;
244
+ width: 100%;
245
+
246
+ @media (min-width: 768px) {
247
+ margin-top: -20px;
248
+ }
249
+
250
+ [data-slot="heading"] {
251
+ color: rgba(255, 255, 255, 0.92);
252
+ text-align: center;
253
+ font-size: 18px;
254
+ font-style: normal;
255
+ font-weight: 400;
256
+ line-height: 160%;
257
+
258
+ span {
259
+ display: inline-block;
260
+ }
261
+ }
262
+ [data-slot="subheading"] {
263
+ color: rgba(255, 255, 255, 0.59);
264
+ font-size: 15px;
265
+ font-style: normal;
266
+ font-weight: 400;
267
+ line-height: 160%;
268
+
269
+ @media (min-width: 768px) {
270
+ font-size: 18px;
271
+ line-height: 160%;
272
+ }
273
+ }
274
+ [data-slot="button"] {
275
+ display: inline-flex;
276
+ height: 40px;
277
+ padding: 0 12px;
278
+ justify-content: center;
279
+ align-items: center;
280
+ gap: 8px;
281
+ border-radius: 4px;
282
+ background: rgba(255, 255, 255, 0.92);
283
+ text-decoration: none;
284
+ color: #000;
285
+ font-family: "JetBrains Mono Nerd Font";
286
+ font-size: 16px;
287
+ font-style: normal;
288
+ font-weight: 500;
289
+ line-height: normal;
290
+
291
+ &:hover {
292
+ background: #e0e0e0;
293
+ }
294
+
295
+ &:active {
296
+ transform: scale(0.98);
297
+ }
298
+ }
299
+ [data-slot="back-soon"] {
300
+ color: rgba(255, 255, 255, 0.59);
301
+ text-align: center;
302
+ font-size: 13px;
303
+ font-style: normal;
304
+ font-weight: 400;
305
+ line-height: 160%; /* 20.8px */
306
+ }
307
+ [data-slot="follow-us"] {
308
+ display: inline-flex;
309
+ height: 40px;
310
+ padding: 0 12px;
311
+ justify-content: center;
312
+ align-items: center;
313
+ gap: 8px;
314
+ border-radius: 4px;
315
+ border: 1px solid rgba(255, 255, 255, 0.17);
316
+ color: rgba(255, 255, 255, 0.59);
317
+ font-family: var(--font-mono);
318
+ font-size: 14px;
319
+ font-style: normal;
320
+ font-weight: 400;
321
+ line-height: normal;
322
+ text-decoration: none;
323
+ }
324
+
325
+ [data-slot="pricing"] {
326
+ display: flex;
327
+ flex-direction: column;
328
+ gap: 16px;
329
+ width: 100%;
330
+ max-width: 660px;
331
+ padding: 0 20px;
332
+
333
+ @media (min-width: 768px) {
334
+ padding: 0;
335
+ }
336
+ }
337
+
338
+ [data-slot="pricing-card"] {
339
+ display: flex;
340
+ flex-direction: column;
341
+ gap: 12px;
342
+ padding: 24px;
343
+ border: 1px solid rgba(255, 255, 255, 0.17);
344
+ background: black;
345
+ background-clip: padding-box;
346
+ border-radius: 4px;
347
+ text-decoration: none;
348
+ transition: border-color 0.15s ease;
349
+ cursor: pointer;
350
+ text-align: left;
351
+
352
+ @media (max-width: 480px) {
353
+ padding: 16px;
354
+ }
355
+
356
+ &:hover:not(:active) {
357
+ border-color: rgba(255, 255, 255, 0.35);
358
+ }
359
+
360
+ [data-slot="icon"] {
361
+ color: rgba(255, 255, 255, 0.59);
362
+ }
363
+
364
+ [data-slot="price"] {
365
+ display: flex;
366
+ flex-wrap: wrap;
367
+ align-items: baseline;
368
+ gap: 8px;
369
+ }
370
+
371
+ [data-slot="amount"] {
372
+ color: rgba(255, 255, 255, 0.92);
373
+ font-size: 24px;
374
+ font-weight: 500;
375
+ }
376
+
377
+ [data-slot="period"] {
378
+ color: rgba(255, 255, 255, 0.59);
379
+ font-size: 14px;
380
+ }
381
+
382
+ [data-slot="multiplier"] {
383
+ color: rgba(255, 255, 255, 0.39);
384
+ font-size: 14px;
385
+
386
+ &::before {
387
+ content: "·";
388
+ margin-right: 8px;
389
+ }
390
+ }
391
+ }
392
+
393
+ [data-slot="selected-plan"] {
394
+ display: flex;
395
+ flex-direction: column;
396
+ gap: 32px;
397
+ width: 100%;
398
+ max-width: 660px;
399
+ margin: 0 auto;
400
+ position: relative;
401
+ background-color: rgba(0, 0, 0, 0.75);
402
+ z-index: 1;
403
+
404
+ @media (max-width: 480px) {
405
+ margin: 0 20px;
406
+ width: calc(100% - 40px);
407
+ }
408
+ }
409
+
410
+ [data-slot="selected-card"] {
411
+ display: flex;
412
+ flex-direction: column;
413
+ gap: 12px;
414
+ padding: 24px;
415
+ border: 1px solid rgba(255, 255, 255, 0.17);
416
+ border-radius: 4px;
417
+ width: 100%;
418
+
419
+ [data-slot="icon"] {
420
+ color: rgba(255, 255, 255, 0.59);
421
+ }
422
+
423
+ [data-slot="price"] {
424
+ display: flex;
425
+ flex-wrap: wrap;
426
+ align-items: baseline;
427
+ gap: 8px;
428
+ }
429
+
430
+ [data-slot="amount"] {
431
+ color: rgba(255, 255, 255, 0.92);
432
+ font-size: 24px;
433
+ font-weight: 500;
434
+ }
435
+
436
+ [data-slot="period"] {
437
+ color: rgba(255, 255, 255, 0.59);
438
+ font-size: 14px;
439
+ }
440
+
441
+ [data-slot="multiplier"] {
442
+ color: rgba(255, 255, 255, 0.39);
443
+ font-size: 14px;
444
+
445
+ &::before {
446
+ content: "·";
447
+ margin-right: 8px;
448
+ }
449
+ }
450
+
451
+ [data-slot="terms"] {
452
+ list-style: none;
453
+ padding: 0;
454
+ margin: 0;
455
+ display: flex;
456
+ flex-direction: column;
457
+ gap: 8px;
458
+ text-align: left;
459
+
460
+ li {
461
+ color: rgba(255, 255, 255, 0.59);
462
+ font-size: 14px;
463
+ line-height: 1.5;
464
+ padding-left: 16px;
465
+ position: relative;
466
+
467
+ &::before {
468
+ content: "▪";
469
+ position: absolute;
470
+ left: 0;
471
+ color: rgba(255, 255, 255, 0.39);
472
+ }
473
+
474
+ @media (max-width: 768px) {
475
+ font-size: 12px;
476
+ }
477
+ }
478
+ }
479
+
480
+ [data-slot="actions"] {
481
+ display: flex;
482
+ gap: 16px;
483
+ margin-top: 8px;
484
+
485
+ button,
486
+ a {
487
+ flex: 1;
488
+ display: inline-flex;
489
+ height: 48px;
490
+ padding: 0 16px;
491
+ justify-content: center;
492
+ align-items: center;
493
+ border-radius: 4px;
494
+ font-family: var(--font-mono);
495
+ font-size: 16px;
496
+ font-weight: 400;
497
+ text-decoration: none;
498
+ cursor: pointer;
499
+ }
500
+
501
+ [data-slot="cancel"] {
502
+ background: rgba(255, 255, 255, 0.05);
503
+ border: 1px solid rgba(255, 255, 255, 0.17);
504
+ color: rgba(255, 255, 255, 0.92);
505
+ transition-property: background-color, border-color;
506
+ transition-duration: 150ms;
507
+ transition-timing-function: cubic-bezier(0.25, 0, 0.5, 1);
508
+
509
+ &:hover {
510
+ background-color: rgba(255, 255, 255, 0.08);
511
+ border-color: rgba(255, 255, 255, 0.25);
512
+ }
513
+ }
514
+
515
+ [data-slot="continue"] {
516
+ background: rgb(255, 255, 255);
517
+ color: rgb(0, 0, 0);
518
+ transition: background-color 150ms cubic-bezier(0.25, 0, 0.5, 1);
519
+
520
+ &:hover {
521
+ background: rgba(255, 255, 255, 0.9);
522
+ }
523
+ }
524
+ }
525
+ }
526
+
527
+ [data-slot="fine-print"] {
528
+ color: rgba(255, 255, 255, 0.39);
529
+ text-align: center;
530
+ font-size: 13px;
531
+ font-style: normal;
532
+ font-weight: 400;
533
+ line-height: 160%; /* 20.8px */
534
+ font-style: italic;
535
+
536
+ a {
537
+ color: rgba(255, 255, 255, 0.39);
538
+ text-decoration: underline;
539
+ }
540
+ }
541
+ }
542
+
543
+ /* Subscribe page styles */
544
+ [data-slot="subscribe-form"] {
545
+ display: flex;
546
+ flex-direction: column;
547
+ gap: 32px;
548
+ align-items: center;
549
+ margin-top: -18px;
550
+ width: 100%;
551
+ max-width: 660px;
552
+ padding: 0 20px;
553
+
554
+ @media (min-width: 768px) {
555
+ margin-top: 40px;
556
+ padding: 0;
557
+ }
558
+
559
+ [data-slot="form-card"] {
560
+ width: 100%;
561
+ border: 1px solid rgba(255, 255, 255, 0.17);
562
+ border-radius: 4px;
563
+ padding: 24px;
564
+ display: flex;
565
+ flex-direction: column;
566
+ gap: 20px;
567
+ }
568
+
569
+ [data-slot="plan-header"] {
570
+ display: flex;
571
+ flex-direction: column;
572
+ gap: 8px;
573
+ }
574
+
575
+ [data-slot="title"] {
576
+ color: rgba(255, 255, 255, 0.92);
577
+ font-size: 16px;
578
+ font-weight: 400;
579
+ margin-bottom: 8px;
580
+ }
581
+
582
+ [data-slot="icon"] {
583
+ color: rgba(255, 255, 255, 0.59);
584
+ isolation: isolate;
585
+ transform: translateZ(0);
586
+ }
587
+
588
+ [data-slot="price"] {
589
+ display: flex;
590
+ flex-wrap: wrap;
591
+ align-items: baseline;
592
+ gap: 8px;
593
+ }
594
+
595
+ [data-slot="amount"] {
596
+ color: rgba(255, 255, 255, 0.92);
597
+ font-size: 24px;
598
+ font-weight: 500;
599
+ }
600
+
601
+ [data-slot="period"] {
602
+ color: rgba(255, 255, 255, 0.59);
603
+ font-size: 14px;
604
+ }
605
+
606
+ [data-slot="multiplier"] {
607
+ color: rgba(255, 255, 255, 0.39);
608
+ font-size: 14px;
609
+
610
+ &::before {
611
+ content: "·";
612
+ margin: 0 8px;
613
+ }
614
+ }
615
+
616
+ [data-slot="divider"] {
617
+ height: 1px;
618
+ background: rgba(255, 255, 255, 0.17);
619
+ }
620
+
621
+ [data-slot="section-title"] {
622
+ color: rgba(255, 255, 255, 0.92);
623
+ font-size: 16px;
624
+ font-weight: 400;
625
+ }
626
+
627
+ [data-slot="checkout-form"] {
628
+ display: flex;
629
+ flex-direction: column;
630
+ gap: 20px;
631
+ }
632
+
633
+ [data-slot="error"] {
634
+ color: #ff6b6b;
635
+ font-size: 14px;
636
+ }
637
+
638
+ [data-slot="submit-button"] {
639
+ width: 100%;
640
+ height: 48px;
641
+ background: rgba(255, 255, 255, 0.92);
642
+ border: none;
643
+ border-radius: 4px;
644
+ color: #000;
645
+ font-family: var(--font-mono);
646
+ font-size: 16px;
647
+ font-weight: 500;
648
+ cursor: pointer;
649
+ transition: background 0.15s ease;
650
+
651
+ &:hover:not(:disabled) {
652
+ background: #e0e0e0;
653
+ }
654
+
655
+ &:disabled {
656
+ opacity: 0.5;
657
+ cursor: not-allowed;
658
+ }
659
+ }
660
+
661
+ [data-slot="charge-notice"] {
662
+ color: #d4a500;
663
+ font-size: 14px;
664
+ text-align: center;
665
+ }
666
+
667
+ [data-slot="loading"] {
668
+ display: flex;
669
+ justify-content: center;
670
+ padding: 40px 0;
671
+
672
+ p {
673
+ color: rgba(255, 255, 255, 0.59);
674
+ font-size: 14px;
675
+ }
676
+ }
677
+
678
+ [data-slot="fine-print"] {
679
+ color: rgba(255, 255, 255, 0.39);
680
+ text-align: center;
681
+ font-size: 13px;
682
+ font-style: italic;
683
+ view-transition-name: fine-print;
684
+
685
+ a {
686
+ color: rgba(255, 255, 255, 0.39);
687
+ text-decoration: underline;
688
+ }
689
+ }
690
+
691
+ [data-slot="workspace-picker"] {
692
+ [data-slot="workspace-list"] {
693
+ width: 100%;
694
+ padding: 0;
695
+ margin: 0;
696
+ list-style: none;
697
+ display: flex;
698
+ flex-direction: column;
699
+ align-items: flex-start;
700
+ gap: 8px;
701
+ align-self: stretch;
702
+ outline: none;
703
+ overflow-y: auto;
704
+ max-height: 240px;
705
+ scrollbar-width: none;
706
+
707
+ &::-webkit-scrollbar {
708
+ display: none;
709
+ }
710
+
711
+ [data-slot="workspace-item"] {
712
+ width: 100%;
713
+ display: flex;
714
+ padding: 8px 12px;
715
+ align-items: center;
716
+ gap: 8px;
717
+ align-self: stretch;
718
+ cursor: pointer;
719
+
720
+ [data-slot="selected-icon"] {
721
+ visibility: hidden;
722
+ color: rgba(255, 255, 255, 0.39);
723
+ font-family: "IBM Plex Mono", monospace;
724
+ font-size: 16px;
725
+ font-style: normal;
726
+ font-weight: 400;
727
+ line-height: 160%;
728
+ }
729
+
730
+ span:last-child {
731
+ color: rgba(255, 255, 255, 0.92);
732
+ font-size: 16px;
733
+ font-style: normal;
734
+ font-weight: 400;
735
+ line-height: 160%;
736
+ }
737
+
738
+ &:hover,
739
+ &[data-active="true"] {
740
+ background: #161616;
741
+
742
+ [data-slot="selected-icon"] {
743
+ visibility: visible;
744
+ }
745
+ }
746
+ }
747
+ }
748
+ }
749
+ }
750
+ }
751
+
752
+ [data-component="footer"] {
753
+ display: flex;
754
+ flex-direction: column;
755
+ width: 100%;
756
+ justify-content: center;
757
+ align-items: center;
758
+ gap: 24px;
759
+ flex-shrink: 0;
760
+
761
+ @media (min-width: 768px) {
762
+ height: 120px;
763
+ }
764
+
765
+ [data-slot="footer-content"] {
766
+ display: flex;
767
+ gap: 24px;
768
+ align-items: center;
769
+ justify-content: center;
770
+
771
+ @media (min-width: 768px) {
772
+ gap: 40px;
773
+ }
774
+
775
+ span,
776
+ a {
777
+ color: rgba(255, 255, 255, 0.39);
778
+ font-family: "JetBrains Mono Nerd Font";
779
+ font-size: 16px;
780
+ font-style: normal;
781
+ font-weight: 400;
782
+ line-height: normal;
783
+ text-decoration: none;
784
+ }
785
+
786
+ [data-slot="github-stars"] {
787
+ color: rgba(255, 255, 255, 0.25);
788
+ font-family: "JetBrains Mono Nerd Font";
789
+ font-size: 16px;
790
+ font-style: normal;
791
+ font-weight: 400;
792
+ line-height: normal;
793
+ }
794
+
795
+ [data-slot="anomaly"] {
796
+ display: none;
797
+
798
+ @media (min-width: 768px) {
799
+ display: block;
800
+ }
801
+ }
802
+ }
803
+ [data-slot="anomaly-alt"] {
804
+ color: rgba(255, 255, 255, 0.39);
805
+ font-family: "JetBrains Mono Nerd Font";
806
+ font-size: 16px;
807
+ font-style: normal;
808
+ font-weight: 400;
809
+ line-height: normal;
810
+ text-decoration: none;
811
+ margin-bottom: 24px;
812
+
813
+ a {
814
+ color: rgba(255, 255, 255, 0.39);
815
+ font-family: "JetBrains Mono Nerd Font";
816
+ font-size: 16px;
817
+ font-style: normal;
818
+ font-weight: 400;
819
+ line-height: normal;
820
+ text-decoration: none;
821
+ }
822
+
823
+ @media (min-width: 768px) {
824
+ display: none;
825
+ }
826
+ }
827
+ }
828
+ }