@deepgram/styles 0.2.10 → 0.2.12

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 (182) hide show
  1. package/LICENSE +12 -19
  2. package/README.md +354 -386
  3. package/design-system.yaml +3742 -3869
  4. package/dist/deepgram.css +1 -1
  5. package/dist/deepgram.expanded.css +750 -1607
  6. package/dist/logo/lettermark-circle-dark.svg +15 -0
  7. package/dist/logo/lettermark-circle-light.svg +15 -0
  8. package/dist/logo/lettermark-circle.svg +27 -0
  9. package/dist/logo/lettermark-dark.svg +3 -0
  10. package/dist/logo/lettermark-light.svg +3 -0
  11. package/dist/logo/lettermark-square-dark.svg +10 -0
  12. package/dist/logo/lettermark-square-light.svg +10 -0
  13. package/dist/logo/lettermark-square.svg +22 -0
  14. package/dist/logo/lettermark.svg +9 -0
  15. package/dist/logo/wordmark-dark.svg +4 -0
  16. package/dist/logo/wordmark-light.svg +4 -0
  17. package/dist/logo/wordmark.svg +10 -0
  18. package/dist/react/ActionGroup.d.ts +4 -0
  19. package/dist/react/ActionGroup.js +9 -0
  20. package/dist/react/Alert.d.ts +34 -0
  21. package/dist/react/Alert.js +71 -0
  22. package/dist/react/Btn.d.ts +11 -0
  23. package/dist/react/Btn.js +16 -0
  24. package/dist/react/BtnCollapse.d.ts +4 -0
  25. package/dist/react/BtnCollapse.js +9 -0
  26. package/dist/react/BtnDangerGhost.d.ts +4 -0
  27. package/dist/react/BtnDangerGhost.js +9 -0
  28. package/dist/react/BtnGhost.d.ts +4 -0
  29. package/dist/react/BtnGhost.js +9 -0
  30. package/dist/react/BtnIcon.d.ts +4 -0
  31. package/dist/react/BtnIcon.js +9 -0
  32. package/dist/react/BtnSecondary.d.ts +4 -0
  33. package/dist/react/BtnSecondary.js +9 -0
  34. package/dist/react/BtnSmall.d.ts +4 -0
  35. package/dist/react/BtnSmall.js +9 -0
  36. package/dist/react/Card.d.ts +26 -0
  37. package/dist/react/Card.js +51 -0
  38. package/dist/react/CardHeading.d.ts +4 -0
  39. package/dist/react/CardHeading.js +9 -0
  40. package/dist/react/CardHeadings.d.ts +7 -0
  41. package/dist/react/CardHeadings.js +16 -0
  42. package/dist/react/Checkbox.d.ts +4 -0
  43. package/dist/react/Checkbox.js +9 -0
  44. package/dist/react/CheckboxDescription.d.ts +4 -0
  45. package/dist/react/CheckboxDescription.js +9 -0
  46. package/dist/react/CheckboxGroup.d.ts +4 -0
  47. package/dist/react/CheckboxGroup.js +9 -0
  48. package/dist/react/CheckboxLabel.d.ts +4 -0
  49. package/dist/react/CheckboxLabel.js +9 -0
  50. package/dist/react/CodeBlock.d.ts +7 -0
  51. package/dist/react/CodeBlock.js +12 -0
  52. package/dist/react/Columns.d.ts +25 -0
  53. package/dist/react/Columns.js +44 -0
  54. package/dist/react/ConstrainWidth.d.ts +4 -0
  55. package/dist/react/ConstrainWidth.js +9 -0
  56. package/dist/react/DragDropZone.d.ts +17 -0
  57. package/dist/react/DragDropZone.js +38 -0
  58. package/dist/react/Footer.d.ts +10 -0
  59. package/dist/react/Footer.js +23 -0
  60. package/dist/react/FormError.d.ts +4 -0
  61. package/dist/react/FormError.js +9 -0
  62. package/dist/react/FormField.d.ts +4 -0
  63. package/dist/react/FormField.js +9 -0
  64. package/dist/react/FormHelper.d.ts +4 -0
  65. package/dist/react/FormHelper.js +9 -0
  66. package/dist/react/FormLabel.d.ts +4 -0
  67. package/dist/react/FormLabel.js +9 -0
  68. package/dist/react/GridMobileStack.d.ts +4 -0
  69. package/dist/react/GridMobileStack.js +9 -0
  70. package/dist/react/Header.d.ts +25 -0
  71. package/dist/react/Header.js +58 -0
  72. package/dist/react/Hero.d.ts +25 -0
  73. package/dist/react/Hero.js +58 -0
  74. package/dist/react/Icon.d.ts +5 -0
  75. package/dist/react/Icon.js +10 -0
  76. package/dist/react/Input.d.ts +6 -0
  77. package/dist/react/Input.js +11 -0
  78. package/dist/react/ItemTitle.d.ts +4 -0
  79. package/dist/react/ItemTitle.js +9 -0
  80. package/dist/react/Link.d.ts +4 -0
  81. package/dist/react/Link.js +9 -0
  82. package/dist/react/Modal.d.ts +8 -0
  83. package/dist/react/Modal.js +17 -0
  84. package/dist/react/Newsletter.d.ts +8 -0
  85. package/dist/react/Newsletter.js +17 -0
  86. package/dist/react/Option.d.ts +4 -0
  87. package/dist/react/Option.js +9 -0
  88. package/dist/react/PageHeading.d.ts +10 -0
  89. package/dist/react/PageHeading.js +23 -0
  90. package/dist/react/PageHeadings.d.ts +13 -0
  91. package/dist/react/PageHeadings.js +30 -0
  92. package/dist/react/Prose.d.ts +6 -0
  93. package/dist/react/Prose.js +11 -0
  94. package/dist/react/Radio.d.ts +4 -0
  95. package/dist/react/Radio.js +9 -0
  96. package/dist/react/RadioDescription.d.ts +7 -0
  97. package/dist/react/RadioDescription.js +16 -0
  98. package/dist/react/RadioGroup.d.ts +4 -0
  99. package/dist/react/RadioGroup.js +9 -0
  100. package/dist/react/RadioLabel.d.ts +4 -0
  101. package/dist/react/RadioLabel.js +9 -0
  102. package/dist/react/Section.d.ts +9 -0
  103. package/dist/react/Section.js +14 -0
  104. package/dist/react/SectionHeading.d.ts +4 -0
  105. package/dist/react/SectionHeading.js +9 -0
  106. package/dist/react/Select.d.ts +4 -0
  107. package/dist/react/Select.js +9 -0
  108. package/dist/react/Spinner.d.ts +7 -0
  109. package/dist/react/Spinner.js +16 -0
  110. package/dist/react/Status.d.ts +12 -0
  111. package/dist/react/Status.js +17 -0
  112. package/dist/react/TextUtilities.d.ts +4 -0
  113. package/dist/react/TextUtilities.js +9 -0
  114. package/dist/react/Textarea.d.ts +4 -0
  115. package/dist/react/Textarea.js +9 -0
  116. package/dist/react/Toggle.d.ts +4 -0
  117. package/dist/react/Toggle.js +9 -0
  118. package/dist/react/ToggleGroup.d.ts +4 -0
  119. package/dist/react/ToggleGroup.js +9 -0
  120. package/dist/react/ToggleLabel.d.ts +4 -0
  121. package/dist/react/ToggleLabel.js +9 -0
  122. package/dist/react/index.d.ts +43 -0
  123. package/dist/react/index.js +43 -0
  124. package/dist/utils.d.ts +16 -0
  125. package/dist/utils.js +50 -0
  126. package/lib/deepgram.css +595 -752
  127. package/lib/tailwind-theme.css +27 -22
  128. package/package.json +54 -3
  129. package/src/react/ActionGroup.tsx +14 -0
  130. package/src/react/Alert.tsx +130 -0
  131. package/src/react/Btn.tsx +28 -0
  132. package/src/react/BtnCollapse.tsx +14 -0
  133. package/src/react/BtnDangerGhost.tsx +14 -0
  134. package/src/react/BtnGhost.tsx +14 -0
  135. package/src/react/BtnIcon.tsx +14 -0
  136. package/src/react/BtnSecondary.tsx +14 -0
  137. package/src/react/BtnSmall.tsx +14 -0
  138. package/src/react/Card.tsx +93 -0
  139. package/src/react/CardHeading.tsx +14 -0
  140. package/src/react/CardHeadings.tsx +27 -0
  141. package/src/react/Checkbox.tsx +14 -0
  142. package/src/react/CheckboxDescription.tsx +14 -0
  143. package/src/react/CheckboxGroup.tsx +14 -0
  144. package/src/react/CheckboxLabel.tsx +14 -0
  145. package/src/react/CodeBlock.tsx +20 -0
  146. package/src/react/Columns.tsx +82 -0
  147. package/src/react/ConstrainWidth.tsx +14 -0
  148. package/src/react/DragDropZone.tsx +68 -0
  149. package/src/react/Footer.tsx +40 -0
  150. package/src/react/FormError.tsx +14 -0
  151. package/src/react/FormField.tsx +14 -0
  152. package/src/react/FormHelper.tsx +14 -0
  153. package/src/react/FormLabel.tsx +14 -0
  154. package/src/react/GridMobileStack.tsx +14 -0
  155. package/src/react/Header.tsx +105 -0
  156. package/src/react/Hero.tsx +105 -0
  157. package/src/react/Icon.tsx +16 -0
  158. package/src/react/Input.tsx +18 -0
  159. package/src/react/ItemTitle.tsx +14 -0
  160. package/src/react/Link.tsx +14 -0
  161. package/src/react/Modal.tsx +29 -0
  162. package/src/react/Newsletter.tsx +29 -0
  163. package/src/react/Option.tsx +14 -0
  164. package/src/react/PageHeading.tsx +40 -0
  165. package/src/react/PageHeadings.tsx +53 -0
  166. package/src/react/Prose.tsx +18 -0
  167. package/src/react/Radio.tsx +14 -0
  168. package/src/react/RadioDescription.tsx +27 -0
  169. package/src/react/RadioGroup.tsx +14 -0
  170. package/src/react/RadioLabel.tsx +14 -0
  171. package/src/react/Section.tsx +24 -0
  172. package/src/react/SectionHeading.tsx +14 -0
  173. package/src/react/Select.tsx +14 -0
  174. package/src/react/Spinner.tsx +27 -0
  175. package/src/react/Status.tsx +30 -0
  176. package/src/react/TextUtilities.tsx +14 -0
  177. package/src/react/Textarea.tsx +14 -0
  178. package/src/react/Toggle.tsx +14 -0
  179. package/src/react/ToggleGroup.tsx +14 -0
  180. package/src/react/ToggleLabel.tsx +14 -0
  181. package/src/react/index.ts +43 -0
  182. package/src/utils.ts +60 -0
package/lib/deepgram.css CHANGED
@@ -38,31 +38,31 @@
38
38
  }
39
39
 
40
40
  .dg-btn--primary {
41
- @apply border border-transparent relative text-white dg-gradient-border dg-glow-cyan-green;
41
+ @apply border border-transparent relative text-dg-solid dg-gradient-border dg-glow-cyan-green;
42
42
  }
43
43
 
44
44
  .dg-btn--primary:hover {
45
- @apply border-transparent text-black dg-bg-reset bg-white dg-shadow-subtle;
45
+ @apply border-transparent text-dg-on-solid dg-bg-reset bg-dg-solid dg-shadow-subtle;
46
46
  }
47
47
 
48
48
  .dg-btn--secondary {
49
- @apply border border-transparent bg-white text-black;
49
+ @apply border border-transparent bg-dg-solid text-dg-on-solid;
50
50
  }
51
51
 
52
52
  .dg-btn--secondary:hover {
53
- @apply border border-white bg-black text-white;
53
+ @apply border border-dg-solid bg-dg-on-solid text-dg-solid;
54
54
  }
55
55
 
56
56
  .dg-btn--ghost {
57
- @apply border border-dg-slate bg-transparent text-white;
57
+ @apply border border-dg-slate bg-dg-on-solid text-dg-solid;
58
58
  }
59
59
 
60
60
  .dg-btn--ghost:hover {
61
- @apply border-transparent text-black dg-bg-reset bg-white dg-shadow-subtle;
61
+ @apply border-transparent text-dg-on-solid dg-bg-reset bg-dg-solid dg-shadow-subtle;
62
62
  }
63
63
 
64
64
  .dg-btn--danger-ghost {
65
- @apply border border-dg-danger bg-transparent text-white;
65
+ @apply border border-dg-danger bg-dg-on-solid text-dg-solid;
66
66
  }
67
67
 
68
68
  .dg-btn--danger-ghost:hover {
@@ -73,10 +73,6 @@
73
73
  @apply px-2 size-12;
74
74
  }
75
75
 
76
- .dg-btn--icon-only.dg-btn--sm {
77
- @apply size-6;
78
- }
79
-
80
76
  .dg-btn--collapse {
81
77
  @apply inline-flex;
82
78
  }
@@ -87,36 +83,42 @@
87
83
  }
88
84
  }
89
85
 
86
+ .dg-btn--icon-only.dg-btn--sm {
87
+ @apply size-6;
88
+ }
89
+
90
90
  .dg-btn i, .dg-btn svg {
91
91
  flex-shrink: 0;
92
92
  }
93
93
 
94
- /* Secondary Button */
95
-
96
- /* Ghost Button */
97
-
98
- /* Danger Ghost Button */
94
+ /* Button Group */
99
95
 
100
- /* Icon Button */
96
+ .dg-action-group {
97
+ @apply inline-flex flex-wrap gap-0;
98
+ }
101
99
 
102
- /* Small Button */
100
+ .dg-action-group > .dg-btn:not(:first-child) {
101
+ @apply rounded-l-none border-l-0;
102
+ }
103
103
 
104
- /* Collapse Button */
104
+ .dg-action-group > .dg-btn:not(.dg-btn--primary):not(:last-child) {
105
+ @apply rounded-r-none;
106
+ }
105
107
 
106
- /* Button Group */
108
+ .dg-action-group > .dg-btn--primary:not(:last-child) {
109
+ @apply rounded-r-none;
110
+ }
107
111
 
108
- .dg-action-group {
109
- @apply flex flex-wrap justify-center gap-4;
112
+ .dg-action-group > .dg-btn--primary:not(:first-child):not(:last-child) {
113
+ box-shadow: none;
110
114
  }
111
115
 
112
- @media (max-width: 640px) {
113
- .dg-action-group {
114
- @apply flex-col items-stretch;
115
- }
116
+ .dg-action-group > .dg-btn--primary:first-child:not(:last-child) {
117
+ box-shadow: color-mix(in srgb, var(--dg-secondary, #149afb) 20%, transparent) -0.375rem 0 0.9375rem 0;
118
+ }
116
119
 
117
- .dg-action-group .dg-btn {
118
- @apply w-full;
119
- }
120
+ .dg-action-group > .dg-btn--primary:last-child:not(:first-child) {
121
+ box-shadow: color-mix(in srgb, var(--dg-primary, #13ef95) 20%, transparent) 0.375rem 0 0.9375rem 0;
120
122
  }
121
123
 
122
124
  /* Section */
@@ -178,21 +180,14 @@
178
180
  padding-top: 2rem;
179
181
  }
180
182
 
181
- .dg-section--fieldset .dg-section-heading {
182
- @apply absolute bg-dg-background text-dg-muted uppercase tracking-wide font-semibold;
183
- @apply text-base px-2 m-0;
184
- top: -0.75rem;
185
- left: 1rem;
186
- }
187
-
188
183
  @media (min-width: 640px) {
189
184
  .dg-section--fieldset {
190
185
  padding-top: 2.5rem;
191
186
  }
187
+ }
192
188
 
193
- .dg-section--fieldset .dg-section-heading {
194
- font-size: 1.125rem;
195
- }
189
+ .dg-section--fieldset .dg-section-heading {
190
+ font-size: 1.125rem;
196
191
  }
197
192
 
198
193
  /* Card */
@@ -261,34 +256,12 @@
261
256
  @apply border-dg-slate;
262
257
  }
263
258
 
264
- .dg-card--selectable:has(input[type="radio"]:checked) {
265
- @apply border-dg-primary;
266
- background: rgba(19, 239, 149, 0.05);
267
- }
268
-
269
- .dg-sr-only {
270
- @apply sr-only;
271
- }
272
-
273
- .dg-card--selectable input[type="radio"] {
274
- @apply sr-only;
275
- }
276
-
277
- .dg-card--selectable__indicator {
278
- @apply hidden;
279
- }
280
-
281
- .dg-card--selectable__icon {
282
- @apply text-white;
283
- margin-right: 0.5rem;
284
- }
285
-
286
259
  .dg-card--selectable__content {
287
260
  @apply flex-1 flex flex-col gap-1;
288
261
  }
289
262
 
290
263
  .dg-card--selectable .dg-item-title {
291
- @apply text-base font-semibold text-white;
264
+ @apply text-base font-semibold text-dg-text;
292
265
  display: flex;
293
266
  align-items: center;
294
267
  }
@@ -330,26 +303,12 @@
330
303
  @apply border-dg-slate;
331
304
  }
332
305
 
333
- .dg-card--file-upload:has(input[type="checkbox"]:checked) {
334
- @apply border-dg-primary border-solid;
335
- background: rgba(19, 239, 149, 0.05);
336
- }
337
-
338
- .dg-card--file-upload input[type="file"], .dg-card--file-upload input[type="checkbox"] {
339
- @apply sr-only;
340
- }
341
-
342
- .dg-card--file-upload__icon {
343
- @apply text-white;
344
- margin-right: 0.5rem;
345
- }
346
-
347
306
  .dg-card--file-upload__content {
348
307
  @apply flex-1 flex flex-col gap-1;
349
308
  }
350
309
 
351
310
  .dg-card--file-upload .dg-item-title {
352
- @apply text-base font-semibold text-white;
311
+ @apply text-base font-semibold text-dg-text;
353
312
  display: flex;
354
313
  align-items: center;
355
314
  }
@@ -387,44 +346,8 @@
387
346
  border-radius: 0.5rem 0.5rem 0 0;
388
347
  }
389
348
 
390
- .dg-card__image img {
391
- @apply w-full h-full object-cover block;
392
- }
393
-
394
- .dg-card__image--small {
395
- @apply h-[7.5rem];
396
- }
397
-
398
- .dg-card__image--medium {
399
- @apply h-[10rem];
400
- }
401
-
402
- .dg-card__image--large {
403
- @apply h-[15rem];
404
- }
405
-
406
- .dg-card__image--aspect-4-3 {
407
- @apply aspect-[4/3] h-auto;
408
- }
409
-
410
349
  .dg-card__icon {
411
- @apply flex items-center p-3 pt-6;
412
- }
413
-
414
- .dg-card__icon i, .dg-card__icon svg {
415
- @apply text-5xl text-dg-primary;
416
- }
417
-
418
- .dg-card__icon--left {
419
- @apply justify-start;
420
- }
421
-
422
- .dg-card__icon--center {
423
- @apply justify-center;
424
- }
425
-
426
- .dg-card__icon--right {
427
- @apply justify-end;
350
+ @apply flex items-center p-3 pt-6 text-5xl text-dg-primary;
428
351
  }
429
352
 
430
353
  @media (min-width: 640px) {
@@ -456,24 +379,100 @@
456
379
  }
457
380
 
458
381
  .dg-card__body {
459
- @apply flex flex-col gap-3 p-3 flex-1;
382
+ @apply flex flex-col gap-3 flex-1;
383
+ }
384
+
385
+ .dg-card__footer {
386
+ @apply flex items-center gap-3 p-3 border-t border-transparent;
387
+ @apply mt-auto;
460
388
  }
461
389
 
462
390
  @media (min-width: 640px) {
463
- .dg-card__body {
391
+ .dg-card__footer {
464
392
  @apply p-4;
465
393
  }
466
394
  }
467
395
 
468
396
  @media (min-width: 1024px) {
469
- .dg-card__body {
470
- @apply px-6 pb-6 pt-0;
397
+ .dg-card__footer {
398
+ @apply p-6;
471
399
  }
472
400
  }
473
401
 
474
- .dg-card__footer {
475
- @apply flex items-center gap-3 p-3 border-t border-transparent;
476
- @apply mt-auto;
402
+ .dg-card--selectable:has(input[type="radio"]:checked) {
403
+ @apply border-dg-primary;
404
+ background: color-mix(in srgb, var(--dg-primary) 5%, transparent);
405
+ }
406
+
407
+ .dg-sr-only {
408
+ @apply sr-only;
409
+ }
410
+
411
+ .dg-card--selectable input[type="radio"] {
412
+ @apply sr-only;
413
+ }
414
+
415
+ .dg-card--selectable__indicator {
416
+ @apply hidden;
417
+ }
418
+
419
+ .dg-card--selectable__icon {
420
+ @apply text-dg-text;
421
+ margin-right: 0.5rem;
422
+ }
423
+
424
+ .dg-card--file-upload:has(input[type="checkbox"]:checked) {
425
+ @apply border-dg-primary border-solid;
426
+ background: color-mix(in srgb, var(--dg-primary) 5%, transparent);
427
+ }
428
+
429
+ .dg-card--file-upload input[type="file"], .dg-card--file-upload input[type="checkbox"] {
430
+ @apply sr-only;
431
+ }
432
+
433
+ .dg-card--file-upload__icon {
434
+ @apply text-dg-text;
435
+ margin-right: 0.5rem;
436
+ }
437
+
438
+ .dg-card__image img {
439
+ @apply w-full h-full object-cover block;
440
+ }
441
+
442
+ .dg-card__image--small {
443
+ @apply h-[7.5rem];
444
+ }
445
+
446
+ .dg-card__image--medium {
447
+ @apply h-[10rem];
448
+ }
449
+
450
+ .dg-card__image--large {
451
+ @apply h-[15rem];
452
+ }
453
+
454
+ .dg-card__image--aspect-4-3 {
455
+ @apply aspect-[4/3] h-auto;
456
+ }
457
+
458
+ .dg-card__icon--left {
459
+ @apply justify-start;
460
+ }
461
+
462
+ .dg-card__icon--center {
463
+ @apply justify-center;
464
+ }
465
+
466
+ .dg-card__icon--right {
467
+ @apply justify-end;
468
+ }
469
+
470
+ .dg-card--structured .dg-card__body {
471
+ @apply p-3;
472
+ }
473
+
474
+ .dg-card__body > :last-child {
475
+ @apply mb-0;
477
476
  }
478
477
 
479
478
  .dg-card__footer--bordered {
@@ -481,14 +480,14 @@
481
480
  }
482
481
 
483
482
  @media (min-width: 640px) {
484
- .dg-card__footer {
483
+ .dg-card--structured .dg-card__body {
485
484
  @apply p-4;
486
485
  }
487
486
  }
488
487
 
489
488
  @media (min-width: 1024px) {
490
- .dg-card__footer {
491
- @apply p-6;
489
+ .dg-card--structured .dg-card__body {
490
+ @apply px-6 pb-6 pt-0;
492
491
  }
493
492
  }
494
493
 
@@ -500,20 +499,10 @@
500
499
  -webkit-overflow-scrolling: touch;
501
500
  }
502
501
 
503
- .dg-code-block pre {
504
- @apply m-0 p-0 font-dg-mono text-xs text-dg-fog whitespace-pre-wrap;
505
- @apply break-words;
506
- line-height: 1.3;
507
- }
508
-
509
502
  @media (min-width: 640px) {
510
503
  .dg-code-block {
511
504
  @apply p-3 my-4 max-h-[15.625rem];
512
505
  }
513
-
514
- .dg-code-block pre {
515
- @apply text-sm;
516
- }
517
506
  }
518
507
 
519
508
  @media (min-width: 1024px) {
@@ -552,21 +541,32 @@
552
541
  @apply overflow-visible max-h-none;
553
542
  }
554
543
 
555
- /* Hero Section */
556
-
557
- .dg-hero-title {
558
- @apply text-center font-bold font-dg-noto text-5xl leading-tight mb-6;
559
- @apply bg-gradient-to-r from-dg-secondary to-dg-primary bg-clip-text;
560
- -webkit-text-fill-color: transparent;
561
- letter-spacing: -0.02em;
562
- font-feature-settings: "liga" 0, "dlig" 0, "hlig" 0, "ordn" 0, "ss09", "kern";
563
- font-kerning: normal;
544
+ .dg-code-block pre {
545
+ @apply text-sm;
564
546
  }
565
547
 
548
+ /* Hero Section */
549
+
566
550
  .dg-hero {
567
551
  @apply w-full text-center py-16 px-4;
568
552
  }
569
553
 
554
+ @media (max-width: 768px) {
555
+ .dg-hero {
556
+ @apply py-12 px-4;
557
+ }
558
+ }
559
+
560
+ @media (max-width: 640px) {
561
+ .dg-hero {
562
+ @apply py-8 px-4;
563
+ }
564
+ }
565
+
566
+ .dg-hero__title {
567
+ @apply text-2xl;
568
+ }
569
+
570
570
  .dg-hero__content {
571
571
  @apply flex flex-col gap-6 mx-auto max-w-[53.125rem];
572
572
  }
@@ -577,14 +577,8 @@
577
577
  @apply cursor-pointer w-fit gap-3 transition-all duration-200;
578
578
  }
579
579
 
580
- .dg-hero__announcement:hover {
581
- @apply border-dg-primary -translate-y-0.5;
582
- background-color: rgba(19, 239, 149, 0.1);
583
- box-shadow: 0 0.25rem 0.75rem rgba(19, 239, 149, 0.15);
584
- }
585
-
586
580
  .dg-hero__announcement-text {
587
- @apply text-white text-sm font-normal whitespace-nowrap;
581
+ @apply text-dg-text text-sm font-normal whitespace-nowrap;
588
582
  }
589
583
 
590
584
  .dg-hero__announcement-cta {
@@ -592,10 +586,6 @@
592
586
  @apply transition-[gap] duration-200;
593
587
  }
594
588
 
595
- .dg-hero__announcement:hover .dg-hero__announcement-cta {
596
- @apply gap-3;
597
- }
598
-
599
589
  .dg-hero__body {
600
590
  @apply text-center text-dg-fog text-lg leading-7 font-normal mx-auto;
601
591
  @apply max-w-[53.125rem];
@@ -605,79 +595,35 @@
605
595
  @apply flex items-center justify-center flex-wrap gap-4 mt-2;
606
596
  }
607
597
 
608
- @media (max-width: 1024px) {
609
- .dg-hero-title {
610
- @apply text-4xl;
611
- }
598
+ .dg-hero__announcement:hover {
599
+ @apply border-dg-primary -translate-y-0.5;
600
+ background-color: color-mix(in srgb, var(--dg-primary) 10%, transparent);
601
+ box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--dg-primary) 15%, transparent);
612
602
  }
613
603
 
614
- @media (max-width: 768px) {
615
- .dg-hero-title {
616
- @apply text-3xl;
617
- }
618
-
619
- .dg-hero {
620
- @apply py-12 px-4;
621
- }
622
-
623
- .dg-hero__content {
624
- @apply gap-5;
625
- }
626
-
627
- .dg-hero__body {
628
- @apply text-base leading-relaxed;
629
- }
604
+ .dg-hero__announcement:hover .dg-hero__announcement-cta {
605
+ @apply gap-3;
630
606
  }
631
607
 
632
- @media (max-width: 640px) {
633
- .dg-hero-title {
634
- @apply text-2xl;
635
- }
636
-
637
- .dg-hero {
638
- @apply py-8 px-4;
639
- }
640
-
641
- .dg-hero__announcement-text {
642
- @apply text-xs whitespace-normal;
643
- }
644
-
645
- .dg-hero__announcement-cta {
646
- @apply text-xs;
647
- }
648
-
649
- .dg-hero__body {
650
- @apply text-[0.9375rem] leading-normal;
651
- }
652
-
653
- .dg-hero__actions {
654
- @apply flex-col w-full;
655
- }
656
-
657
- .dg-hero__actions > * {
658
- @apply w-full;
659
- }
608
+ .dg-hero__actions > * {
609
+ @apply w-full;
660
610
  }
661
611
 
662
612
  /* Section Header */
663
613
 
664
614
  .dg-section-heading {
665
- @apply font-semibold font-dg-noto text-2xl text-white mb-6 flex;
615
+ @apply font-semibold font-dg-noto text-2xl text-dg-text mb-6 flex;
666
616
  @apply flex-wrap items-baseline gap-2;
667
617
  }
668
618
 
669
- .dg-section-heading small {
670
- @apply font-normal text-base text-dg-muted;
671
- }
672
-
673
619
  @media (max-width: 640px) {
674
620
  .dg-section-heading {
675
621
  @apply text-xl mb-3 gap-1.5;
676
622
  }
623
+ }
677
624
 
678
- .dg-section-heading small {
679
- @apply text-sm;
680
- }
625
+ .dg-section-heading small {
626
+ @apply text-sm;
681
627
  }
682
628
 
683
629
  /* Page Heading */
@@ -686,33 +632,39 @@
686
632
  @apply mb-8;
687
633
  }
688
634
 
689
- .dg-page-heading__title {
690
- @apply font-semibold font-dg-noto text-4xl text-white mb-2 leading-tight;
635
+ @media (max-width: 640px) {
636
+ .dg-page-heading {
637
+ @apply mb-6;
638
+ }
691
639
  }
692
640
 
693
- .dg-page-heading__description {
694
- @apply text-dg-muted text-lg leading-relaxed m-0 max-w-[65ch];
641
+ .dg-page-heading__title {
642
+ @apply font-semibold font-dg-noto text-4xl text-dg-text mb-2 leading-tight;
695
643
  }
696
644
 
697
645
  @media (max-width: 768px) {
698
646
  .dg-page-heading__title {
699
647
  @apply text-3xl;
700
648
  }
701
-
702
- .dg-page-heading__description {
703
- @apply text-base;
704
- }
705
649
  }
706
650
 
707
651
  @media (max-width: 640px) {
708
- .dg-page-heading {
709
- @apply mb-6;
710
- }
711
-
712
652
  .dg-page-heading__title {
713
653
  @apply text-2xl;
714
654
  }
655
+ }
656
+
657
+ .dg-page-heading__description {
658
+ @apply text-dg-muted text-lg leading-relaxed m-0 max-w-[65ch];
659
+ }
660
+
661
+ @media (max-width: 768px) {
662
+ .dg-page-heading__description {
663
+ @apply text-base;
664
+ }
665
+ }
715
666
 
667
+ @media (max-width: 640px) {
716
668
  .dg-page-heading__description {
717
669
  @apply text-[0.9375rem];
718
670
  }
@@ -729,16 +681,7 @@
729
681
  }
730
682
 
731
683
  .dg-page-headings__title {
732
- @apply text-2xl font-bold text-white sm:truncate sm:text-3xl sm:tracking-tight;
733
- line-height: 1.75;
734
- }
735
-
736
- .dg-page-headings__actions {
737
- @apply mt-4 flex md:mt-0 md:ml-4;
738
- }
739
-
740
- .dg-page-headings__title {
741
- @apply text-2xl font-bold text-white sm:truncate sm:text-3xl sm:tracking-tight;
684
+ @apply text-2xl font-bold text-dg-text sm:truncate sm:text-3xl sm:tracking-tight;
742
685
  line-height: 1.75;
743
686
  }
744
687
 
@@ -749,7 +692,7 @@
749
692
  /* Card Heading */
750
693
 
751
694
  .dg-card-heading {
752
- @apply font-medium font-dg-noto text-xl text-white mb-3 flex;
695
+ @apply font-medium font-dg-noto text-xl text-dg-text mb-3 flex;
753
696
  @apply flex-wrap items-baseline gap-1.5;
754
697
  }
755
698
 
@@ -764,13 +707,13 @@
764
707
  }
765
708
 
766
709
  .dg-card-headings__title {
767
- @apply text-base font-semibold text-white;
710
+ @apply text-base font-semibold text-dg-text;
768
711
  }
769
712
 
770
713
  /* Item Title */
771
714
 
772
715
  .dg-item-title {
773
- @apply font-medium font-dg-noto text-base text-white mb-1 flex;
716
+ @apply font-medium font-dg-noto text-base text-dg-text mb-1 flex;
774
717
  @apply flex-wrap items-baseline gap-1;
775
718
  }
776
719
 
@@ -784,10 +727,6 @@
784
727
  @apply w-full text-dg-fog text-sm leading-snug mb-3;
785
728
  }
786
729
 
787
- .dg-prose.dg-prose--block {
788
- @apply max-w-none w-full;
789
- }
790
-
791
730
  @media (min-width: 640px) {
792
731
  .dg-prose {
793
732
  @apply text-base mb-4 max-w-[65ch];
@@ -820,19 +759,25 @@
820
759
  }
821
760
  }
822
761
 
762
+ .dg-prose.dg-prose--block {
763
+ @apply max-w-none w-full;
764
+ }
765
+
766
+ /* Icon */
767
+
768
+ .dg-icon {
769
+ @apply flex-shrink-0;
770
+ }
771
+
823
772
  /* Input Group */
824
773
 
825
774
  .dg-input {
826
775
  @apply w-full px-4 py-3 rounded border border-dg-pebble;
827
- @apply bg-dg-charcoal text-white font-dg-sans text-sm outline-none transition-all;
776
+ @apply bg-dg-charcoal text-dg-text font-dg-sans text-sm outline-none transition-all;
828
777
  @apply duration-300 shadow-dg-sm;
829
778
  height: 2.75rem;
830
779
  }
831
780
 
832
- .dg-input::placeholder {
833
- @apply text-dg-muted;
834
- }
835
-
836
781
  .dg-input:focus {
837
782
  @apply border-dg-primary;
838
783
  box-shadow: 0 0 0 0.0625rem var(--color-dg-primary);
@@ -850,26 +795,34 @@
850
795
  @apply max-w-none;
851
796
  }
852
797
 
853
- .dg-input[type="select"], select.dg-input {
854
- @apply appearance-none;
855
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='rgb(255,255,255)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
856
- background-position: right 0.75rem center;
857
- background-repeat: no-repeat;
858
- background-size: 1.5em 1.5em;
859
- padding-right: 2.5rem;
798
+ .dg-input::placeholder {
799
+ @apply text-dg-muted;
860
800
  }
861
801
 
862
802
  /* Textarea */
863
803
 
864
804
  .dg-textarea {
865
805
  @apply w-full px-4 py-3 rounded border border-dg-pebble;
866
- @apply bg-dg-charcoal text-white font-dg-sans text-sm outline-none transition-all;
806
+ @apply bg-dg-charcoal text-dg-text font-dg-sans text-sm outline-none transition-all;
867
807
  @apply duration-300 shadow-dg-sm;
868
808
  min-height: 6.25rem;
869
809
  resize: vertical;
870
810
  height: auto;
871
811
  }
872
812
 
813
+ .dg-textarea:focus {
814
+ @apply border-dg-primary;
815
+ box-shadow: 0 0 0 0.0625rem var(--color-dg-primary);
816
+ }
817
+
818
+ .dg-textarea:disabled {
819
+ @apply opacity-50 cursor-not-allowed;
820
+ }
821
+
822
+ .dg-textarea::placeholder {
823
+ @apply text-dg-muted;
824
+ }
825
+
873
826
  /* Checkbox */
874
827
 
875
828
  .dg-checkbox {
@@ -878,6 +831,15 @@
878
831
  position: relative;
879
832
  }
880
833
 
834
+ .dg-checkbox:focus {
835
+ @apply outline-none;
836
+ box-shadow: 0 0 0 0.125rem color-mix(in srgb, var(--color-dg-primary) 50%, transparent);
837
+ }
838
+
839
+ .dg-checkbox:disabled {
840
+ @apply opacity-50 cursor-not-allowed;
841
+ }
842
+
881
843
  .dg-checkbox:checked {
882
844
  @apply bg-dg-primary border-dg-primary;
883
845
  }
@@ -889,70 +851,217 @@
889
851
  top: 0.125rem;
890
852
  width: 0.3125rem;
891
853
  height: 0.625rem;
892
- border: solid black;
854
+ border: solid var(--color-dg-almost-black);
893
855
  border-width: 0 0.125rem 0.125rem 0;
894
856
  transform: rotate(45deg);
895
857
  }
896
858
 
897
- .dg-checkbox:focus {
859
+ .dg-checkbox-label:hover .dg-checkbox {
860
+ @apply border-dg-slate;
861
+ }
862
+
863
+ .dg-checkbox-label:has(.dg-checkbox:disabled) {
864
+ @apply opacity-50 cursor-not-allowed;
865
+ }
866
+
867
+ /* Select */
868
+
869
+ .dg-select {
870
+ @apply w-full px-4 py-3 rounded border border-dg-pebble;
871
+ @apply bg-dg-charcoal text-dg-text font-dg-sans text-sm outline-none transition-all;
872
+ @apply duration-300 shadow-dg-sm appearance-none cursor-pointer;
873
+ height: 2.75rem;
874
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='rgb(255,255,255)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
875
+ background-position: right 0.75rem center;
876
+ background-repeat: no-repeat;
877
+ background-size: 1.5em 1.5em;
878
+ padding-right: 2.5rem;
879
+ }
880
+
881
+ .dg-select:focus {
882
+ @apply border-dg-primary;
883
+ box-shadow: 0 0 0 0.0625rem var(--color-dg-primary);
884
+ }
885
+
886
+ .dg-select:disabled {
887
+ @apply opacity-50 cursor-not-allowed;
888
+ }
889
+
890
+ /* Option */
891
+
892
+ .dg-option {
893
+ @apply bg-dg-charcoal text-dg-text;
894
+ }
895
+
896
+ /* Radio */
897
+
898
+ .dg-radio {
899
+ @apply appearance-none w-5 h-5 rounded-full border border-dg-pebble;
900
+ @apply bg-dg-charcoal cursor-pointer transition-all duration-200 flex-shrink-0;
901
+ position: relative;
902
+ }
903
+
904
+ .dg-radio:focus {
898
905
  @apply outline-none;
899
906
  box-shadow: 0 0 0 0.125rem color-mix(in srgb, var(--color-dg-primary) 50%, transparent);
900
907
  }
901
908
 
902
- .dg-checkbox-label {
903
- @apply flex items-start gap-2 cursor-pointer text-sm text-dg-fog;
909
+ .dg-radio:disabled {
910
+ @apply opacity-50 cursor-not-allowed;
904
911
  }
905
912
 
906
- .dg-checkbox-label:hover .dg-checkbox {
913
+ .dg-radio:checked {
914
+ @apply bg-dg-primary border-dg-primary;
915
+ }
916
+
917
+ .dg-radio:checked::after {
918
+ content: "";
919
+ position: absolute;
920
+ top: 50%;
921
+ left: 50%;
922
+ width: 0.375rem;
923
+ height: 0.375rem;
924
+ background: var(--color-dg-almost-black);
925
+ border-radius: 50%;
926
+ transform: translate(-50%, -50%);
927
+ }
928
+
929
+ .dg-radio-label:hover .dg-radio {
907
930
  @apply border-dg-slate;
908
931
  }
909
932
 
933
+ .dg-radio-label:has(.dg-radio:disabled) {
934
+ @apply opacity-50 cursor-not-allowed;
935
+ }
936
+
937
+ /* Toggle */
938
+
939
+ .dg-toggle {
940
+ @apply appearance-none cursor-pointer transition-all duration-200 flex-shrink-0;
941
+ position: relative;
942
+ width: 2.75rem;
943
+ height: 1.5rem;
944
+ border-radius: 0.75rem;
945
+ background-color: var(--color-dg-pebble);
946
+ }
947
+
948
+ .dg-toggle:focus {
949
+ @apply outline-none;
950
+ box-shadow: 0 0 0 0.125rem color-mix(in srgb, var(--color-dg-primary) 50%, transparent);
951
+ }
952
+
953
+ .dg-toggle:disabled {
954
+ @apply opacity-50 cursor-not-allowed;
955
+ }
956
+
957
+ .dg-toggle:checked {
958
+ background-color: var(--color-dg-primary);
959
+ }
960
+
961
+ .dg-toggle::after {
962
+ content: "";
963
+ position: absolute;
964
+ top: 0.125rem;
965
+ left: 0.125rem;
966
+ width: 1.25rem;
967
+ height: 1.25rem;
968
+ border-radius: 50%;
969
+ background: white;
970
+ transition: transform 200ms ease-in-out;
971
+ }
972
+
973
+ .dg-toggle:checked::after {
974
+ transform: translateX(1.25rem);
975
+ }
976
+
977
+ .dg-toggle-label:hover .dg-toggle {
978
+ background-color: var(--color-dg-slate);
979
+ }
980
+
981
+ .dg-toggle-label:hover .dg-toggle:checked {
982
+ background-color: var(--color-dg-primary);
983
+ }
984
+
985
+ .dg-toggle-label:has(.dg-toggle:disabled) {
986
+ @apply opacity-50 cursor-not-allowed;
987
+ }
988
+
989
+ /* Checkbox Label */
990
+
991
+ .dg-checkbox-label {
992
+ @apply flex items-start gap-2 cursor-pointer text-sm text-dg-fog;
993
+ }
994
+
995
+ /* Checkbox Description */
996
+
910
997
  .dg-checkbox-description {
911
998
  @apply flex flex-col gap-2;
912
999
  }
913
1000
 
1001
+ /* Checkbox Group */
1002
+
914
1003
  .dg-checkbox-group {
915
1004
  @apply flex flex-col gap-3;
916
1005
  }
917
1006
 
918
- /* Form Section */
1007
+ /* Radio Label */
919
1008
 
920
- .dg-form-field {
921
- @apply flex flex-col gap-3 mb-4 w-full;
1009
+ .dg-radio-label {
1010
+ @apply flex items-start gap-2 cursor-pointer text-sm text-dg-fog;
922
1011
  }
923
1012
 
924
- .dg-form-field--full {
925
- @apply max-w-none;
1013
+ /* Radio Description */
1014
+
1015
+ .dg-radio-description {
1016
+ @apply flex flex-col gap-2;
926
1017
  }
927
1018
 
928
- .dg-form-field--error .dg-input, .dg-form-field--error .dg-textarea {
929
- @apply border-dg-danger;
1019
+ .dg-radio-description__hint {
1020
+ @apply text-dg-muted;
930
1021
  }
931
1022
 
932
- .dg-form-field--error .dg-form-helper {
933
- @apply text-dg-danger;
1023
+ /* Radio Group */
1024
+
1025
+ .dg-radio-group {
1026
+ @apply flex flex-col gap-3;
934
1027
  }
935
1028
 
936
- .dg-form-field--success .dg-input, .dg-form-field--success .dg-textarea {
937
- @apply border-dg-success;
1029
+ /* Toggle Label */
1030
+
1031
+ .dg-toggle-label {
1032
+ @apply flex items-center gap-3 cursor-pointer text-sm text-dg-fog;
938
1033
  }
939
1034
 
940
- .dg-form-field--success .dg-form-helper {
941
- @apply text-dg-success;
1035
+ /* Toggle Group */
1036
+
1037
+ .dg-toggle-group {
1038
+ @apply flex flex-col gap-4;
942
1039
  }
943
1040
 
1041
+ /* Form Label */
1042
+
944
1043
  .dg-form-label {
945
- @apply text-sm font-medium text-white;
1044
+ @apply text-sm font-medium text-dg-text;
1045
+ }
1046
+
1047
+ /* Form Helper */
1048
+
1049
+ .dg-form-helper {
1050
+ @apply text-xs text-dg-muted block;
1051
+ margin: 0;
946
1052
  }
947
1053
 
1054
+ /* Form Error */
1055
+
948
1056
  .dg-form-error {
949
1057
  @apply text-xs text-dg-danger block;
950
1058
  margin: 0;
951
1059
  }
952
1060
 
953
- .dg-form-helper {
954
- @apply text-xs text-dg-muted block;
955
- margin: 0;
1061
+ /* Form Section */
1062
+
1063
+ .dg-form-field {
1064
+ @apply flex flex-col gap-3 mb-4 w-full;
956
1065
  }
957
1066
 
958
1067
  @media (min-width: 640px) {
@@ -961,6 +1070,36 @@
961
1070
  }
962
1071
  }
963
1072
 
1073
+ .dg-form-field--full {
1074
+ @apply max-w-none;
1075
+ }
1076
+
1077
+ .dg-form-field--error .dg-input, .dg-form-field--error .dg-textarea, .dg-form-field--error .dg-select {
1078
+ @apply border-dg-danger;
1079
+ }
1080
+
1081
+ .dg-form-field--error .dg-input:focus, .dg-form-field--error .dg-textarea:focus, .dg-form-field--error .dg-select:focus {
1082
+ @apply border-dg-danger;
1083
+ box-shadow: 0 0 0 0.0625rem var(--color-dg-danger);
1084
+ }
1085
+
1086
+ .dg-form-field--error .dg-form-helper {
1087
+ @apply text-dg-danger;
1088
+ }
1089
+
1090
+ .dg-form-field--success .dg-input, .dg-form-field--success .dg-textarea, .dg-form-field--success .dg-select {
1091
+ @apply border-dg-success;
1092
+ }
1093
+
1094
+ .dg-form-field--success .dg-input:focus, .dg-form-field--success .dg-textarea:focus, .dg-form-field--success .dg-select:focus {
1095
+ @apply border-dg-success;
1096
+ box-shadow: 0 0 0 0.0625rem var(--color-dg-success);
1097
+ }
1098
+
1099
+ .dg-form-field--success .dg-form-helper {
1100
+ @apply text-dg-success;
1101
+ }
1102
+
964
1103
  /* File Upload Zone */
965
1104
 
966
1105
  .dg-drag-drop-zone {
@@ -975,10 +1114,6 @@
975
1114
  @apply border-dg-slate bg-dg-background;
976
1115
  }
977
1116
 
978
- .dg-drag-drop-zone.drag-over {
979
- @apply border-dg-primary bg-dg-translucent;
980
- }
981
-
982
1117
  .dg-drag-drop-zone__input {
983
1118
  @apply absolute inset-0 w-full h-full opacity-0 cursor-pointer;
984
1119
  }
@@ -987,18 +1122,22 @@
987
1122
  @apply text-5xl text-dg-muted;
988
1123
  }
989
1124
 
990
- .dg-drag-drop-zone:hover .dg-drag-drop-zone__icon {
991
- @apply text-dg-primary;
992
- }
993
-
994
1125
  .dg-drag-drop-zone__text {
995
- @apply text-base text-white font-medium;
1126
+ @apply text-base text-dg-text font-medium;
996
1127
  }
997
1128
 
998
1129
  .dg-drag-drop-zone__hint {
999
1130
  @apply text-sm text-dg-muted;
1000
1131
  }
1001
1132
 
1133
+ .dg-drag-drop-zone.drag-over {
1134
+ @apply border-dg-primary bg-dg-translucent;
1135
+ }
1136
+
1137
+ .dg-drag-drop-zone:hover .dg-drag-drop-zone__icon {
1138
+ @apply text-dg-primary;
1139
+ }
1140
+
1002
1141
  /* Status Banner */
1003
1142
 
1004
1143
  .dg-status {
@@ -1040,10 +1179,6 @@
1040
1179
  @apply flex items-start gap-1;
1041
1180
  }
1042
1181
 
1043
- .dg-status--with-icon .dg-status__icon {
1044
- @apply flex-shrink-0 text-[1em] mt-[0.1em];
1045
- }
1046
-
1047
1182
  .dg-status--compact {
1048
1183
  @apply my-1 py-0.5 text-xs;
1049
1184
  }
@@ -1054,6 +1189,10 @@
1054
1189
  }
1055
1190
  }
1056
1191
 
1192
+ .dg-status--with-icon .dg-status__icon {
1193
+ @apply flex-shrink-0 text-[1em] mt-[0.1em];
1194
+ }
1195
+
1057
1196
  /* Spinner */
1058
1197
 
1059
1198
  .dg-spinner {
@@ -1061,23 +1200,8 @@
1061
1200
  @apply mb-3 animate-spin;
1062
1201
  }
1063
1202
 
1064
- .dg-processing-title {
1065
- @apply font-medium font-dg-noto text-xl text-white mb-1;
1066
- }
1067
-
1068
- /* Modal */
1069
-
1070
- .dg-modal-overlay {
1071
- @apply hidden fixed inset-0 items-center justify-center bg-black/80;
1072
- @apply z-50;
1073
- }
1074
-
1075
- .dg-modal-overlay.visible, .dg-modal-overlay--visible {
1076
- @apply flex;
1077
- }
1078
-
1079
- .dg-modal-content {
1080
- @apply text-center max-w-[25rem] m-3;
1203
+ .dg-spinner__title {
1204
+ @apply font-medium font-dg-noto text-xl text-dg-text mb-1;
1081
1205
  }
1082
1206
 
1083
1207
  /* Constrained Container */
@@ -1086,212 +1210,237 @@
1086
1210
  @apply w-full;
1087
1211
  }
1088
1212
 
1089
- .dg-center-h {
1090
- @apply mx-auto;
1091
- }
1092
-
1093
1213
  @media (min-width: 640px) {
1094
1214
  .dg-constrain-width {
1095
1215
  @apply max-w-[70rem] mx-auto;
1096
1216
  }
1097
1217
  }
1098
1218
 
1219
+ .dg-center-h {
1220
+ @apply mx-auto;
1221
+ }
1222
+
1099
1223
  /* Responsive Grid */
1100
1224
 
1101
1225
  .dg-grid-mobile-stack {
1102
1226
  @apply flex flex-col gap-4;
1103
1227
  }
1104
1228
 
1105
- .dg-grid-mobile-stack > * {
1106
- @apply flex-1;
1107
- }
1108
-
1109
1229
  @media (min-width: 640px) {
1110
1230
  .dg-grid-mobile-stack {
1111
1231
  @apply flex-row gap-4;
1112
1232
  }
1113
1233
  }
1114
1234
 
1235
+ .dg-grid-mobile-stack > * {
1236
+ @apply flex-1;
1237
+ }
1238
+
1115
1239
  /* Three-Column Layout */
1116
1240
 
1117
1241
  .dg-columns {
1118
1242
  @apply flex flex-col w-full;
1119
1243
  }
1120
1244
 
1121
- .dg-columns__wrapper {
1122
- @apply flex flex-col flex-1 min-w-0;
1245
+ @media (min-width: 1280px) {
1246
+ .dg-columns {
1247
+ @apply flex-row;
1248
+ }
1123
1249
  }
1124
1250
 
1125
- .dg-column {
1126
- @apply px-4 py-6 min-w-0;
1251
+ .dg-columns--fixed {
1252
+ position: relative;
1253
+ height: 100%;
1254
+ --dg-sidebar-width: 18rem;
1255
+ --dg-aside-width: 24rem;
1127
1256
  }
1128
1257
 
1129
- .dg-column--main {
1130
- @apply flex-1;
1258
+ .dg-columns--fixed .dg-columns__column--left {
1259
+ @apply hidden;
1131
1260
  }
1132
1261
 
1133
- .dg-column--sidebar-left {
1262
+ .dg-columns--fixed .dg-columns__column--right {
1263
+ @apply hidden;
1134
1264
  }
1135
1265
 
1136
- .dg-column--sidebar-right {
1137
- position: relative;
1138
- }
1266
+ @media (min-width: 1024px) {
1267
+ .dg-columns--fixed .dg-columns__column--left {
1268
+ display: flex;
1269
+ flex-direction: column;
1270
+ position: fixed;
1271
+ top: 0;
1272
+ bottom: 0;
1273
+ left: 0;
1274
+ z-index: 50;
1275
+ width: var(--dg-sidebar-width);
1276
+ overflow-y: auto;
1277
+ background: var(--color-dg-almost-black);
1278
+ border-right: 1px solid var(--color-dg-border);
1279
+ }
1139
1280
 
1140
- @media (min-width: 640px) {
1141
- .dg-column {
1142
- @apply px-6;
1281
+ .dg-columns--fixed .dg-columns__column--center {
1282
+ padding-left: var(--dg-sidebar-width);
1143
1283
  }
1144
- }
1145
1284
 
1146
- @media (min-width: 768px) {
1147
- .dg-columns {
1148
- @apply flex-row;
1285
+ .dg-columns--fixed:has(.dg-columns__column--left.dg-columns__column--sm) {
1286
+ --dg-sidebar-width: 16rem;
1287
+ }
1288
+
1289
+ .dg-columns--fixed:has(.dg-columns__column--left.dg-columns__column--lg) {
1290
+ --dg-sidebar-width: 24rem;
1291
+ }
1292
+
1293
+ .dg-columns--fixed:has(.dg-columns__column--left.dg-columns__column--xl) {
1294
+ --dg-sidebar-width: 32rem;
1149
1295
  }
1150
1296
  }
1151
1297
 
1152
- @media (min-width: 768px) and (max-width: 1279px) {
1153
- .dg-column--sidebar-right {
1298
+ @media (min-width: 1280px) {
1299
+ .dg-columns--fixed .dg-columns__column--right {
1300
+ display: flex;
1301
+ flex-direction: column;
1154
1302
  position: fixed;
1155
- top: 65px;
1156
- right: 0;
1157
- height: calc(100vh - 65px);
1158
- width: 16rem;
1159
- flex-shrink: 0;
1160
- transition: transform 300ms ease;
1161
- z-index: 20;
1162
- box-shadow: -4px 0 16px rgba(0, 0, 0, 0.5);
1303
+ top: 0;
1304
+ bottom: 0;
1305
+ left: var(--dg-sidebar-width);
1306
+ width: var(--dg-aside-width);
1307
+ overflow-y: auto;
1308
+ border-right: 1px solid var(--color-dg-border);
1163
1309
  }
1164
1310
 
1165
- .dg-column--sidebar-right.dg-column--sm {
1166
- width: 20rem;
1311
+ .dg-columns--fixed:has(.dg-columns__column--right) .dg-columns__column--center {
1312
+ padding-left: calc(var(--dg-sidebar-width) + var(--dg-aside-width));
1167
1313
  }
1168
1314
 
1169
- .dg-column--sidebar-right.dg-column--lg {
1170
- width: 24rem;
1315
+ .dg-columns--fixed:has(.dg-columns__column--right.dg-columns__column--sm) {
1316
+ --dg-aside-width: 20rem;
1171
1317
  }
1172
1318
 
1173
- .dg-column--sidebar-right.dg-column--xl {
1174
- width: 32rem;
1319
+ .dg-columns--fixed:has(.dg-columns__column--right.dg-columns__column--lg) {
1320
+ --dg-aside-width: 28rem;
1175
1321
  }
1176
1322
 
1177
- .dg-column--sidebar-right.collapsed {
1178
- transform: translateX(calc(100% - 2rem));
1323
+ .dg-columns--fixed:has(.dg-columns__column--right.dg-columns__column--xl) {
1324
+ --dg-aside-width: 32rem;
1179
1325
  }
1180
1326
  }
1181
1327
 
1328
+ .dg-columns__wrapper {
1329
+ @apply flex flex-col flex-1 min-w-0;
1330
+ }
1331
+
1182
1332
  @media (min-width: 1024px) {
1183
1333
  .dg-columns__wrapper {
1184
1334
  @apply flex-row;
1185
1335
  }
1336
+ }
1337
+
1338
+ .dg-columns__mobile-header {
1339
+ @apply flex items-center gap-3 px-4 py-2;
1340
+ position: sticky;
1341
+ top: 0;
1342
+ z-index: 40;
1343
+ background: var(--color-dg-almost-black);
1344
+ border-bottom: 1px solid var(--color-dg-border);
1345
+ }
1346
+
1347
+ @media (min-width: 1024px) {
1348
+ .dg-columns__mobile-header {
1349
+ @apply hidden;
1350
+ }
1351
+ }
1352
+
1353
+ .dg-columns__sidebar-toggle {
1354
+ @apply inline-flex items-center justify-center -m-2.5 p-2.5;
1355
+ color: var(--color-dg-muted);
1356
+ }
1357
+
1358
+ .dg-columns__column {
1359
+ @apply px-4 py-6 min-w-0;
1360
+ }
1361
+
1362
+ @media (min-width: 640px) {
1363
+ .dg-columns__column {
1364
+ @apply px-6;
1365
+ }
1366
+ }
1367
+
1368
+ .dg-columns__column--left {
1369
+ }
1186
1370
 
1187
- .dg-column--sidebar-left {
1371
+ .dg-columns__column--right {
1372
+ position: relative;
1373
+ }
1374
+
1375
+ .dg-columns__column--center {
1376
+ @apply flex-1;
1377
+ }
1378
+
1379
+ .dg-columns__column--sm {
1380
+ }
1381
+
1382
+ .dg-columns__column--lg {
1383
+ }
1384
+
1385
+ .dg-columns__column--xl {
1386
+ }
1387
+
1388
+ @media (min-width: 1024px) {
1389
+ .dg-columns__column--left {
1188
1390
  @apply w-48 flex-shrink-0;
1189
1391
  }
1190
1392
 
1191
- .dg-column--sidebar-left.dg-column--sm {
1393
+ .dg-columns__column--left.dg-columns__column--sm {
1192
1394
  @apply w-64 flex-shrink-0;
1193
1395
  }
1194
1396
 
1195
- .dg-column--sidebar-left.dg-column--lg {
1397
+ .dg-columns__column--left.dg-columns__column--lg {
1196
1398
  @apply w-96 flex-shrink-0;
1197
1399
  }
1198
1400
 
1199
- .dg-column--sidebar-left.dg-column--xl {
1401
+ .dg-columns__column--left.dg-columns__column--xl {
1200
1402
  @apply w-128 flex-shrink-0;
1201
1403
  }
1202
1404
  }
1203
1405
 
1204
1406
  @media (min-width: 1280px) {
1205
- .dg-column--sidebar-right {
1407
+ .dg-columns__column--right {
1206
1408
  width: 16rem;
1207
1409
  flex-shrink: 0;
1208
1410
  }
1209
1411
 
1210
- .dg-column--sidebar-right.dg-column--sm {
1412
+ .dg-columns__column--right.dg-columns__column--sm {
1211
1413
  width: 20rem;
1212
1414
  flex-shrink: 0;
1213
1415
  }
1214
1416
 
1215
- .dg-column--sidebar-right.dg-column--lg {
1417
+ .dg-columns__column--right.dg-columns__column--lg {
1216
1418
  width: 24rem;
1217
1419
  flex-shrink: 0;
1218
1420
  }
1219
1421
 
1220
- .dg-column--sidebar-right.dg-column--xl {
1422
+ .dg-columns__column--right.dg-columns__column--xl {
1221
1423
  width: 32rem;
1222
1424
  flex-shrink: 0;
1223
1425
  }
1224
1426
  }
1225
1427
 
1226
- /* Header */
1227
-
1228
- .dg-header {
1229
- @apply w-full;
1230
- background: #050506;
1231
- padding: 1rem 1.5rem;
1232
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
1233
- }
1234
-
1235
- .dg-header__container {
1236
- @apply flex items-center justify-between max-w-screen-2xl mx-auto;
1237
- }
1238
-
1239
- .dg-header__logo {
1240
- @apply flex items-center gap-3;
1241
- }
1242
-
1243
- .dg-header__logo-image {
1244
- @apply h-8 w-auto;
1245
- }
1246
-
1247
- .dg-header__logo-text {
1248
- @apply font-dg-noto font-bold text-xl text-white;
1249
- }
1250
-
1251
- .dg-header__nav {
1252
- @apply flex items-center gap-4;
1253
- }
1254
-
1255
- .dg-header__profile-link {
1256
- @apply -m-1.5 p-1.5 block;
1257
- }
1258
-
1259
- .dg-header__profile-avatar {
1260
- @apply size-8 rounded-full bg-gray-800 outline -outline-offset-1 outline-white/10;
1261
- }
1262
-
1263
- @media (max-width: 768px) {
1264
- .dg-header {
1265
- padding: 0.75rem 1rem;
1266
- }
1267
-
1268
- .dg-header__logo-text {
1269
- @apply text-lg;
1270
- }
1271
- }
1272
-
1273
1428
  /* Footer */
1274
1429
 
1275
1430
  .dg-footer {
1276
1431
  @apply text-center border-t border-dg-pebble mt-16;
1277
1432
  }
1278
1433
 
1279
- /* Link */
1280
-
1281
- .dg-link {
1282
- @apply text-dg-primary transition-opacity duration-200;
1283
- }
1284
-
1285
- .dg-link:hover {
1286
- @apply opacity-80;
1434
+ .dg-footer__social-links {
1435
+ @apply flex justify-center gap-4;
1287
1436
  }
1288
1437
 
1289
- .dg-social-link {
1290
- @apply text-dg-fog transition-colors duration-200 text-xl;
1438
+ .dg-footer__social-link {
1439
+ @apply text-dg-muted transition-colors duration-200;
1291
1440
  }
1292
1441
 
1293
- .dg-social-link:hover {
1294
- @apply text-dg-primary;
1442
+ .dg-footer__social-link:hover {
1443
+ @apply text-dg-text;
1295
1444
  }
1296
1445
 
1297
1446
  /* Text Utilities */
@@ -1354,36 +1503,24 @@
1354
1503
 
1355
1504
  /* Newsletter Signup */
1356
1505
 
1357
- .dg-newsletter-container {
1506
+ .dg-newsletter {
1358
1507
  @apply flex flex-col gap-4;
1359
1508
  }
1360
1509
 
1361
- .dg-newsletter-container--compact {
1510
+ .dg-newsletter--compact {
1362
1511
  @apply flex flex-col gap-3;
1363
1512
  }
1364
1513
 
1365
- .dg-newsletter-form {
1514
+ .dg-newsletter__form {
1366
1515
  @apply flex flex-col gap-4;
1367
1516
  }
1368
1517
 
1369
- .dg-newsletter-form--compact {
1518
+ .dg-newsletter__form--compact {
1370
1519
  @apply flex flex-col gap-3;
1371
1520
  }
1372
1521
 
1373
- .dg-newsletter-form--inline {
1374
- @apply flex gap-2 w-full;
1375
- }
1376
-
1377
- .dg-newsletter-header {
1378
- @apply flex flex-col gap-3 items-start;
1379
- }
1380
-
1381
- .dg-newsletter-header__content {
1382
- @apply flex-1;
1383
- }
1384
-
1385
- .dg-newsletter-header__actions {
1386
- @apply w-full;
1522
+ .dg-newsletter__form--inline {
1523
+ @apply w-auto;
1387
1524
  }
1388
1525
 
1389
1526
  .dg-logo-container {
@@ -1394,24 +1531,6 @@
1394
1531
  @apply h-8 w-auto;
1395
1532
  }
1396
1533
 
1397
- .dg-social-links {
1398
- @apply flex justify-center gap-4;
1399
- }
1400
-
1401
- @media (min-width: 640px) {
1402
- .dg-newsletter-form--inline {
1403
- @apply w-auto;
1404
- }
1405
-
1406
- .dg-newsletter-header {
1407
- @apply flex-row items-center;
1408
- }
1409
-
1410
- .dg-newsletter-header__actions {
1411
- @apply w-auto;
1412
- }
1413
- }
1414
-
1415
1534
  /* Alerts */
1416
1535
 
1417
1536
  .dg-alert {
@@ -1444,26 +1563,7 @@
1444
1563
 
1445
1564
  .dg-alert__icon {
1446
1565
  @apply shrink-0;
1447
- }
1448
-
1449
- .dg-alert__icon svg {
1450
- @apply size-5;
1451
- }
1452
-
1453
- .dg-alert--warning .dg-alert__icon {
1454
- @apply text-dg-warning;
1455
- }
1456
-
1457
- .dg-alert--success .dg-alert__icon {
1458
- @apply text-dg-success;
1459
- }
1460
-
1461
- .dg-alert--danger .dg-alert__icon {
1462
- @apply text-dg-danger;
1463
- }
1464
-
1465
- .dg-alert--info .dg-alert__icon {
1466
- @apply text-dg-secondary;
1566
+ font-size: 1.25rem;
1467
1567
  }
1468
1568
 
1469
1569
  .dg-alert__body {
@@ -1474,22 +1574,6 @@
1474
1574
  @apply text-sm font-medium;
1475
1575
  }
1476
1576
 
1477
- .dg-alert--warning .dg-alert__title {
1478
- @apply text-dg-warning;
1479
- }
1480
-
1481
- .dg-alert--success .dg-alert__title {
1482
- @apply text-dg-success;
1483
- }
1484
-
1485
- .dg-alert--danger .dg-alert__title {
1486
- @apply text-dg-danger;
1487
- }
1488
-
1489
- .dg-alert--info .dg-alert__title {
1490
- @apply text-dg-secondary;
1491
- }
1492
-
1493
1577
  .dg-alert__description {
1494
1578
  @apply mt-2 text-sm text-dg-muted;
1495
1579
  }
@@ -1498,298 +1582,57 @@
1498
1582
  @apply mt-4;
1499
1583
  }
1500
1584
 
1501
- .dg-alert__actions .dg-btn {
1502
- @apply text-sm;
1503
- }
1504
-
1505
1585
  .dg-alert__list {
1506
1586
  @apply mt-2 text-sm text-dg-muted list-disc pl-5;
1507
1587
  }
1508
1588
 
1509
- .dg-alert__list li {
1510
- padding-left: 0.25rem;
1511
- }
1512
-
1513
1589
  .dg-alert__dismiss {
1514
- @apply ml-auto pl-3 shrink-0;
1515
- }
1516
-
1517
- .dg-alert__dismiss button {
1518
- @apply inline-flex rounded-md p-1.5 text-dg-muted cursor-pointer;
1519
- }
1520
-
1521
- .dg-alert__dismiss button:hover {
1522
- @apply text-dg-text;
1523
- }
1524
-
1525
- .dg-alert__dismiss button svg {
1526
- @apply size-5;
1527
- }
1528
-
1529
- /* Comboboxes */
1530
-
1531
- .dg-combobox {
1532
- @apply relative block;
1533
- }
1534
-
1535
- .dg-combobox__label {
1536
- @apply block text-sm font-medium text-white;
1537
- line-height: 1.5rem;
1538
- }
1539
-
1540
- .dg-combobox__wrapper {
1541
- @apply relative mt-2 block;
1542
- }
1543
-
1544
- .dg-combobox__input {
1545
- @apply block w-full rounded-md bg-white/5 py-1.5 pr-12;
1546
- @apply pl-3 text-base text-white outline-1 -outline-offset-1 outline-white/10;
1547
- @apply placeholder:text-dg-slate sm:text-sm;
1548
- line-height: 1.5rem;
1549
- }
1550
-
1551
- .dg-combobox__input:focus {
1552
- @apply outline-2 -outline-offset-2 outline-dg-primary;
1553
- }
1554
-
1555
- .dg-combobox__toggle {
1556
- @apply absolute inset-y-0 right-0 flex items-center rounded-r-md;
1557
- @apply px-2;
1558
- }
1559
-
1560
- .dg-combobox__toggle-icon {
1561
- @apply size-5 text-dg-muted;
1562
- }
1563
-
1564
- .dg-combobox__options {
1565
- @apply max-h-60 overflow-auto rounded-md bg-dg-charcoal py-1 text-base;
1566
- @apply shadow-lg sm:text-sm;
1567
- outline: 1px solid rgba(255, 255, 255, 0.1);
1568
- outline-offset: -1px;
1569
- }
1570
-
1571
- .dg-combobox__option {
1572
- @apply block truncate px-3 py-2 text-dg-platinum select-none;
1573
- @apply cursor-pointer;
1574
- }
1575
-
1576
- .dg-combobox__option:hover {
1577
- @apply bg-dg-primary text-white;
1578
- }
1579
-
1580
- .dg-combobox__option.selected {
1581
- @apply bg-dg-primary text-white;
1582
- }
1583
-
1584
- .dg-combobox__option-text {
1585
- @apply block truncate;
1586
- }
1587
-
1588
- .dg-combobox__check {
1589
- @apply absolute inset-y-0 right-0 flex items-center pr-4;
1590
- @apply text-white;
1591
- }
1592
-
1593
- .dg-combobox__check-icon {
1594
- @apply size-5;
1595
- }
1596
-
1597
- .dg-combobox--with-check .dg-combobox__option {
1598
- @apply relative pr-9;
1599
- }
1600
-
1601
- .dg-combobox--with-check .dg-combobox__option.selected .dg-combobox__check {
1602
- @apply flex;
1603
- }
1604
-
1605
- .dg-combobox--with-avatar .dg-combobox__option {
1606
- @apply flex items-center;
1607
- gap: 0.5rem;
1608
- }
1609
-
1610
- .dg-combobox__avatar {
1611
- @apply size-6 shrink-0 rounded-full;
1612
- }
1613
-
1614
- .dg-combobox--with-status .dg-combobox__option {
1615
- @apply flex items-center;
1616
- gap: 0.5rem;
1617
- }
1618
-
1619
- .dg-combobox__status {
1620
- @apply inline-block size-2 shrink-0 rounded-full;
1621
- }
1622
-
1623
- .dg-combobox__status--online {
1624
- @apply bg-dg-success;
1625
- }
1626
-
1627
- .dg-combobox__status--offline {
1628
- @apply bg-dg-muted;
1629
- }
1630
-
1631
- /* Stacked */
1632
-
1633
- .dg-stacked {
1634
- @apply min-h-full;
1635
- }
1636
-
1637
- .dg-stacked__nav {
1638
- @apply border-b border-dg-border;
1639
- background-color: var(--dg-bg-default, #0b0b0c);
1590
+ @apply ml-auto pl-3 shrink-0 -my-1.5 -mr-1.5 inline-flex;
1591
+ @apply rounded-md p-1.5 text-dg-muted cursor-pointer;
1592
+ font-size: 1.25rem;
1640
1593
  }
1641
1594
 
1642
- .dg-stacked__nav-container {
1643
- @apply mx-auto max-w-7xl px-4 sm:px-6 lg:px-8;
1644
- }
1645
-
1646
- .dg-stacked__nav-bar {
1647
- @apply flex h-16 justify-between;
1648
- }
1649
-
1650
- .dg-stacked__nav-left {
1651
- @apply flex;
1652
- }
1653
-
1654
- .dg-stacked__logo {
1655
- @apply flex shrink-0 items-center;
1656
- }
1657
-
1658
- .dg-stacked__logo img {
1659
- @apply h-8 w-auto;
1660
- }
1661
-
1662
- .dg-stacked__nav-links {
1663
- @apply hidden sm:-my-px sm:ml-6 sm:flex sm:space-x-8;
1664
- }
1665
-
1666
- .dg-stacked__nav-link {
1667
- @apply inline-flex items-center border-b-2 border-transparent px-1 pt-1;
1668
- @apply text-sm font-medium text-dg-muted hover:border-dg-platinum hover:text-dg-fog;
1669
- }
1670
-
1671
- .dg-stacked__nav-link--active {
1672
- @apply border-dg-primary text-white;
1673
- }
1674
-
1675
- .dg-stacked__nav-right {
1676
- @apply hidden sm:ml-6 sm:flex sm:items-center;
1677
- }
1678
-
1679
- .dg-stacked__notification-btn {
1680
- @apply relative rounded-full p-1 text-dg-muted hover:text-white focus:outline-2;
1681
- @apply focus:outline-offset-2 focus:outline-dg-primary;
1682
- }
1683
-
1684
- .dg-stacked__notification-btn svg {
1685
- @apply size-6;
1686
- }
1687
-
1688
- .dg-stacked__profile {
1689
- @apply relative ml-3;
1690
- }
1691
-
1692
- .dg-stacked__profile-btn {
1693
- @apply relative flex max-w-xs items-center rounded-full focus-visible:outline-2;
1694
- @apply focus-visible:outline-offset-2 focus-visible:outline-dg-primary;
1695
- }
1696
-
1697
- .dg-stacked__profile-btn img {
1698
- @apply size-8 rounded-full outline -outline-offset-1 outline-white/10;
1699
- }
1700
-
1701
- .dg-stacked__profile-menu {
1702
- @apply w-48 origin-top-right rounded-md py-1 shadow-lg outline;
1703
- @apply outline-white/10;
1704
- background-color: var(--dg-bg-default, #0b0b0c);
1705
- }
1706
-
1707
- .dg-stacked__profile-menu a {
1708
- @apply block px-4 py-2 text-sm text-dg-platinum focus:bg-white/5;
1709
- @apply focus:outline-hidden;
1710
- }
1711
-
1712
- .dg-stacked__mobile-toggle {
1713
- @apply -mr-2 flex items-center sm:hidden;
1714
- }
1715
-
1716
- .dg-stacked__mobile-btn {
1717
- @apply relative inline-flex items-center justify-center rounded-md p-2;
1718
- @apply text-dg-muted hover:bg-white/5 hover:text-white focus:outline-2 focus:outline-offset-2 focus:outline-dg-primary;
1719
- background-color: var(--dg-bg-default, #0b0b0c);
1720
- }
1721
-
1722
- .dg-stacked__mobile-btn svg {
1723
- @apply size-6;
1724
- }
1725
-
1726
- .dg-stacked__mobile-menu {
1727
- @apply sm:hidden;
1728
- }
1729
-
1730
- .dg-stacked__mobile-links {
1731
- @apply space-y-1 pt-2 pb-3;
1732
- }
1733
-
1734
- .dg-stacked__mobile-link {
1735
- @apply block border-l-4 border-transparent py-2 pr-4 pl-3;
1736
- @apply text-base font-medium text-dg-muted hover:border-dg-slate hover:bg-white/5 hover:text-dg-fog;
1737
- }
1738
-
1739
- .dg-stacked__mobile-link--active {
1740
- @apply border-dg-primary bg-dg-primary/10 text-dg-primary;
1741
- }
1742
-
1743
- .dg-stacked__mobile-user {
1744
- @apply border-t border-dg-border pt-4 pb-3;
1745
- }
1746
-
1747
- .dg-stacked__mobile-user-info {
1748
- @apply flex items-center px-4;
1749
- }
1750
-
1751
- .dg-stacked__mobile-user-avatar {
1752
- @apply shrink-0;
1595
+ .dg-alert--warning .dg-alert__icon {
1596
+ @apply text-dg-warning;
1753
1597
  }
1754
1598
 
1755
- .dg-stacked__mobile-user-avatar img {
1756
- @apply size-10 rounded-full outline -outline-offset-1 outline-white/10;
1599
+ .dg-alert--success .dg-alert__icon {
1600
+ @apply text-dg-success;
1757
1601
  }
1758
1602
 
1759
- .dg-stacked__mobile-user-details {
1760
- @apply ml-3;
1603
+ .dg-alert--danger .dg-alert__icon {
1604
+ @apply text-dg-danger;
1761
1605
  }
1762
1606
 
1763
- .dg-stacked__mobile-user-name {
1764
- @apply text-base font-medium text-white;
1607
+ .dg-alert--info .dg-alert__icon {
1608
+ @apply text-dg-secondary;
1765
1609
  }
1766
1610
 
1767
- .dg-stacked__mobile-user-email {
1768
- @apply text-sm font-medium text-dg-muted;
1611
+ .dg-alert--warning .dg-alert__title {
1612
+ @apply text-dg-warning;
1769
1613
  }
1770
1614
 
1771
- .dg-stacked__mobile-user-actions {
1772
- @apply mt-3 space-y-1;
1615
+ .dg-alert--success .dg-alert__title {
1616
+ @apply text-dg-success;
1773
1617
  }
1774
1618
 
1775
- .dg-stacked__mobile-user-actions a {
1776
- @apply block px-4 py-2 text-base font-medium text-dg-muted;
1777
- @apply hover:bg-white/5 hover:text-dg-fog;
1619
+ .dg-alert--danger .dg-alert__title {
1620
+ @apply text-dg-danger;
1778
1621
  }
1779
1622
 
1780
- .dg-stacked__content {
1781
- @apply py-10;
1623
+ .dg-alert--info .dg-alert__title {
1624
+ @apply text-dg-secondary;
1782
1625
  }
1783
1626
 
1784
- .dg-stacked__page-header {
1785
- @apply mx-auto max-w-7xl px-4 sm:px-6 lg:px-8;
1627
+ .dg-alert__actions .dg-btn {
1628
+ @apply text-sm;
1786
1629
  }
1787
1630
 
1788
- .dg-stacked__page-title {
1789
- @apply text-3xl font-bold tracking-tight text-white;
1631
+ .dg-alert__list li {
1632
+ padding-left: 0.25rem;
1790
1633
  }
1791
1634
 
1792
- .dg-stacked__main {
1793
- @apply mx-auto max-w-7xl px-4 py-8 sm:px-6 lg:px-8;
1635
+ .dg-alert__dismiss:hover {
1636
+ @apply text-dg-text;
1794
1637
  }
1795
1638
  }