@letsprogram/ng-oat 0.1.6 → 0.1.7

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.
@@ -1,7 +1,10 @@
1
1
  @layer theme, base, components, animations, utilities;
2
2
 
3
3
  @layer base {
4
- *, *::before, *::after {
4
+
5
+ *,
6
+ *::before,
7
+ *::after {
5
8
  box-sizing: border-box;
6
9
  -webkit-tap-highlight-color: transparent;
7
10
  }
@@ -15,7 +18,9 @@
15
18
  }
16
19
 
17
20
  /* Top-layer elements don't inherit from body. Set explicitly. */
18
- body, dialog, [popover] {
21
+ body,
22
+ dialog,
23
+ [popover] {
19
24
  font-family: var(--font-sans);
20
25
  font-size: var(--text-regular);
21
26
  line-height: var(--leading-normal);
@@ -29,18 +34,33 @@
29
34
  }
30
35
 
31
36
  main {
32
- padding-block-start: var(--space-8);
37
+ padding-block-start: var(--topnav-offset);
33
38
  }
34
39
 
35
- img, picture, video, canvas, svg {
40
+ img,
41
+ picture,
42
+ video,
43
+ canvas,
44
+ svg {
36
45
  max-width: 100%;
37
46
  }
38
47
 
39
- p, h1, h2, h3, h4, h5, h6 {
48
+ p,
49
+ h1,
50
+ h2,
51
+ h3,
52
+ h4,
53
+ h5,
54
+ h6 {
40
55
  overflow-wrap: break-word;
41
56
  }
42
57
 
43
- h1, h2, h3, h4, h5, h6 {
58
+ h1,
59
+ h2,
60
+ h3,
61
+ h4,
62
+ h5,
63
+ h6 {
44
64
  font-weight: var(--font-semibold);
45
65
  line-height: var(--leading-tight);
46
66
  text-wrap: balance;
@@ -103,11 +123,13 @@
103
123
  }
104
124
  }
105
125
 
106
- strong, b {
126
+ strong,
127
+ b {
107
128
  font-weight: var(--font-semibold);
108
129
  }
109
130
 
110
- em, i {
131
+ em,
132
+ i {
111
133
  font-style: italic;
112
134
  }
113
135
 
@@ -152,7 +174,8 @@
152
174
  margin: var(--space-2) 0;
153
175
  }
154
176
 
155
- ul, ol {
177
+ ul,
178
+ ol {
156
179
  padding-inline-start: var(--space-6);
157
180
  margin-block-end: var(--space-4);
158
181
  }
@@ -201,19 +224,37 @@
201
224
  color: var(--prose-body);
202
225
  max-width: 65ch;
203
226
 
204
- > * + * {
227
+ >*+* {
205
228
  margin-block-start: var(--space-5);
206
229
  }
207
230
 
208
- h1, h2, h3, h4, h5, h6 {
231
+ h1,
232
+ h2,
233
+ h3,
234
+ h4,
235
+ h5,
236
+ h6 {
209
237
  color: var(--prose-heading);
210
238
  letter-spacing: var(--tracking-tight);
211
239
  }
212
240
 
213
- h1 { margin-block-start: 0; }
214
- h2 { margin-block-start: var(--space-10); }
215
- h3 { margin-block-start: var(--space-8); }
216
- h4, h5, h6 { margin-block-start: var(--space-6); }
241
+ h1 {
242
+ margin-block-start: 0;
243
+ }
244
+
245
+ h2 {
246
+ margin-block-start: var(--space-10);
247
+ }
248
+
249
+ h3 {
250
+ margin-block-start: var(--space-8);
251
+ }
252
+
253
+ h4,
254
+ h5,
255
+ h6 {
256
+ margin-block-start: var(--space-6);
257
+ }
217
258
 
218
259
  a {
219
260
  color: var(--prose-link);
@@ -245,7 +286,8 @@
245
286
  font-style: italic;
246
287
  }
247
288
 
248
- img, video {
289
+ img,
290
+ video {
249
291
  border-radius: var(--radius-medium);
250
292
  }
251
293
 
@@ -275,10 +317,20 @@
275
317
  }
276
318
 
277
319
  /* Prose width variants */
278
- .prose-sm { max-width: 45ch; font-size: var(--text-7); }
279
- .prose-lg { max-width: 75ch; }
280
- .prose-full { max-width: none; }
320
+ .prose-sm {
321
+ max-width: 45ch;
322
+ font-size: var(--text-7);
323
+ }
324
+
325
+ .prose-lg {
326
+ max-width: 75ch;
327
+ }
328
+
329
+ .prose-full {
330
+ max-width: none;
331
+ }
281
332
  }
333
+
282
334
  @layer theme {
283
335
  :root {
284
336
  color-scheme: light dark;
@@ -315,12 +367,12 @@
315
367
  /* ── Spacing (fluid) ─────────────────────────────────────────────────── */
316
368
  --space-1: 0.25rem;
317
369
  --space-2: 0.5rem;
318
- --space-3: clamp(0.5rem, 1.5vw, 0.75rem);
319
- --space-4: clamp(0.5rem, 2vw, 1rem);
320
- --space-5: clamp(0.75rem, 2.5vw, 1.25rem);
321
- --space-6: clamp(0.75rem, 3vw, 1.5rem);
322
- --space-8: clamp(1rem, 4vw, 2rem);
323
- --space-10: clamp(1.5rem, 5vw, 2.5rem);
370
+ --space-3: clamp(0.5rem, 1.5vw, 0.75rem);
371
+ --space-4: clamp(0.5rem, 2vw, 1rem);
372
+ --space-5: clamp(0.75rem, 2.5vw, 1.25rem);
373
+ --space-6: clamp(0.75rem, 3vw, 1.5rem);
374
+ --space-8: clamp(1rem, 4vw, 2rem);
375
+ --space-10: clamp(1.5rem, 5vw, 2.5rem);
324
376
  --space-12: 3rem;
325
377
  --space-14: 3.5rem;
326
378
  --space-16: 4rem;
@@ -329,7 +381,7 @@
329
381
  /* ── Border radius (fluid) ───────────────────────────────────────────── */
330
382
  --radius-small: 0.125rem;
331
383
  --radius-medium: clamp(0.25rem, 0.8vw, 0.375rem);
332
- --radius-large: clamp(0.5rem, 1.5vw, 0.75rem);
384
+ --radius-large: clamp(0.5rem, 1.5vw, 0.75rem);
333
385
  --radius-full: 9999px;
334
386
 
335
387
  --bar-height: 0.5rem;
@@ -382,7 +434,9 @@
382
434
  --z-modal: 200;
383
435
  }
384
436
  }
437
+
385
438
  @layer animations {
439
+
386
440
  /* Pop-in animation for modals/overlays - swings from above */
387
441
  .animate-pop-in {
388
442
  opacity: 1;
@@ -441,6 +495,7 @@
441
495
  }
442
496
  }
443
497
  }
498
+
444
499
  @layer base {
445
500
  label {
446
501
  display: block;
@@ -641,27 +696,28 @@
641
696
  padding: 0;
642
697
  margin: 0;
643
698
 
644
- & > :is(input, textarea, select) {
699
+ &> :is(input, textarea, select) {
645
700
  flex: 1;
646
701
  margin-block-start: 0;
647
-
702
+
648
703
  &:not(:focus) {
649
704
  border-inline-end-color: transparent;
650
705
  }
651
706
  }
652
707
 
653
- & > :is(input, textarea, select, button) {
708
+ &> :is(input, textarea, select, button) {
654
709
  border-radius: 0;
710
+
655
711
  &:first-child {
656
712
  border-radius: var(--radius-medium) 0 0 var(--radius-medium);
657
713
  }
658
-
714
+
659
715
  &:last-child {
660
716
  border-radius: 0 var(--radius-medium) var(--radius-medium) 0;
661
717
  }
662
718
  }
663
719
 
664
- & > legend {
720
+ &>legend {
665
721
  float: inline-start;
666
722
  display: inline-flex;
667
723
  align-items: center;
@@ -680,7 +736,8 @@
680
736
  margin-block-end: var(--space-4);
681
737
 
682
738
  /* Hint text that succeeds an input with aria-describedby */
683
- [data-hint], .error {
739
+ [data-hint],
740
+ .error {
684
741
  font-size: var(--text-8);
685
742
  font-weight: var(--font-normal);
686
743
  color: var(--muted-foreground);
@@ -698,8 +755,11 @@
698
755
  }
699
756
  }
700
757
  }
758
+
701
759
  @layer base {
702
- :is(button, [type=submit], [type=reset], [type=button], a.button), ::file-selector-button {
760
+
761
+ :is(button, [type=submit], [type=reset], [type=button], a.button),
762
+ ::file-selector-button {
703
763
  --_hov: color-mix(in srgb, var(--primary), white 25%);
704
764
 
705
765
  display: inline-flex;
@@ -807,6 +867,7 @@
807
867
  color: var(--foreground);
808
868
  border: 1px solid var(--border);
809
869
  }
870
+
810
871
  ::file-selector-button:hover {
811
872
  /* pseudoelement:hover can't be nested and has to be a separate block. */
812
873
  background-color: var(--accent);
@@ -820,27 +881,28 @@
820
881
  display: inline-flex;
821
882
 
822
883
  /* In menu.buttons, <li> children are expected to have just one child, which is a button/or a.button */
823
- & > li {
824
- &:first-child > * {
884
+ &>li {
885
+ &:first-child>* {
825
886
  border-start-start-radius: var(--radius-medium);
826
887
  border-end-start-radius: var(--radius-medium);
827
888
  }
828
889
 
829
- &:last-child > * {
890
+ &:last-child>* {
830
891
  border-start-end-radius: var(--radius-medium);
831
892
  border-end-end-radius: var(--radius-medium);
832
893
  }
833
894
 
834
- & > * {
895
+ &>* {
835
896
  border-radius: 0;
836
897
  }
837
898
 
838
- &:not(:last-child) > * {
899
+ &:not(:last-child)>* {
839
900
  border-inline-end: 1px solid rgb(from var(--primary-foreground) r g b / 0.2);
840
901
  }
841
902
  }
842
903
  }
843
904
  }
905
+
844
906
  @layer components {
845
907
  .card {
846
908
  background-color: var(--card);
@@ -888,6 +950,7 @@
888
950
  border-top: 1px solid var(--border);
889
951
  }
890
952
  }
953
+
891
954
  @layer components {
892
955
  .badge {
893
956
  display: inline-flex;
@@ -914,36 +977,31 @@
914
977
 
915
978
  &.success {
916
979
  color: var(--success);
917
- background-color: light-dark(
918
- color-mix(in srgb, var(--success) 10%, transparent),
919
- color-mix(in srgb, var(--success) 30%, transparent)
920
- );
980
+ background-color: light-dark(color-mix(in srgb, var(--success) 10%, transparent),
981
+ color-mix(in srgb, var(--success) 30%, transparent));
921
982
  }
922
983
 
923
984
  &.warning {
924
985
  color: var(--warning);
925
- background-color: light-dark(
926
- color-mix(in srgb, var(--warning) 10%, transparent),
927
- color-mix(in srgb, var(--warning) 30%, transparent)
928
- );
986
+ background-color: light-dark(color-mix(in srgb, var(--warning) 10%, transparent),
987
+ color-mix(in srgb, var(--warning) 30%, transparent));
929
988
  }
930
989
 
931
990
  &.danger {
932
991
  color: var(--danger);
933
- background-color: light-dark(
934
- color-mix(in srgb, var(--danger) 10%, transparent),
935
- color-mix(in srgb, var(--danger) 30%, transparent)
936
- );
992
+ background-color: light-dark(color-mix(in srgb, var(--danger) 10%, transparent),
993
+ color-mix(in srgb, var(--danger) 30%, transparent));
937
994
  }
938
995
  }
939
996
  }
997
+
940
998
  @layer components {
941
999
  details {
942
1000
  border: 1px solid var(--border);
943
1001
  border-radius: var(--radius-medium);
944
1002
  overflow: hidden;
945
1003
 
946
- & + details {
1004
+ &+details {
947
1005
  margin-top: -1px;
948
1006
  border-start-start-radius: 0;
949
1007
  border-start-end-radius: 0;
@@ -974,7 +1032,8 @@
974
1032
  background-color: var(--muted);
975
1033
  }
976
1034
 
977
- &::-webkit-details-marker, &::marker {
1035
+ &::-webkit-details-marker,
1036
+ &::marker {
978
1037
  display: none;
979
1038
  }
980
1039
 
@@ -995,10 +1054,11 @@
995
1054
  }
996
1055
  }
997
1056
 
998
- details > *:not(summary) {
1057
+ details>*:not(summary) {
999
1058
  margin: clamp(var(--space-2), 3vw, var(--space-4));
1000
1059
  }
1001
1060
  }
1061
+
1002
1062
  @layer components {
1003
1063
  [role="alert"] {
1004
1064
  position: relative;
@@ -1017,10 +1077,8 @@
1017
1077
  &[data-variant="error"],
1018
1078
  &[data-variant="danger"] {
1019
1079
  color: var(--danger);
1020
- background-color: light-dark(
1021
- color-mix(in srgb, var(--danger) 8%, transparent),
1022
- color-mix(in srgb, var(--danger) 20%, transparent)
1023
- );
1080
+ background-color: light-dark(color-mix(in srgb, var(--danger) 8%, transparent),
1081
+ color-mix(in srgb, var(--danger) 20%, transparent));
1024
1082
 
1025
1083
  & a {
1026
1084
  color: var(--danger);
@@ -1029,10 +1087,8 @@
1029
1087
 
1030
1088
  &[data-variant="success"] {
1031
1089
  color: var(--success);
1032
- background-color: light-dark(
1033
- color-mix(in srgb, var(--success) 8%, transparent),
1034
- color-mix(in srgb, var(--success) 20%, transparent)
1035
- );
1090
+ background-color: light-dark(color-mix(in srgb, var(--success) 8%, transparent),
1091
+ color-mix(in srgb, var(--success) 20%, transparent));
1036
1092
 
1037
1093
  & a {
1038
1094
  color: var(--success);
@@ -1041,10 +1097,8 @@
1041
1097
 
1042
1098
  &[data-variant="warning"] {
1043
1099
  color: var(--warning);
1044
- background-color: light-dark(
1045
- color-mix(in srgb, var(--warning) 8%, transparent),
1046
- color-mix(in srgb, var(--warning) 20%, transparent)
1047
- );
1100
+ background-color: light-dark(color-mix(in srgb, var(--warning) 8%, transparent),
1101
+ color-mix(in srgb, var(--warning) 20%, transparent));
1048
1102
 
1049
1103
  & a {
1050
1104
  color: var(--warning);
@@ -1052,6 +1106,7 @@
1052
1106
  }
1053
1107
  }
1054
1108
  }
1109
+
1055
1110
  @layer components {
1056
1111
  dialog {
1057
1112
  position: fixed;
@@ -1105,33 +1160,42 @@
1105
1160
  }
1106
1161
  }
1107
1162
 
1108
- & > header,
1109
- & > form > header {
1163
+ &>header,
1164
+ &>form>header {
1110
1165
  display: flex;
1111
1166
  flex-direction: column;
1112
1167
  gap: var(--space-1);
1113
1168
  padding: var(--space-6);
1114
1169
  padding-block-end: 0;
1115
1170
 
1116
- & > h1, & > h2, & > h3, & > h4, & > h5, & > h6 {
1171
+ &>h1,
1172
+ &>h2,
1173
+ &>h3,
1174
+ &>h4,
1175
+ &>h5,
1176
+ &>h6 {
1117
1177
  margin-block-end: 0;
1118
1178
  }
1119
1179
 
1120
- & > p {
1180
+ &>p {
1121
1181
  font-size: var(--text-7);
1122
1182
  color: var(--muted-foreground);
1123
1183
  margin-block-end: 0;
1124
1184
  }
1125
1185
  }
1126
1186
 
1127
- & > p, & > div, & > section,
1128
- & > form > p, & > form > div, & > form > section {
1187
+ &>p,
1188
+ &>div,
1189
+ &>section,
1190
+ &>form>p,
1191
+ &>form>div,
1192
+ &>form>section {
1129
1193
  padding: var(--space-6);
1130
1194
  overflow-y: auto;
1131
1195
  }
1132
1196
 
1133
- & > footer,
1134
- & > form > footer {
1197
+ &>footer,
1198
+ &>form>footer {
1135
1199
  display: flex;
1136
1200
  justify-content: flex-end;
1137
1201
  gap: var(--space-2);
@@ -1140,6 +1204,7 @@
1140
1204
  }
1141
1205
  }
1142
1206
  }
1207
+
1143
1208
  @layer components {
1144
1209
  ot-dropdown {
1145
1210
  [popover] {
@@ -1188,13 +1253,15 @@
1188
1253
  border-radius: var(--radius-small);
1189
1254
  cursor: pointer;
1190
1255
 
1191
- &:hover, &:focus {
1256
+ &:hover,
1257
+ &:focus {
1192
1258
  background-color: var(--accent);
1193
1259
  outline: none;
1194
1260
  }
1195
1261
  }
1196
1262
  }
1197
1263
  }
1264
+
1198
1265
  @layer components {
1199
1266
  :root {
1200
1267
  --grid-cols: 12;
@@ -1219,28 +1286,83 @@
1219
1286
  }
1220
1287
 
1221
1288
  /* Column spans using CSS custom property */
1222
- .col, [class*="col-"] { grid-column-end: span var(--span, var(--grid-cols)); }
1223
-
1224
- .col-1 { --span: 1; }
1225
- .col-2 { --span: 2; }
1226
- .col-3 { --span: 3; }
1227
- .col-4 { --span: 4; }
1228
- .col-5 { --span: 5; }
1229
- .col-6 { --span: 6; }
1230
- .col-7 { --span: 7; }
1231
- .col-8 { --span: 8; }
1232
- .col-9 { --span: 9; }
1233
- .col-10 { --span: 10; }
1234
- .col-11 { --span: 11; }
1235
- .col-12 { --span: 12; }
1289
+ .col,
1290
+ [class*="col-"] {
1291
+ grid-column-end: span var(--span, var(--grid-cols));
1292
+ }
1293
+
1294
+ .col-1 {
1295
+ --span: 1;
1296
+ }
1297
+
1298
+ .col-2 {
1299
+ --span: 2;
1300
+ }
1301
+
1302
+ .col-3 {
1303
+ --span: 3;
1304
+ }
1305
+
1306
+ .col-4 {
1307
+ --span: 4;
1308
+ }
1309
+
1310
+ .col-5 {
1311
+ --span: 5;
1312
+ }
1313
+
1314
+ .col-6 {
1315
+ --span: 6;
1316
+ }
1317
+
1318
+ .col-7 {
1319
+ --span: 7;
1320
+ }
1321
+
1322
+ .col-8 {
1323
+ --span: 8;
1324
+ }
1325
+
1326
+ .col-9 {
1327
+ --span: 9;
1328
+ }
1329
+
1330
+ .col-10 {
1331
+ --span: 10;
1332
+ }
1333
+
1334
+ .col-11 {
1335
+ --span: 11;
1336
+ }
1337
+
1338
+ .col-12 {
1339
+ --span: 12;
1340
+ }
1236
1341
 
1237
1342
  /* Offsets via grid-column-start */
1238
- .offset-1 { grid-column-start: 2; }
1239
- .offset-2 { grid-column-start: 3; }
1240
- .offset-3 { grid-column-start: 4; }
1241
- .offset-4 { grid-column-start: 5; }
1242
- .offset-5 { grid-column-start: 6; }
1243
- .offset-6 { grid-column-start: 7; }
1343
+ .offset-1 {
1344
+ grid-column-start: 2;
1345
+ }
1346
+
1347
+ .offset-2 {
1348
+ grid-column-start: 3;
1349
+ }
1350
+
1351
+ .offset-3 {
1352
+ grid-column-start: 4;
1353
+ }
1354
+
1355
+ .offset-4 {
1356
+ grid-column-start: 5;
1357
+ }
1358
+
1359
+ .offset-5 {
1360
+ grid-column-start: 6;
1361
+ }
1362
+
1363
+ .offset-6 {
1364
+ grid-column-start: 7;
1365
+ }
1244
1366
 
1245
1367
  .col-end {
1246
1368
  grid-column-start: span var(--span, 1);
@@ -1267,27 +1389,55 @@
1267
1389
 
1268
1390
  /* Container-query breakpoints for .grid children */
1269
1391
  @container (min-width: 640px) {
1270
- .grid { grid-template-columns: repeat(2, 1fr); }
1392
+ .grid {
1393
+ grid-template-columns: repeat(2, 1fr);
1394
+ }
1271
1395
  }
1396
+
1272
1397
  @container (min-width: 1024px) {
1273
- .grid { grid-template-columns: repeat(var(--grid-cols, 12), 1fr); }
1274
- .grid > * { grid-column: span var(--span, 1); }
1398
+ .grid {
1399
+ grid-template-columns: repeat(var(--grid-cols, 12), 1fr);
1400
+ }
1401
+
1402
+ .grid>* {
1403
+ grid-column: span var(--span, 1);
1404
+ }
1275
1405
  }
1276
1406
 
1277
1407
  /* Allow explicit column count override on .grid: .grid.cols-2, .grid.cols-3, etc. */
1278
- .grid.cols-2 { --grid-cols: 2; }
1279
- .grid.cols-3 { --grid-cols: 3; }
1280
- .grid.cols-4 { --grid-cols: 4; }
1408
+ .grid.cols-2 {
1409
+ --grid-cols: 2;
1410
+ }
1411
+
1412
+ .grid.cols-3 {
1413
+ --grid-cols: 3;
1414
+ }
1415
+
1416
+ .grid.cols-4 {
1417
+ --grid-cols: 4;
1418
+ }
1281
1419
 
1282
1420
  @container (min-width: 640px) {
1283
- .grid.cols-2, .grid.cols-3, .grid.cols-4 {
1421
+
1422
+ .grid.cols-2,
1423
+ .grid.cols-3,
1424
+ .grid.cols-4 {
1284
1425
  grid-template-columns: repeat(2, 1fr);
1285
1426
  }
1286
1427
  }
1428
+
1287
1429
  @container (min-width: 1024px) {
1288
- .grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
1289
- .grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
1290
- .grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
1430
+ .grid.cols-2 {
1431
+ grid-template-columns: repeat(2, 1fr);
1432
+ }
1433
+
1434
+ .grid.cols-3 {
1435
+ grid-template-columns: repeat(3, 1fr);
1436
+ }
1437
+
1438
+ .grid.cols-4 {
1439
+ grid-template-columns: repeat(4, 1fr);
1440
+ }
1291
1441
  }
1292
1442
 
1293
1443
  /* ── Responsive .row breakpoints (media queries) ───────────────────────── */
@@ -1297,9 +1447,12 @@
1297
1447
  --grid-cols: 1;
1298
1448
  --grid-gap: 1rem;
1299
1449
  }
1300
- .col, [class*="col-"] {
1450
+
1451
+ .col,
1452
+ [class*="col-"] {
1301
1453
  --span: 1;
1302
1454
  }
1455
+
1303
1456
  [class*="offset-"] {
1304
1457
  grid-column-start: auto;
1305
1458
  }
@@ -1311,9 +1464,12 @@
1311
1464
  --grid-cols: 4;
1312
1465
  --grid-gap: 1rem;
1313
1466
  }
1314
- .col, [class*="col-"] {
1467
+
1468
+ .col,
1469
+ [class*="col-"] {
1315
1470
  --span: 4;
1316
1471
  }
1472
+
1317
1473
  [class*="offset-"] {
1318
1474
  grid-column-start: auto;
1319
1475
  }
@@ -1322,68 +1478,209 @@
1322
1478
  /* ── Responsive column classes (media queries for power users) ─────────── */
1323
1479
  /* sm: 640px+ */
1324
1480
  @media (min-width: 640px) {
1325
- .sm\:col-1 { --span: 1; }
1326
- .sm\:col-2 { --span: 2; }
1327
- .sm\:col-3 { --span: 3; }
1328
- .sm\:col-4 { --span: 4; }
1329
- .sm\:col-5 { --span: 5; }
1330
- .sm\:col-6 { --span: 6; }
1331
- .sm\:col-7 { --span: 7; }
1332
- .sm\:col-8 { --span: 8; }
1333
- .sm\:col-9 { --span: 9; }
1334
- .sm\:col-10 { --span: 10; }
1335
- .sm\:col-11 { --span: 11; }
1336
- .sm\:col-12 { --span: 12; }
1481
+ .sm\:col-1 {
1482
+ --span: 1;
1483
+ }
1484
+
1485
+ .sm\:col-2 {
1486
+ --span: 2;
1487
+ }
1488
+
1489
+ .sm\:col-3 {
1490
+ --span: 3;
1491
+ }
1492
+
1493
+ .sm\:col-4 {
1494
+ --span: 4;
1495
+ }
1496
+
1497
+ .sm\:col-5 {
1498
+ --span: 5;
1499
+ }
1500
+
1501
+ .sm\:col-6 {
1502
+ --span: 6;
1503
+ }
1504
+
1505
+ .sm\:col-7 {
1506
+ --span: 7;
1507
+ }
1508
+
1509
+ .sm\:col-8 {
1510
+ --span: 8;
1511
+ }
1512
+
1513
+ .sm\:col-9 {
1514
+ --span: 9;
1515
+ }
1516
+
1517
+ .sm\:col-10 {
1518
+ --span: 10;
1519
+ }
1520
+
1521
+ .sm\:col-11 {
1522
+ --span: 11;
1523
+ }
1524
+
1525
+ .sm\:col-12 {
1526
+ --span: 12;
1527
+ }
1337
1528
  }
1338
1529
 
1339
1530
  /* md: 768px+ */
1340
1531
  @media (min-width: 768px) {
1341
- .md\:col-1 { --span: 1; }
1342
- .md\:col-2 { --span: 2; }
1343
- .md\:col-3 { --span: 3; }
1344
- .md\:col-4 { --span: 4; }
1345
- .md\:col-5 { --span: 5; }
1346
- .md\:col-6 { --span: 6; }
1347
- .md\:col-7 { --span: 7; }
1348
- .md\:col-8 { --span: 8; }
1349
- .md\:col-9 { --span: 9; }
1350
- .md\:col-10 { --span: 10; }
1351
- .md\:col-11 { --span: 11; }
1352
- .md\:col-12 { --span: 12; }
1532
+ .md\:col-1 {
1533
+ --span: 1;
1534
+ }
1535
+
1536
+ .md\:col-2 {
1537
+ --span: 2;
1538
+ }
1539
+
1540
+ .md\:col-3 {
1541
+ --span: 3;
1542
+ }
1543
+
1544
+ .md\:col-4 {
1545
+ --span: 4;
1546
+ }
1547
+
1548
+ .md\:col-5 {
1549
+ --span: 5;
1550
+ }
1551
+
1552
+ .md\:col-6 {
1553
+ --span: 6;
1554
+ }
1555
+
1556
+ .md\:col-7 {
1557
+ --span: 7;
1558
+ }
1559
+
1560
+ .md\:col-8 {
1561
+ --span: 8;
1562
+ }
1563
+
1564
+ .md\:col-9 {
1565
+ --span: 9;
1566
+ }
1567
+
1568
+ .md\:col-10 {
1569
+ --span: 10;
1570
+ }
1571
+
1572
+ .md\:col-11 {
1573
+ --span: 11;
1574
+ }
1575
+
1576
+ .md\:col-12 {
1577
+ --span: 12;
1578
+ }
1353
1579
  }
1354
1580
 
1355
1581
  /* lg: 1024px+ */
1356
1582
  @media (min-width: 1024px) {
1357
- .lg\:col-1 { --span: 1; }
1358
- .lg\:col-2 { --span: 2; }
1359
- .lg\:col-3 { --span: 3; }
1360
- .lg\:col-4 { --span: 4; }
1361
- .lg\:col-5 { --span: 5; }
1362
- .lg\:col-6 { --span: 6; }
1363
- .lg\:col-7 { --span: 7; }
1364
- .lg\:col-8 { --span: 8; }
1365
- .lg\:col-9 { --span: 9; }
1366
- .lg\:col-10 { --span: 10; }
1367
- .lg\:col-11 { --span: 11; }
1368
- .lg\:col-12 { --span: 12; }
1583
+ .lg\:col-1 {
1584
+ --span: 1;
1585
+ }
1586
+
1587
+ .lg\:col-2 {
1588
+ --span: 2;
1589
+ }
1590
+
1591
+ .lg\:col-3 {
1592
+ --span: 3;
1593
+ }
1594
+
1595
+ .lg\:col-4 {
1596
+ --span: 4;
1597
+ }
1598
+
1599
+ .lg\:col-5 {
1600
+ --span: 5;
1601
+ }
1602
+
1603
+ .lg\:col-6 {
1604
+ --span: 6;
1605
+ }
1606
+
1607
+ .lg\:col-7 {
1608
+ --span: 7;
1609
+ }
1610
+
1611
+ .lg\:col-8 {
1612
+ --span: 8;
1613
+ }
1614
+
1615
+ .lg\:col-9 {
1616
+ --span: 9;
1617
+ }
1618
+
1619
+ .lg\:col-10 {
1620
+ --span: 10;
1621
+ }
1622
+
1623
+ .lg\:col-11 {
1624
+ --span: 11;
1625
+ }
1626
+
1627
+ .lg\:col-12 {
1628
+ --span: 12;
1629
+ }
1369
1630
  }
1370
1631
 
1371
1632
  /* xl: 1280px+ */
1372
1633
  @media (min-width: 1280px) {
1373
- .xl\:col-1 { --span: 1; }
1374
- .xl\:col-2 { --span: 2; }
1375
- .xl\:col-3 { --span: 3; }
1376
- .xl\:col-4 { --span: 4; }
1377
- .xl\:col-5 { --span: 5; }
1378
- .xl\:col-6 { --span: 6; }
1379
- .xl\:col-7 { --span: 7; }
1380
- .xl\:col-8 { --span: 8; }
1381
- .xl\:col-9 { --span: 9; }
1382
- .xl\:col-10 { --span: 10; }
1383
- .xl\:col-11 { --span: 11; }
1384
- .xl\:col-12 { --span: 12; }
1634
+ .xl\:col-1 {
1635
+ --span: 1;
1636
+ }
1637
+
1638
+ .xl\:col-2 {
1639
+ --span: 2;
1640
+ }
1641
+
1642
+ .xl\:col-3 {
1643
+ --span: 3;
1644
+ }
1645
+
1646
+ .xl\:col-4 {
1647
+ --span: 4;
1648
+ }
1649
+
1650
+ .xl\:col-5 {
1651
+ --span: 5;
1652
+ }
1653
+
1654
+ .xl\:col-6 {
1655
+ --span: 6;
1656
+ }
1657
+
1658
+ .xl\:col-7 {
1659
+ --span: 7;
1660
+ }
1661
+
1662
+ .xl\:col-8 {
1663
+ --span: 8;
1664
+ }
1665
+
1666
+ .xl\:col-9 {
1667
+ --span: 9;
1668
+ }
1669
+
1670
+ .xl\:col-10 {
1671
+ --span: 10;
1672
+ }
1673
+
1674
+ .xl\:col-11 {
1675
+ --span: 11;
1676
+ }
1677
+
1678
+ .xl\:col-12 {
1679
+ --span: 12;
1680
+ }
1385
1681
  }
1386
1682
  }
1683
+
1387
1684
  @layer base {
1388
1685
  progress {
1389
1686
  appearance: none;
@@ -1459,6 +1756,7 @@
1459
1756
  }
1460
1757
  }
1461
1758
  }
1759
+
1462
1760
  @layer components {
1463
1761
  [data-sidebar-layout] {
1464
1762
  --topnav-offset: 0px;
@@ -1468,19 +1766,19 @@
1468
1766
  min-height: 100dvh;
1469
1767
  gap: var(--space-4);
1470
1768
 
1471
- > main {
1769
+ >main {
1472
1770
  min-width: 0;
1473
1771
  }
1474
1772
 
1475
1773
  &:has(nav[data-topnav]) {
1476
1774
  --topnav-offset: var(--space-12);
1477
1775
 
1478
- > main [id] {
1776
+ >main [id] {
1479
1777
  scroll-margin-block-start: calc(var(--space-12) + var(--space-6));
1480
1778
  }
1481
1779
  }
1482
1780
 
1483
- > aside[data-sidebar] {
1781
+ >aside[data-sidebar] {
1484
1782
  position: sticky;
1485
1783
  top: var(--topnav-offset);
1486
1784
  z-index: 1;
@@ -1497,11 +1795,11 @@
1497
1795
  padding: var(--space-3);
1498
1796
  }
1499
1797
 
1500
- > footer {
1798
+ >footer {
1501
1799
  margin-block-start: auto;
1502
1800
  }
1503
1801
 
1504
- > nav {
1802
+ >nav {
1505
1803
  flex: 1;
1506
1804
  min-height: 0;
1507
1805
  overflow-y: auto;
@@ -1539,9 +1837,18 @@
1539
1837
  border: none;
1540
1838
  overflow: visible;
1541
1839
 
1542
- & + details { margin-top: 0; }
1543
- &[open] summary { border-bottom: none; }
1544
- > ul { margin-inline-start: var(--space-4); padding: var(--space-1) 0; }
1840
+ &+details {
1841
+ margin-top: 0;
1842
+ }
1843
+
1844
+ &[open] summary {
1845
+ border-bottom: none;
1846
+ }
1847
+
1848
+ >ul {
1849
+ margin-inline-start: var(--space-4);
1850
+ padding: var(--space-1) 0;
1851
+ }
1545
1852
  }
1546
1853
 
1547
1854
  summary {
@@ -1571,13 +1878,13 @@
1571
1878
  background-color: var(--background);
1572
1879
  border-bottom: 1px solid var(--border);
1573
1880
  box-shadow: var(--shadow-small);
1574
-
1881
+
1575
1882
  a {
1576
1883
  text-decoration: none;
1577
1884
  }
1578
1885
  }
1579
1886
 
1580
- nav[data-topnav] ~ main {
1887
+ nav[data-topnav]~main {
1581
1888
  margin-block-start: var(--space-12);
1582
1889
  }
1583
1890
 
@@ -1600,7 +1907,7 @@
1600
1907
  display: inline-block;
1601
1908
  }
1602
1909
 
1603
- > aside[data-sidebar] {
1910
+ >aside[data-sidebar] {
1604
1911
  transform: translateX(0);
1605
1912
  opacity: 1;
1606
1913
  transition: transform var(--transition), opacity var(--transition), visibility var(--transition);
@@ -1610,7 +1917,7 @@
1610
1917
  grid-template-columns: 0px 1fr;
1611
1918
  gap: 0;
1612
1919
 
1613
- > aside[data-sidebar] {
1920
+ >aside[data-sidebar] {
1614
1921
  overflow: hidden;
1615
1922
  min-width: 0;
1616
1923
  transform: translateX(-100%);
@@ -1626,7 +1933,7 @@
1626
1933
  [data-sidebar-layout] {
1627
1934
  grid-template-columns: 1fr;
1628
1935
 
1629
- > aside[data-sidebar] {
1936
+ >aside[data-sidebar] {
1630
1937
  position: fixed;
1631
1938
  left: 0;
1632
1939
  width: min(16rem, 80vw);
@@ -1635,11 +1942,14 @@
1635
1942
  box-shadow: var(--shadow-large);
1636
1943
  }
1637
1944
 
1638
- &[data-sidebar-open] > aside[data-sidebar] {
1945
+ &[data-sidebar-open]>aside[data-sidebar] {
1639
1946
  transform: translateX(0);
1640
1947
  }
1641
1948
  }
1642
- [data-sidebar-toggle] { display: inline-block; }
1949
+
1950
+ [data-sidebar-toggle] {
1951
+ display: inline-block;
1952
+ }
1643
1953
 
1644
1954
  [data-sidebar-header] {
1645
1955
  display: flex;
@@ -1650,24 +1960,21 @@
1650
1960
  }
1651
1961
  }
1652
1962
  }
1963
+
1653
1964
  @layer components {
1654
1965
  [role="status"].skeleton {
1655
- --_c: light-dark(
1656
- color-mix(in srgb, var(--muted) 30%, white),
1657
- color-mix(in srgb, var(--muted) 90%, var(--foreground))
1658
- );
1966
+ --_c: light-dark(color-mix(in srgb, var(--muted) 30%, white),
1967
+ color-mix(in srgb, var(--muted) 90%, var(--foreground)));
1659
1968
 
1660
1969
  margin-block-end: var(--space-3);
1661
1970
  background: var(--muted);
1662
1971
  border-radius: var(--radius-medium);
1663
1972
  animation: anim 2s infinite;
1664
1973
  background-size: 200% 100%;
1665
- background-image: linear-gradient(
1666
- 90deg,
1667
- var(--muted) 0%,
1668
- var(--_c) 50%,
1669
- var(--muted) 100%
1670
- );
1974
+ background-image: linear-gradient(90deg,
1975
+ var(--muted) 0%,
1976
+ var(--_c) 50%,
1977
+ var(--muted) 100%);
1671
1978
 
1672
1979
  &.box {
1673
1980
  width: 4rem;
@@ -1685,10 +1992,16 @@
1685
1992
  }
1686
1993
 
1687
1994
  @keyframes anim {
1688
- from { background-position: 200% 0; }
1689
- to { background-position: -200% 0; }
1995
+ from {
1996
+ background-position: 200% 0;
1997
+ }
1998
+
1999
+ to {
2000
+ background-position: -200% 0;
2001
+ }
1690
2002
  }
1691
2003
  }
2004
+
1692
2005
  @layer components {
1693
2006
  [aria-busy="true"] {
1694
2007
  &::before {
@@ -1719,7 +2032,7 @@
1719
2032
  &[data-spinner~="overlay"] {
1720
2033
  position: relative;
1721
2034
 
1722
- > * {
2035
+ >* {
1723
2036
  opacity: 0.3;
1724
2037
 
1725
2038
  /* "disable" all elements in the container while it's busy */
@@ -1741,7 +2054,9 @@
1741
2054
  }
1742
2055
  }
1743
2056
  }
2057
+
1744
2058
  @layer base {
2059
+
1745
2060
  /* Container to get horizontal scroll on small screens. */
1746
2061
  .table {
1747
2062
  min-width: 320px;
@@ -1759,7 +2074,8 @@
1759
2074
  border-bottom: 1px solid var(--border);
1760
2075
  }
1761
2076
 
1762
- th, td {
2077
+ th,
2078
+ td {
1763
2079
  overflow-wrap: break-word;
1764
2080
  }
1765
2081
 
@@ -1787,6 +2103,7 @@
1787
2103
  }
1788
2104
  }
1789
2105
  }
2106
+
1790
2107
  @layer components {
1791
2108
  [role="tablist"] {
1792
2109
  display: inline-flex;
@@ -1838,6 +2155,7 @@
1838
2155
  }
1839
2156
  }
1840
2157
  }
2158
+
1841
2159
  @layer components {
1842
2160
  .toast-container {
1843
2161
  position: fixed;
@@ -1870,10 +2188,12 @@
1870
2188
 
1871
2189
  /* Stack full-width on narrow screens */
1872
2190
  @media (max-width: 639px) {
2191
+
1873
2192
  &[data-placement="top-left"],
1874
2193
  &[data-placement="top-right"] {
1875
2194
  inset: var(--space-4) var(--space-2) auto var(--space-2);
1876
2195
  }
2196
+
1877
2197
  &[data-placement="bottom-left"],
1878
2198
  &[data-placement="bottom-right"] {
1879
2199
  inset: auto var(--space-2) var(--space-4) var(--space-2);
@@ -1920,6 +2240,7 @@
1920
2240
  line-height: var(--leading-tight);
1921
2241
  margin: 0 0 var(--space-2) 0;
1922
2242
  }
2243
+
1923
2244
  .toast-message {
1924
2245
  color: var(--muted-foreground);
1925
2246
  font-size: var(--text-7);
@@ -1928,6 +2249,7 @@
1928
2249
 
1929
2250
  &[data-variant="success"] {
1930
2251
  border-inline-start-color: var(--success);
2252
+
1931
2253
  .toast-title {
1932
2254
  color: var(--success);
1933
2255
  }
@@ -1935,6 +2257,7 @@
1935
2257
 
1936
2258
  &[data-variant="danger"] {
1937
2259
  border-inline-start-color: var(--danger);
2260
+
1938
2261
  .toast-title {
1939
2262
  color: var(--danger);
1940
2263
  }
@@ -1942,12 +2265,13 @@
1942
2265
 
1943
2266
  &[data-variant="warning"] {
1944
2267
  border-inline-start-color: var(--warning);
2268
+
1945
2269
  .toast-title {
1946
2270
  color: var(--warning);
1947
2271
  }
1948
2272
  }
1949
2273
 
1950
- & > [data-close] {
2274
+ &>[data-close] {
1951
2275
  margin-inline-start: auto;
1952
2276
  background: none;
1953
2277
  border: none;
@@ -1977,6 +2301,7 @@
1977
2301
  }
1978
2302
  }
1979
2303
  }
2304
+
1980
2305
  @layer components {
1981
2306
  [data-tooltip] {
1982
2307
  position: relative;
@@ -2024,6 +2349,7 @@
2024
2349
  transform: translateX(-50%) translateY(0);
2025
2350
  }
2026
2351
  }
2352
+
2027
2353
  @layer components {
2028
2354
  .avatar {
2029
2355
  --avatar-size: 40px;
@@ -2049,9 +2375,17 @@
2049
2375
  object-fit: cover;
2050
2376
  }
2051
2377
 
2052
- .avatar-sm { --avatar-size: 32px; }
2053
- .avatar-lg { --avatar-size: 48px; }
2054
- .avatar-xl { --avatar-size: 64px; }
2378
+ .avatar-sm {
2379
+ --avatar-size: 32px;
2380
+ }
2381
+
2382
+ .avatar-lg {
2383
+ --avatar-size: 48px;
2384
+ }
2385
+
2386
+ .avatar-xl {
2387
+ --avatar-size: 64px;
2388
+ }
2055
2389
 
2056
2390
  .avatar-group {
2057
2391
  display: inline-flex;
@@ -2062,10 +2396,11 @@
2062
2396
  outline: 2px solid var(--background);
2063
2397
  }
2064
2398
 
2065
- .avatar-group .avatar + .avatar {
2399
+ .avatar-group .avatar+.avatar {
2066
2400
  margin-inline-start: calc(var(--avatar-size) * -0.3);
2067
2401
  }
2068
2402
  }
2403
+
2069
2404
  @layer components {
2070
2405
  .file-upload {
2071
2406
  display: flex;
@@ -2169,6 +2504,7 @@
2169
2504
  height: 1rem;
2170
2505
  }
2171
2506
  }
2507
+
2172
2508
  @layer components {
2173
2509
  .otp-group {
2174
2510
  display: inline-flex;
@@ -2213,6 +2549,7 @@
2213
2549
  font-weight: var(--font-semibold);
2214
2550
  }
2215
2551
  }
2552
+
2216
2553
  @layer components {
2217
2554
  .search-input {
2218
2555
  position: relative;
@@ -2298,6 +2635,7 @@
2298
2635
  display: none;
2299
2636
  }
2300
2637
  }
2638
+
2301
2639
  @layer components {
2302
2640
  .separator-vertical {
2303
2641
  border-top: none;
@@ -2323,6 +2661,7 @@
2323
2661
  border-top: 1px solid var(--border);
2324
2662
  }
2325
2663
  }
2664
+
2326
2665
  @layer components {
2327
2666
  .toggle {
2328
2667
  display: inline-flex;
@@ -2394,6 +2733,7 @@
2394
2733
  border-end-end-radius: var(--radius-medium);
2395
2734
  }
2396
2735
  }
2736
+
2397
2737
  @layer components {
2398
2738
  .chip {
2399
2739
  display: inline-flex;
@@ -2580,6 +2920,7 @@
2580
2920
  padding: 0;
2581
2921
  }
2582
2922
  }
2923
+
2583
2924
  @layer components {
2584
2925
  .carousel {
2585
2926
  position: relative;
@@ -2691,8 +3032,13 @@
2691
3032
  opacity: 0.9;
2692
3033
  }
2693
3034
 
2694
- .carousel-prev { left: var(--space-3); }
2695
- .carousel-next { right: var(--space-3); }
3035
+ .carousel-prev {
3036
+ left: var(--space-3);
3037
+ }
3038
+
3039
+ .carousel-next {
3040
+ right: var(--space-3);
3041
+ }
2696
3042
 
2697
3043
  .carousel-prev:hover,
2698
3044
  .carousel-next:hover {
@@ -2782,9 +3128,17 @@
2782
3128
  }
2783
3129
 
2784
3130
  /* Aspect ratios */
2785
- .carousel.ratio-16-9 .carousel-slide { aspect-ratio: 16 / 9; }
2786
- .carousel.ratio-4-3 .carousel-slide { aspect-ratio: 4 / 3; }
2787
- .carousel.ratio-1-1 .carousel-slide { aspect-ratio: 1 / 1; }
3131
+ .carousel.ratio-16-9 .carousel-slide {
3132
+ aspect-ratio: 16 / 9;
3133
+ }
3134
+
3135
+ .carousel.ratio-4-3 .carousel-slide {
3136
+ aspect-ratio: 4 / 3;
3137
+ }
3138
+
3139
+ .carousel.ratio-1-1 .carousel-slide {
3140
+ aspect-ratio: 1 / 1;
3141
+ }
2788
3142
 
2789
3143
  /* ── Card Carousel ──────────────────────────────────────────────── */
2790
3144
  .card-carousel {
@@ -3003,114 +3357,350 @@
3003
3357
  }
3004
3358
  }
3005
3359
  }
3360
+
3006
3361
  @layer utilities {
3362
+
3007
3363
  /* ── Text alignment ──────────────────────────────────────────────────── */
3008
- .align-left { text-align: start; }
3009
- .align-center { text-align: center; }
3010
- .align-right { text-align: end; }
3364
+ .align-left {
3365
+ text-align: start;
3366
+ }
3011
3367
 
3012
- .text-left { text-align: start; }
3013
- .text-center { text-align: center; }
3014
- .text-right { text-align: end; }
3368
+ .align-center {
3369
+ text-align: center;
3370
+ }
3371
+
3372
+ .align-right {
3373
+ text-align: end;
3374
+ }
3375
+
3376
+ .text-left {
3377
+ text-align: start;
3378
+ }
3379
+
3380
+ .text-center {
3381
+ text-align: center;
3382
+ }
3383
+
3384
+ .text-right {
3385
+ text-align: end;
3386
+ }
3015
3387
 
3016
3388
  /* ── Text colors ─────────────────────────────────────────────────────── */
3017
- .text-light { color: var(--muted-foreground); }
3018
- .text-lighter { color: var(--faint-foreground); }
3019
- .text-danger { color: var(--danger); }
3020
- .text-success { color: var(--success); }
3021
- .text-warning { color: var(--warning); }
3022
- .text-primary { color: var(--primary); }
3023
- .text-muted { color: var(--muted-foreground); }
3389
+ .text-light {
3390
+ color: var(--muted-foreground);
3391
+ }
3392
+
3393
+ .text-lighter {
3394
+ color: var(--faint-foreground);
3395
+ }
3396
+
3397
+ .text-danger {
3398
+ color: var(--danger);
3399
+ }
3400
+
3401
+ .text-success {
3402
+ color: var(--success);
3403
+ }
3404
+
3405
+ .text-warning {
3406
+ color: var(--warning);
3407
+ }
3408
+
3409
+ .text-primary {
3410
+ color: var(--primary);
3411
+ }
3412
+
3413
+ .text-muted {
3414
+ color: var(--muted-foreground);
3415
+ }
3024
3416
 
3025
3417
  /* ── Text sizes (maps to theme tokens) ───────────────────────────────── */
3026
- .text-1 { font-size: var(--text-1); }
3027
- .text-2 { font-size: var(--text-2); }
3028
- .text-3 { font-size: var(--text-3); }
3029
- .text-4 { font-size: var(--text-4); }
3030
- .text-5 { font-size: var(--text-5); }
3031
- .text-6 { font-size: var(--text-6); }
3032
- .text-7 { font-size: var(--text-7); }
3033
- .text-8 { font-size: var(--text-8); }
3034
-
3035
- .text-small { font-size: var(--text-7); }
3036
- .text-xs { font-size: var(--text-8); }
3037
- .text-regular { font-size: var(--text-regular); }
3418
+ .text-1 {
3419
+ font-size: var(--text-1);
3420
+ }
3421
+
3422
+ .text-2 {
3423
+ font-size: var(--text-2);
3424
+ }
3425
+
3426
+ .text-3 {
3427
+ font-size: var(--text-3);
3428
+ }
3429
+
3430
+ .text-4 {
3431
+ font-size: var(--text-4);
3432
+ }
3433
+
3434
+ .text-5 {
3435
+ font-size: var(--text-5);
3436
+ }
3437
+
3438
+ .text-6 {
3439
+ font-size: var(--text-6);
3440
+ }
3441
+
3442
+ .text-7 {
3443
+ font-size: var(--text-7);
3444
+ }
3445
+
3446
+ .text-8 {
3447
+ font-size: var(--text-8);
3448
+ }
3449
+
3450
+ .text-small {
3451
+ font-size: var(--text-7);
3452
+ }
3453
+
3454
+ .text-xs {
3455
+ font-size: var(--text-8);
3456
+ }
3457
+
3458
+ .text-regular {
3459
+ font-size: var(--text-regular);
3460
+ }
3038
3461
 
3039
3462
  /* ── Font weight ─────────────────────────────────────────────────────── */
3040
- .font-normal { font-weight: var(--font-normal); }
3041
- .font-medium { font-weight: var(--font-medium); }
3042
- .font-semibold { font-weight: var(--font-semibold); }
3043
- .font-bold { font-weight: var(--font-bold); }
3463
+ .font-normal {
3464
+ font-weight: var(--font-normal);
3465
+ }
3466
+
3467
+ .font-medium {
3468
+ font-weight: var(--font-medium);
3469
+ }
3470
+
3471
+ .font-semibold {
3472
+ font-weight: var(--font-semibold);
3473
+ }
3474
+
3475
+ .font-bold {
3476
+ font-weight: var(--font-bold);
3477
+ }
3044
3478
 
3045
3479
  /* ── Font family ─────────────────────────────────────────────────────── */
3046
- .font-sans { font-family: var(--font-sans); }
3047
- .font-mono { font-family: var(--font-mono); }
3480
+ .font-sans {
3481
+ font-family: var(--font-sans);
3482
+ }
3483
+
3484
+ .font-mono {
3485
+ font-family: var(--font-mono);
3486
+ }
3048
3487
 
3049
3488
  /* ── Line-height ─────────────────────────────────────────────────────── */
3050
- .leading-none { line-height: var(--leading-none); }
3051
- .leading-tight { line-height: var(--leading-tight); }
3052
- .leading-snug { line-height: var(--leading-snug); }
3053
- .leading-normal { line-height: var(--leading-normal); }
3054
- .leading-relaxed { line-height: var(--leading-relaxed); }
3055
- .leading-loose { line-height: var(--leading-loose); }
3489
+ .leading-none {
3490
+ line-height: var(--leading-none);
3491
+ }
3492
+
3493
+ .leading-tight {
3494
+ line-height: var(--leading-tight);
3495
+ }
3496
+
3497
+ .leading-snug {
3498
+ line-height: var(--leading-snug);
3499
+ }
3500
+
3501
+ .leading-normal {
3502
+ line-height: var(--leading-normal);
3503
+ }
3504
+
3505
+ .leading-relaxed {
3506
+ line-height: var(--leading-relaxed);
3507
+ }
3508
+
3509
+ .leading-loose {
3510
+ line-height: var(--leading-loose);
3511
+ }
3056
3512
 
3057
3513
  /* ── Letter-spacing ──────────────────────────────────────────────────── */
3058
- .tracking-tighter { letter-spacing: var(--tracking-tighter); }
3059
- .tracking-tight { letter-spacing: var(--tracking-tight); }
3060
- .tracking-normal { letter-spacing: var(--tracking-normal); }
3061
- .tracking-wide { letter-spacing: var(--tracking-wide); }
3062
- .tracking-wider { letter-spacing: var(--tracking-wider); }
3063
- .tracking-widest { letter-spacing: var(--tracking-widest); }
3514
+ .tracking-tighter {
3515
+ letter-spacing: var(--tracking-tighter);
3516
+ }
3517
+
3518
+ .tracking-tight {
3519
+ letter-spacing: var(--tracking-tight);
3520
+ }
3521
+
3522
+ .tracking-normal {
3523
+ letter-spacing: var(--tracking-normal);
3524
+ }
3525
+
3526
+ .tracking-wide {
3527
+ letter-spacing: var(--tracking-wide);
3528
+ }
3529
+
3530
+ .tracking-wider {
3531
+ letter-spacing: var(--tracking-wider);
3532
+ }
3533
+
3534
+ .tracking-widest {
3535
+ letter-spacing: var(--tracking-widest);
3536
+ }
3064
3537
 
3065
3538
  /* ── Text transform ──────────────────────────────────────────────────── */
3066
- .uppercase { text-transform: uppercase; }
3067
- .lowercase { text-transform: lowercase; }
3068
- .capitalize { text-transform: capitalize; }
3069
- .normal-case { text-transform: none; }
3539
+ .uppercase {
3540
+ text-transform: uppercase;
3541
+ }
3542
+
3543
+ .lowercase {
3544
+ text-transform: lowercase;
3545
+ }
3546
+
3547
+ .capitalize {
3548
+ text-transform: capitalize;
3549
+ }
3550
+
3551
+ .normal-case {
3552
+ text-transform: none;
3553
+ }
3070
3554
 
3071
3555
  /* ── Text decoration ─────────────────────────────────────────────────── */
3072
- .underline { text-decoration-line: underline; }
3073
- .overline { text-decoration-line: overline; }
3074
- .line-through { text-decoration-line: line-through; }
3075
- .no-underline { text-decoration-line: none; }
3556
+ .underline {
3557
+ text-decoration-line: underline;
3558
+ }
3559
+
3560
+ .overline {
3561
+ text-decoration-line: overline;
3562
+ }
3563
+
3564
+ .line-through {
3565
+ text-decoration-line: line-through;
3566
+ }
3567
+
3568
+ .no-underline {
3569
+ text-decoration-line: none;
3570
+ }
3076
3571
 
3077
3572
  /* ── Text wrapping ───────────────────────────────────────────────────── */
3078
- .text-balance { text-wrap: balance; }
3079
- .text-pretty { text-wrap: pretty; }
3080
- .text-nowrap { text-wrap: nowrap; }
3573
+ .text-balance {
3574
+ text-wrap: balance;
3575
+ }
3576
+
3577
+ .text-pretty {
3578
+ text-wrap: pretty;
3579
+ }
3580
+
3581
+ .text-nowrap {
3582
+ text-wrap: nowrap;
3583
+ }
3081
3584
 
3082
3585
  /* ── White-space ─────────────────────────────────────────────────────── */
3083
- .whitespace-normal { white-space: normal; }
3084
- .whitespace-nowrap { white-space: nowrap; }
3085
- .whitespace-pre { white-space: pre; }
3086
- .whitespace-pre-line { white-space: pre-line; }
3087
- .whitespace-pre-wrap { white-space: pre-wrap; }
3586
+ .whitespace-normal {
3587
+ white-space: normal;
3588
+ }
3589
+
3590
+ .whitespace-nowrap {
3591
+ white-space: nowrap;
3592
+ }
3593
+
3594
+ .whitespace-pre {
3595
+ white-space: pre;
3596
+ }
3597
+
3598
+ .whitespace-pre-line {
3599
+ white-space: pre-line;
3600
+ }
3601
+
3602
+ .whitespace-pre-wrap {
3603
+ white-space: pre-wrap;
3604
+ }
3088
3605
 
3089
3606
  /* ── Line clamp (multi-line truncation) ──────────────────────────────── */
3090
- .line-clamp-1 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
3091
- .line-clamp-2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
3092
- .line-clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
3093
- .line-clamp-4 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
3094
- .line-clamp-none { display: block; -webkit-box-orient: initial; -webkit-line-clamp: none; overflow: visible; }
3607
+ .line-clamp-1 {
3608
+ display: -webkit-box;
3609
+ -webkit-box-orient: vertical;
3610
+ -webkit-line-clamp: 1;
3611
+ overflow: hidden;
3612
+ }
3613
+
3614
+ .line-clamp-2 {
3615
+ display: -webkit-box;
3616
+ -webkit-box-orient: vertical;
3617
+ -webkit-line-clamp: 2;
3618
+ overflow: hidden;
3619
+ }
3620
+
3621
+ .line-clamp-3 {
3622
+ display: -webkit-box;
3623
+ -webkit-box-orient: vertical;
3624
+ -webkit-line-clamp: 3;
3625
+ overflow: hidden;
3626
+ }
3627
+
3628
+ .line-clamp-4 {
3629
+ display: -webkit-box;
3630
+ -webkit-box-orient: vertical;
3631
+ -webkit-line-clamp: 4;
3632
+ overflow: hidden;
3633
+ }
3634
+
3635
+ .line-clamp-none {
3636
+ display: block;
3637
+ -webkit-box-orient: initial;
3638
+ -webkit-line-clamp: none;
3639
+ overflow: visible;
3640
+ }
3095
3641
 
3096
3642
  /* ── Word break ──────────────────────────────────────────────────────── */
3097
- .break-normal { overflow-wrap: normal; word-break: normal; }
3098
- .break-words { overflow-wrap: break-word; }
3099
- .break-all { word-break: break-all; }
3643
+ .break-normal {
3644
+ overflow-wrap: normal;
3645
+ word-break: normal;
3646
+ }
3647
+
3648
+ .break-words {
3649
+ overflow-wrap: break-word;
3650
+ }
3651
+
3652
+ .break-all {
3653
+ word-break: break-all;
3654
+ }
3100
3655
 
3101
3656
  /* ── Flexbox ─────────────────────────────────────────────────────────── */
3102
- .flex { display: flex; }
3103
- .flex-col { flex-direction: column; }
3104
- .flex-row { flex-direction: row; }
3105
- .flex-wrap { flex-wrap: wrap; }
3106
- .flex-1 { flex: 1; }
3107
- .items-center { align-items: center; }
3108
- .items-start { align-items: flex-start; }
3109
- .items-end { align-items: flex-end; }
3110
- .justify-center { justify-content: center; }
3111
- .justify-between { justify-content: space-between; }
3112
- .justify-end { justify-content: flex-end; }
3113
- .justify-start { justify-content: flex-start; }
3657
+ .flex {
3658
+ display: flex;
3659
+ }
3660
+
3661
+ .flex-col {
3662
+ flex-direction: column;
3663
+ }
3664
+
3665
+ .flex-row {
3666
+ flex-direction: row;
3667
+ }
3668
+
3669
+ .flex-wrap {
3670
+ flex-wrap: wrap;
3671
+ }
3672
+
3673
+ .flex-1 {
3674
+ flex: 1;
3675
+ }
3676
+
3677
+ .items-center {
3678
+ align-items: center;
3679
+ }
3680
+
3681
+ .items-start {
3682
+ align-items: flex-start;
3683
+ }
3684
+
3685
+ .items-end {
3686
+ align-items: flex-end;
3687
+ }
3688
+
3689
+ .justify-center {
3690
+ justify-content: center;
3691
+ }
3692
+
3693
+ .justify-between {
3694
+ justify-content: space-between;
3695
+ }
3696
+
3697
+ .justify-end {
3698
+ justify-content: flex-end;
3699
+ }
3700
+
3701
+ .justify-start {
3702
+ justify-content: flex-start;
3703
+ }
3114
3704
 
3115
3705
  /* Bootstrap inspired. */
3116
3706
  .hstack {
@@ -3125,6 +3715,7 @@
3125
3715
  margin: 0;
3126
3716
  }
3127
3717
  }
3718
+
3128
3719
  .vstack {
3129
3720
  display: flex;
3130
3721
  flex-direction: column;
@@ -3132,59 +3723,174 @@
3132
3723
  }
3133
3724
 
3134
3725
  /* ── Gap ──────────────────────────────────────────────────────────────── */
3135
- .gap-1 { gap: var(--space-1); }
3136
- .gap-2 { gap: var(--space-2); }
3137
- .gap-3 { gap: var(--space-3); }
3138
- .gap-4 { gap: var(--space-4); }
3139
- .gap-6 { gap: var(--space-6); }
3140
- .gap-8 { gap: var(--space-8); }
3726
+ .gap-1 {
3727
+ gap: var(--space-1);
3728
+ }
3729
+
3730
+ .gap-2 {
3731
+ gap: var(--space-2);
3732
+ }
3733
+
3734
+ .gap-3 {
3735
+ gap: var(--space-3);
3736
+ }
3737
+
3738
+ .gap-4 {
3739
+ gap: var(--space-4);
3740
+ }
3741
+
3742
+ .gap-6 {
3743
+ gap: var(--space-6);
3744
+ }
3745
+
3746
+ .gap-8 {
3747
+ gap: var(--space-8);
3748
+ }
3141
3749
 
3142
3750
  /* ── Margin ──────────────────────────────────────────────────────────── */
3143
- .mt-0 { margin-block-start: 0; }
3144
- .mt-2 { margin-block-start: var(--space-2); }
3145
- .mt-4 { margin-block-start: var(--space-4); }
3146
- .mt-6 { margin-block-start: var(--space-6); }
3147
- .mt-8 { margin-block-start: var(--space-8); }
3148
-
3149
- .mb-0 { margin-block-end: 0; }
3150
- .mb-2 { margin-block-end: var(--space-2); }
3151
- .mb-4 { margin-block-end: var(--space-4); }
3152
- .mb-6 { margin-block-end: var(--space-6); }
3153
- .mb-8 { margin-block-end: var(--space-8); }
3751
+ .mt-0 {
3752
+ margin-block-start: 0;
3753
+ }
3754
+
3755
+ .mt-2 {
3756
+ margin-block-start: var(--space-2);
3757
+ }
3758
+
3759
+ .mt-4 {
3760
+ margin-block-start: var(--space-4);
3761
+ }
3762
+
3763
+ .mt-6 {
3764
+ margin-block-start: var(--space-6);
3765
+ }
3766
+
3767
+ .mt-8 {
3768
+ margin-block-start: var(--space-8);
3769
+ }
3770
+
3771
+ .mb-0 {
3772
+ margin-block-end: 0;
3773
+ }
3774
+
3775
+ .mb-2 {
3776
+ margin-block-end: var(--space-2);
3777
+ }
3778
+
3779
+ .mb-4 {
3780
+ margin-block-end: var(--space-4);
3781
+ }
3782
+
3783
+ .mb-6 {
3784
+ margin-block-end: var(--space-6);
3785
+ }
3786
+
3787
+ .mb-8 {
3788
+ margin-block-end: var(--space-8);
3789
+ }
3154
3790
 
3155
3791
  /* ── Padding ─────────────────────────────────────────────────────────── */
3156
- .p-0 { padding: 0; }
3157
- .p-2 { padding: var(--space-2); }
3158
- .p-4 { padding: var(--space-4); }
3159
- .p-6 { padding: var(--space-6); }
3160
- .p-8 { padding: var(--space-8); }
3792
+ .p-0 {
3793
+ padding: 0;
3794
+ }
3161
3795
 
3162
- .px-2 { padding-inline: var(--space-2); }
3163
- .px-4 { padding-inline: var(--space-4); }
3164
- .py-2 { padding-block: var(--space-2); }
3165
- .py-4 { padding-block: var(--space-4); }
3796
+ .p-2 {
3797
+ padding: var(--space-2);
3798
+ }
3799
+
3800
+ .p-4 {
3801
+ padding: var(--space-4);
3802
+ }
3803
+
3804
+ .p-6 {
3805
+ padding: var(--space-6);
3806
+ }
3807
+
3808
+ .p-8 {
3809
+ padding: var(--space-8);
3810
+ }
3811
+
3812
+ .px-2 {
3813
+ padding-inline: var(--space-2);
3814
+ }
3815
+
3816
+ .px-4 {
3817
+ padding-inline: var(--space-4);
3818
+ }
3819
+
3820
+ .py-2 {
3821
+ padding-block: var(--space-2);
3822
+ }
3823
+
3824
+ .py-4 {
3825
+ padding-block: var(--space-4);
3826
+ }
3166
3827
 
3167
3828
  /* ── Width ───────────────────────────────────────────────────────────── */
3168
- .w-100 { width: 100%; }
3169
- .w-auto { width: auto; }
3170
- .max-w-sm { max-width: 24rem; }
3171
- .max-w-md { max-width: 28rem; }
3172
- .max-w-lg { max-width: 32rem; }
3173
- .max-w-xl { max-width: 36rem; }
3829
+ .w-100 {
3830
+ width: 100%;
3831
+ }
3832
+
3833
+ .w-auto {
3834
+ width: auto;
3835
+ }
3836
+
3837
+ .max-w-sm {
3838
+ max-width: 24rem;
3839
+ }
3840
+
3841
+ .max-w-md {
3842
+ max-width: 28rem;
3843
+ }
3844
+
3845
+ .max-w-lg {
3846
+ max-width: 32rem;
3847
+ }
3848
+
3849
+ .max-w-xl {
3850
+ max-width: 36rem;
3851
+ }
3174
3852
 
3175
3853
  /* ── Display ─────────────────────────────────────────────────────────── */
3176
- .d-none { display: none; }
3177
- .d-block { display: block; }
3178
- .d-flex { display: flex; }
3179
- .d-grid { display: grid; }
3180
- .d-inline { display: inline; }
3181
- .d-inline-block { display: inline-block; }
3182
- .d-inline-flex { display: inline-flex; }
3854
+ .d-none {
3855
+ display: none;
3856
+ }
3857
+
3858
+ .d-block {
3859
+ display: block;
3860
+ }
3861
+
3862
+ .d-flex {
3863
+ display: flex;
3864
+ }
3865
+
3866
+ .d-grid {
3867
+ display: grid;
3868
+ }
3869
+
3870
+ .d-inline {
3871
+ display: inline;
3872
+ }
3873
+
3874
+ .d-inline-block {
3875
+ display: inline-block;
3876
+ }
3877
+
3878
+ .d-inline-flex {
3879
+ display: inline-flex;
3880
+ }
3183
3881
 
3184
3882
  /* ── Overflow ─────────────────────────────────────────────────────────── */
3185
- .overflow-auto { overflow: auto; }
3186
- .overflow-hidden { overflow: hidden; }
3187
- .overflow-x-auto { overflow-x: auto; }
3883
+ .overflow-auto {
3884
+ overflow: auto;
3885
+ }
3886
+
3887
+ .overflow-hidden {
3888
+ overflow: hidden;
3889
+ }
3890
+
3891
+ .overflow-x-auto {
3892
+ overflow-x: auto;
3893
+ }
3188
3894
 
3189
3895
  /* ── Misc ─────────────────────────────────────────────────────────────── */
3190
3896
  .truncate {
@@ -3213,117 +3919,340 @@
3213
3919
 
3214
3920
  /* ── Responsive display utilities (media queries) ────────────────────── */
3215
3921
  @media (max-width: 639px) {
3216
- .sm\:d-none { display: none; }
3217
- .hide-mobile { display: none; }
3922
+ .sm\:d-none {
3923
+ display: none;
3924
+ }
3925
+
3926
+ .hide-mobile {
3927
+ display: none;
3928
+ }
3218
3929
  }
3930
+
3219
3931
  @media (min-width: 640px) {
3220
- .sm\:d-block { display: block; }
3221
- .sm\:d-flex { display: flex; }
3222
- .sm\:d-grid { display: grid; }
3223
- .sm\:d-none { display: none; }
3224
- .sm\:flex-row { flex-direction: row; }
3225
- .sm\:flex-col { flex-direction: column; }
3226
- .show-mobile { display: none; }
3932
+ .sm\:d-block {
3933
+ display: block;
3934
+ }
3935
+
3936
+ .sm\:d-flex {
3937
+ display: flex;
3938
+ }
3939
+
3940
+ .sm\:d-grid {
3941
+ display: grid;
3942
+ }
3943
+
3944
+ .sm\:d-none {
3945
+ display: none;
3946
+ }
3947
+
3948
+ .sm\:flex-row {
3949
+ flex-direction: row;
3950
+ }
3951
+
3952
+ .sm\:flex-col {
3953
+ flex-direction: column;
3954
+ }
3955
+
3956
+ .show-mobile {
3957
+ display: none;
3958
+ }
3227
3959
  }
3960
+
3228
3961
  @media (min-width: 768px) {
3229
- .md\:d-block { display: block; }
3230
- .md\:d-flex { display: flex; }
3231
- .md\:d-grid { display: grid; }
3232
- .md\:d-none { display: none; }
3233
- .md\:flex-row { flex-direction: row; }
3234
- .md\:flex-col { flex-direction: column; }
3962
+ .md\:d-block {
3963
+ display: block;
3964
+ }
3965
+
3966
+ .md\:d-flex {
3967
+ display: flex;
3968
+ }
3969
+
3970
+ .md\:d-grid {
3971
+ display: grid;
3972
+ }
3973
+
3974
+ .md\:d-none {
3975
+ display: none;
3976
+ }
3977
+
3978
+ .md\:flex-row {
3979
+ flex-direction: row;
3980
+ }
3981
+
3982
+ .md\:flex-col {
3983
+ flex-direction: column;
3984
+ }
3235
3985
  }
3986
+
3236
3987
  @media (min-width: 1024px) {
3237
- .lg\:d-block { display: block; }
3238
- .lg\:d-flex { display: flex; }
3239
- .lg\:d-grid { display: grid; }
3240
- .lg\:d-none { display: none; }
3241
- .lg\:flex-row { flex-direction: row; }
3242
- .lg\:flex-col { flex-direction: column; }
3988
+ .lg\:d-block {
3989
+ display: block;
3990
+ }
3991
+
3992
+ .lg\:d-flex {
3993
+ display: flex;
3994
+ }
3995
+
3996
+ .lg\:d-grid {
3997
+ display: grid;
3998
+ }
3999
+
4000
+ .lg\:d-none {
4001
+ display: none;
4002
+ }
4003
+
4004
+ .lg\:flex-row {
4005
+ flex-direction: row;
4006
+ }
4007
+
4008
+ .lg\:flex-col {
4009
+ flex-direction: column;
4010
+ }
3243
4011
  }
4012
+
3244
4013
  @media (min-width: 1280px) {
3245
- .xl\:d-block { display: block; }
3246
- .xl\:d-flex { display: flex; }
3247
- .xl\:d-grid { display: grid; }
3248
- .xl\:d-none { display: none; }
4014
+ .xl\:d-block {
4015
+ display: block;
4016
+ }
4017
+
4018
+ .xl\:d-flex {
4019
+ display: flex;
4020
+ }
4021
+
4022
+ .xl\:d-grid {
4023
+ display: grid;
4024
+ }
4025
+
4026
+ .xl\:d-none {
4027
+ display: none;
4028
+ }
3249
4029
  }
3250
4030
 
3251
4031
  /* ── Responsive text alignment ───────────────────────────────────────── */
3252
4032
  @media (min-width: 640px) {
3253
- .sm\:text-left { text-align: start; }
3254
- .sm\:text-center { text-align: center; }
3255
- .sm\:text-right { text-align: end; }
4033
+ .sm\:text-left {
4034
+ text-align: start;
4035
+ }
4036
+
4037
+ .sm\:text-center {
4038
+ text-align: center;
4039
+ }
4040
+
4041
+ .sm\:text-right {
4042
+ text-align: end;
4043
+ }
3256
4044
  }
4045
+
3257
4046
  @media (min-width: 768px) {
3258
- .md\:text-left { text-align: start; }
3259
- .md\:text-center { text-align: center; }
3260
- .md\:text-right { text-align: end; }
4047
+ .md\:text-left {
4048
+ text-align: start;
4049
+ }
4050
+
4051
+ .md\:text-center {
4052
+ text-align: center;
4053
+ }
4054
+
4055
+ .md\:text-right {
4056
+ text-align: end;
4057
+ }
3261
4058
  }
4059
+
3262
4060
  @media (min-width: 1024px) {
3263
- .lg\:text-left { text-align: start; }
3264
- .lg\:text-center { text-align: center; }
3265
- .lg\:text-right { text-align: end; }
4061
+ .lg\:text-left {
4062
+ text-align: start;
4063
+ }
4064
+
4065
+ .lg\:text-center {
4066
+ text-align: center;
4067
+ }
4068
+
4069
+ .lg\:text-right {
4070
+ text-align: end;
4071
+ }
3266
4072
  }
3267
4073
 
3268
4074
  /* ── Responsive text sizes ─────────────────────────────────────────── */
3269
4075
  @media (min-width: 640px) {
3270
- .sm\:text-1 { font-size: var(--text-1); }
3271
- .sm\:text-2 { font-size: var(--text-2); }
3272
- .sm\:text-3 { font-size: var(--text-3); }
3273
- .sm\:text-4 { font-size: var(--text-4); }
3274
- .sm\:text-5 { font-size: var(--text-5); }
3275
- .sm\:text-6 { font-size: var(--text-6); }
3276
- .sm\:text-7 { font-size: var(--text-7); }
3277
- .sm\:text-8 { font-size: var(--text-8); }
4076
+ .sm\:text-1 {
4077
+ font-size: var(--text-1);
4078
+ }
4079
+
4080
+ .sm\:text-2 {
4081
+ font-size: var(--text-2);
4082
+ }
4083
+
4084
+ .sm\:text-3 {
4085
+ font-size: var(--text-3);
4086
+ }
4087
+
4088
+ .sm\:text-4 {
4089
+ font-size: var(--text-4);
4090
+ }
4091
+
4092
+ .sm\:text-5 {
4093
+ font-size: var(--text-5);
4094
+ }
4095
+
4096
+ .sm\:text-6 {
4097
+ font-size: var(--text-6);
4098
+ }
4099
+
4100
+ .sm\:text-7 {
4101
+ font-size: var(--text-7);
4102
+ }
4103
+
4104
+ .sm\:text-8 {
4105
+ font-size: var(--text-8);
4106
+ }
3278
4107
  }
4108
+
3279
4109
  @media (min-width: 768px) {
3280
- .md\:text-1 { font-size: var(--text-1); }
3281
- .md\:text-2 { font-size: var(--text-2); }
3282
- .md\:text-3 { font-size: var(--text-3); }
3283
- .md\:text-4 { font-size: var(--text-4); }
3284
- .md\:text-5 { font-size: var(--text-5); }
3285
- .md\:text-6 { font-size: var(--text-6); }
3286
- .md\:text-7 { font-size: var(--text-7); }
3287
- .md\:text-8 { font-size: var(--text-8); }
4110
+ .md\:text-1 {
4111
+ font-size: var(--text-1);
4112
+ }
4113
+
4114
+ .md\:text-2 {
4115
+ font-size: var(--text-2);
4116
+ }
4117
+
4118
+ .md\:text-3 {
4119
+ font-size: var(--text-3);
4120
+ }
4121
+
4122
+ .md\:text-4 {
4123
+ font-size: var(--text-4);
4124
+ }
4125
+
4126
+ .md\:text-5 {
4127
+ font-size: var(--text-5);
4128
+ }
4129
+
4130
+ .md\:text-6 {
4131
+ font-size: var(--text-6);
4132
+ }
4133
+
4134
+ .md\:text-7 {
4135
+ font-size: var(--text-7);
4136
+ }
4137
+
4138
+ .md\:text-8 {
4139
+ font-size: var(--text-8);
4140
+ }
3288
4141
  }
4142
+
3289
4143
  @media (min-width: 1024px) {
3290
- .lg\:text-1 { font-size: var(--text-1); }
3291
- .lg\:text-2 { font-size: var(--text-2); }
3292
- .lg\:text-3 { font-size: var(--text-3); }
3293
- .lg\:text-4 { font-size: var(--text-4); }
3294
- .lg\:text-5 { font-size: var(--text-5); }
3295
- .lg\:text-6 { font-size: var(--text-6); }
3296
- .lg\:text-7 { font-size: var(--text-7); }
3297
- .lg\:text-8 { font-size: var(--text-8); }
4144
+ .lg\:text-1 {
4145
+ font-size: var(--text-1);
4146
+ }
4147
+
4148
+ .lg\:text-2 {
4149
+ font-size: var(--text-2);
4150
+ }
4151
+
4152
+ .lg\:text-3 {
4153
+ font-size: var(--text-3);
4154
+ }
4155
+
4156
+ .lg\:text-4 {
4157
+ font-size: var(--text-4);
4158
+ }
4159
+
4160
+ .lg\:text-5 {
4161
+ font-size: var(--text-5);
4162
+ }
4163
+
4164
+ .lg\:text-6 {
4165
+ font-size: var(--text-6);
4166
+ }
4167
+
4168
+ .lg\:text-7 {
4169
+ font-size: var(--text-7);
4170
+ }
4171
+
4172
+ .lg\:text-8 {
4173
+ font-size: var(--text-8);
4174
+ }
3298
4175
  }
3299
4176
 
3300
4177
  /* ── Responsive gap ──────────────────────────────────────────────────── */
3301
4178
  @media (min-width: 640px) {
3302
- .sm\:gap-2 { gap: var(--space-2); }
3303
- .sm\:gap-4 { gap: var(--space-4); }
3304
- .sm\:gap-6 { gap: var(--space-6); }
3305
- .sm\:gap-8 { gap: var(--space-8); }
4179
+ .sm\:gap-2 {
4180
+ gap: var(--space-2);
4181
+ }
4182
+
4183
+ .sm\:gap-4 {
4184
+ gap: var(--space-4);
4185
+ }
4186
+
4187
+ .sm\:gap-6 {
4188
+ gap: var(--space-6);
4189
+ }
4190
+
4191
+ .sm\:gap-8 {
4192
+ gap: var(--space-8);
4193
+ }
3306
4194
  }
4195
+
3307
4196
  @media (min-width: 768px) {
3308
- .md\:gap-2 { gap: var(--space-2); }
3309
- .md\:gap-4 { gap: var(--space-4); }
3310
- .md\:gap-6 { gap: var(--space-6); }
3311
- .md\:gap-8 { gap: var(--space-8); }
4197
+ .md\:gap-2 {
4198
+ gap: var(--space-2);
4199
+ }
4200
+
4201
+ .md\:gap-4 {
4202
+ gap: var(--space-4);
4203
+ }
4204
+
4205
+ .md\:gap-6 {
4206
+ gap: var(--space-6);
4207
+ }
4208
+
4209
+ .md\:gap-8 {
4210
+ gap: var(--space-8);
4211
+ }
3312
4212
  }
3313
4213
 
3314
4214
  /* ── Responsive padding ──────────────────────────────────────────────── */
3315
4215
  @media (min-width: 640px) {
3316
- .sm\:p-4 { padding: var(--space-4); }
3317
- .sm\:p-6 { padding: var(--space-6); }
3318
- .sm\:p-8 { padding: var(--space-8); }
3319
- .sm\:px-4 { padding-inline: var(--space-4); }
3320
- .sm\:px-6 { padding-inline: var(--space-6); }
4216
+ .sm\:p-4 {
4217
+ padding: var(--space-4);
4218
+ }
4219
+
4220
+ .sm\:p-6 {
4221
+ padding: var(--space-6);
4222
+ }
4223
+
4224
+ .sm\:p-8 {
4225
+ padding: var(--space-8);
4226
+ }
4227
+
4228
+ .sm\:px-4 {
4229
+ padding-inline: var(--space-4);
4230
+ }
4231
+
4232
+ .sm\:px-6 {
4233
+ padding-inline: var(--space-6);
4234
+ }
3321
4235
  }
4236
+
3322
4237
  @media (min-width: 768px) {
3323
- .md\:p-4 { padding: var(--space-4); }
3324
- .md\:p-6 { padding: var(--space-6); }
3325
- .md\:p-8 { padding: var(--space-8); }
3326
- .md\:px-4 { padding-inline: var(--space-4); }
3327
- .md\:px-6 { padding-inline: var(--space-6); }
4238
+ .md\:p-4 {
4239
+ padding: var(--space-4);
4240
+ }
4241
+
4242
+ .md\:p-6 {
4243
+ padding: var(--space-6);
4244
+ }
4245
+
4246
+ .md\:p-8 {
4247
+ padding: var(--space-8);
4248
+ }
4249
+
4250
+ .md\:px-4 {
4251
+ padding-inline: var(--space-4);
4252
+ }
4253
+
4254
+ .md\:px-6 {
4255
+ padding-inline: var(--space-6);
4256
+ }
3328
4257
  }
3329
- }
4258
+ }