carfdevcss 0.0.7 → 0.0.9

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/index.css +777 -216
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carfdevcss",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "Tailwind CSS adapter for carfdev design system",
5
5
  "style": "./src/index.css",
6
6
  "exports": {
package/src/index.css CHANGED
@@ -601,6 +601,47 @@
601
601
  border: 0 solid; /* 3 */
602
602
  }
603
603
 
604
+ ::selection {
605
+ background-color: var(--color-secondary);
606
+ color: var(--color-neutral);
607
+ }
608
+
609
+ :focus-visible {
610
+ outline: 2px solid var(--color-accent);
611
+ outline-offset: 4px;
612
+ border-radius: 4px;
613
+ }
614
+
615
+ input:focus-visible,
616
+ button:focus-visible,
617
+ a:focus-visible {
618
+ outline-color: var(--color-accent);
619
+ }
620
+
621
+ ::-webkit-scrollbar {
622
+ width: 10px;
623
+ height: 10px;
624
+ }
625
+
626
+ ::-webkit-scrollbar-track {
627
+ background: var(--color-base);
628
+ border-radius: 4px;
629
+ }
630
+
631
+ ::-webkit-scrollbar-thumb {
632
+ background-color: color-mix(
633
+ in oklab,
634
+ var(--color-neutral) 25%,
635
+ transparent
636
+ );
637
+ border-radius: 9999px;
638
+ border: 2px solid var(--color-base);
639
+ }
640
+
641
+ ::-webkit-scrollbar-thumb:hover {
642
+ background-color: var(--color-primary);
643
+ }
644
+
604
645
  html,
605
646
  :host {
606
647
  line-height: 1.5; /* 1 */
@@ -610,6 +651,10 @@
610
651
  font-feature-settings: normal; /* 5 */
611
652
  font-variation-settings: normal; /* 6 */
612
653
  -webkit-tap-highlight-color: transparent; /* 7 */
654
+
655
+ scrollbar-width: thin;
656
+ scrollbar-color: color-mix(in oklab, var(--color-neutral) 25%, transparent)
657
+ var(--color-base);
613
658
  }
614
659
 
615
660
  hr {
@@ -1059,455 +1104,936 @@
1059
1104
  ============================================ */
1060
1105
 
1061
1106
  @keyframes fade-in {
1062
- 0% { opacity: 0; }
1063
- 100% { opacity: 1; }
1107
+ 0% {
1108
+ opacity: 0;
1109
+ }
1110
+ 100% {
1111
+ opacity: 1;
1112
+ }
1064
1113
  }
1065
1114
 
1066
1115
  @keyframes fade-out {
1067
- 0% { opacity: 1; }
1068
- 100% { opacity: 0; }
1116
+ 0% {
1117
+ opacity: 1;
1118
+ }
1119
+ 100% {
1120
+ opacity: 0;
1121
+ }
1069
1122
  }
1070
1123
 
1071
1124
  @keyframes slide-in-top {
1072
- 0% { transform: translateY(-20px); }
1073
- 100% { transform: translateY(0); }
1125
+ 0% {
1126
+ transform: translateY(-20px);
1127
+ }
1128
+ 100% {
1129
+ transform: translateY(0);
1130
+ }
1074
1131
  }
1075
1132
 
1076
1133
  @keyframes slide-in-bottom {
1077
- 0% { transform: translateY(20px); }
1078
- 100% { transform: translateY(0); }
1134
+ 0% {
1135
+ transform: translateY(20px);
1136
+ }
1137
+ 100% {
1138
+ transform: translateY(0);
1139
+ }
1079
1140
  }
1080
1141
 
1081
1142
  @keyframes slide-out-top {
1082
- 0% { transform: translateY(0); }
1083
- 100% { transform: translateY(-20px); }
1143
+ 0% {
1144
+ transform: translateY(0);
1145
+ }
1146
+ 100% {
1147
+ transform: translateY(-20px);
1148
+ }
1084
1149
  }
1085
1150
 
1086
1151
  @keyframes slide-out-bottom {
1087
- 0% { transform: translateY(0); }
1088
- 100% { transform: translateY(20px); }
1152
+ 0% {
1153
+ transform: translateY(0);
1154
+ }
1155
+ 100% {
1156
+ transform: translateY(20px);
1157
+ }
1089
1158
  }
1090
1159
 
1091
1160
  @keyframes zoom-in {
1092
- 0% { opacity: 0; transform: scale(.5); }
1093
- 100% { opacity: 1; transform: scale(1); }
1161
+ 0% {
1162
+ opacity: 0;
1163
+ transform: scale(0.5);
1164
+ }
1165
+ 100% {
1166
+ opacity: 1;
1167
+ transform: scale(1);
1168
+ }
1094
1169
  }
1095
1170
 
1096
1171
  @keyframes zoom-out {
1097
- 0% { opacity: 1; transform: scale(1); }
1098
- 100% { opacity: 0; transform: scale(.5); }
1172
+ 0% {
1173
+ opacity: 1;
1174
+ transform: scale(1);
1175
+ }
1176
+ 100% {
1177
+ opacity: 0;
1178
+ transform: scale(0.5);
1179
+ }
1099
1180
  }
1100
1181
 
1101
1182
  @keyframes rotate-90 {
1102
- 0% { transform: rotate(0deg); }
1103
- 100% { transform: rotate(90deg); }
1183
+ 0% {
1184
+ transform: rotate(0deg);
1185
+ }
1186
+ 100% {
1187
+ transform: rotate(90deg);
1188
+ }
1104
1189
  }
1105
1190
 
1106
1191
  @keyframes rotate-180 {
1107
- 0% { transform: rotate(0deg); }
1108
- 100% { transform: rotate(180deg); }
1192
+ 0% {
1193
+ transform: rotate(0deg);
1194
+ }
1195
+ 100% {
1196
+ transform: rotate(180deg);
1197
+ }
1109
1198
  }
1110
1199
 
1111
1200
  @keyframes rotate-360 {
1112
- 0% { transform: rotate(0deg); }
1113
- 100% { transform: rotate(360deg); }
1201
+ 0% {
1202
+ transform: rotate(0deg);
1203
+ }
1204
+ 100% {
1205
+ transform: rotate(360deg);
1206
+ }
1114
1207
  }
1115
1208
 
1116
1209
  @keyframes flip-horizontal {
1117
- 0% { transform: rotateY(0deg); }
1118
- 100% { transform: rotateY(180deg); }
1210
+ 0% {
1211
+ transform: rotateY(0deg);
1212
+ }
1213
+ 100% {
1214
+ transform: rotateY(180deg);
1215
+ }
1119
1216
  }
1120
1217
 
1121
1218
  @keyframes flip-vertical {
1122
- 0% { transform: rotateX(0deg); }
1123
- 100% { transform: rotateX(180deg); }
1219
+ 0% {
1220
+ transform: rotateX(0deg);
1221
+ }
1222
+ 100% {
1223
+ transform: rotateX(180deg);
1224
+ }
1124
1225
  }
1125
1226
 
1126
1227
  @keyframes bouncing {
1127
- 0% { transform: translateY(0); }
1128
- 50% { transform: translateY(-10px); }
1129
- 100% { transform: translateY(0); }
1228
+ 0% {
1229
+ transform: translateY(0);
1230
+ }
1231
+ 50% {
1232
+ transform: translateY(-10px);
1233
+ }
1234
+ 100% {
1235
+ transform: translateY(0);
1236
+ }
1130
1237
  }
1131
1238
 
1132
1239
  @keyframes swing {
1133
- 0% { transform: rotate(0deg); }
1134
- 50% { transform: rotate(15deg); }
1135
- 100% { transform: rotate(0deg); }
1240
+ 0% {
1241
+ transform: rotate(0deg);
1242
+ }
1243
+ 50% {
1244
+ transform: rotate(15deg);
1245
+ }
1246
+ 100% {
1247
+ transform: rotate(0deg);
1248
+ }
1136
1249
  }
1137
1250
 
1138
1251
  @keyframes wobble {
1139
- 0% { transform: translateX(0); }
1140
- 15% { transform: translateX(-20px); }
1141
- 30% { transform: translateX(20%); }
1142
- 45% { transform: translateX(-15%); }
1143
- 60% { transform: translateX(20px); }
1144
- 75% { transform: translateX(-5%); }
1145
- 100% { transform: translateX(0); }
1252
+ 0% {
1253
+ transform: translateX(0);
1254
+ }
1255
+ 15% {
1256
+ transform: translateX(-20px);
1257
+ }
1258
+ 30% {
1259
+ transform: translateX(20%);
1260
+ }
1261
+ 45% {
1262
+ transform: translateX(-15%);
1263
+ }
1264
+ 60% {
1265
+ transform: translateX(20px);
1266
+ }
1267
+ 75% {
1268
+ transform: translateX(-5%);
1269
+ }
1270
+ 100% {
1271
+ transform: translateX(0);
1272
+ }
1146
1273
  }
1147
1274
 
1148
1275
  @keyframes pulse {
1149
- 0%, 100% { opacity: 1; }
1150
- 50% { opacity: 0.5; }
1276
+ 0%,
1277
+ 100% {
1278
+ opacity: 1;
1279
+ }
1280
+ 50% {
1281
+ opacity: 0.5;
1282
+ }
1151
1283
  }
1152
1284
 
1153
1285
  @keyframes pulsing {
1154
- 0% { transform: scale(1); }
1155
- 50% { transform: scale(1.1); }
1156
- 100% { transform: scale(1); }
1286
+ 0% {
1287
+ transform: scale(1);
1288
+ }
1289
+ 50% {
1290
+ transform: scale(1.1);
1291
+ }
1292
+ 100% {
1293
+ transform: scale(1);
1294
+ }
1157
1295
  }
1158
1296
 
1159
1297
  @keyframes shake {
1160
- 0% { transform: translateX(0); }
1161
- 25% { transform: translateX(-10px); }
1162
- 50% { transform: translateX(10px); }
1163
- 75% { transform: translateX(-10px); }
1164
- 100% { transform: translateX(0); }
1298
+ 0% {
1299
+ transform: translateX(0);
1300
+ }
1301
+ 25% {
1302
+ transform: translateX(-10px);
1303
+ }
1304
+ 50% {
1305
+ transform: translateX(10px);
1306
+ }
1307
+ 75% {
1308
+ transform: translateX(-10px);
1309
+ }
1310
+ 100% {
1311
+ transform: translateX(0);
1312
+ }
1165
1313
  }
1166
1314
 
1167
1315
  @keyframes tada {
1168
- 0% { transform: scale(1); }
1169
- 10% { transform: scale(0.9) rotate(-3deg); }
1170
- 20% { transform: scale(0.9) rotate(-3deg); }
1171
- 30% { transform: scale(1.1) rotate(3deg); }
1172
- 40% { transform: scale(1.1) rotate(-3deg); }
1173
- 50% { transform: scale(1.1) rotate(3deg); }
1174
- 60% { transform: scale(1.1) rotate(-3deg); }
1175
- 70% { transform: scale(1.1) rotate(3deg); }
1176
- 80% { transform: scale(1.1) rotate(3deg); }
1177
- 90% { transform: scale(1.1) rotate(3deg); }
1178
- 100% { transform: scale(1) rotate(0); }
1316
+ 0% {
1317
+ transform: scale(1);
1318
+ }
1319
+ 10% {
1320
+ transform: scale(0.9) rotate(-3deg);
1321
+ }
1322
+ 20% {
1323
+ transform: scale(0.9) rotate(-3deg);
1324
+ }
1325
+ 30% {
1326
+ transform: scale(1.1) rotate(3deg);
1327
+ }
1328
+ 40% {
1329
+ transform: scale(1.1) rotate(-3deg);
1330
+ }
1331
+ 50% {
1332
+ transform: scale(1.1) rotate(3deg);
1333
+ }
1334
+ 60% {
1335
+ transform: scale(1.1) rotate(-3deg);
1336
+ }
1337
+ 70% {
1338
+ transform: scale(1.1) rotate(3deg);
1339
+ }
1340
+ 80% {
1341
+ transform: scale(1.1) rotate(3deg);
1342
+ }
1343
+ 90% {
1344
+ transform: scale(1.1) rotate(3deg);
1345
+ }
1346
+ 100% {
1347
+ transform: scale(1) rotate(0);
1348
+ }
1179
1349
  }
1180
1350
 
1181
1351
  @keyframes jump {
1182
- 0% { transform: translateY(0); }
1183
- 50% { transform: translateY(-20px); }
1184
- 100% { transform: translateY(0); }
1352
+ 0% {
1353
+ transform: translateY(0);
1354
+ }
1355
+ 50% {
1356
+ transform: translateY(-20px);
1357
+ }
1358
+ 100% {
1359
+ transform: translateY(0);
1360
+ }
1185
1361
  }
1186
1362
 
1187
1363
  @keyframes hang {
1188
- 0% { transform: translateY(-20px); }
1189
- 50% { transform: translateY(0); }
1190
- 100% { transform: translateY(-20px); }
1364
+ 0% {
1365
+ transform: translateY(-20px);
1366
+ }
1367
+ 50% {
1368
+ transform: translateY(0);
1369
+ }
1370
+ 100% {
1371
+ transform: translateY(-20px);
1372
+ }
1191
1373
  }
1192
1374
 
1193
1375
  @keyframes roll-in {
1194
- 0% { transform: translateX(-20px) rotate(-120deg); }
1195
- 100% { transform: translateX(0) rotate(0); }
1376
+ 0% {
1377
+ transform: translateX(-20px) rotate(-120deg);
1378
+ }
1379
+ 100% {
1380
+ transform: translateX(0) rotate(0);
1381
+ }
1196
1382
  }
1197
1383
 
1198
1384
  @keyframes roll-out {
1199
- 0% { transform: translateX(0) rotate(0); }
1200
- 100% { transform: translateX(20px) rotate(120deg); }
1385
+ 0% {
1386
+ transform: translateX(0) rotate(0);
1387
+ }
1388
+ 100% {
1389
+ transform: translateX(20px) rotate(120deg);
1390
+ }
1201
1391
  }
1202
1392
 
1203
1393
  @keyframes float {
1204
- 0% { transform: translateY(0); }
1205
- 50% { transform: translateY(-10px); }
1206
- 100% { transform: translateY(0); }
1394
+ 0% {
1395
+ transform: translateY(0);
1396
+ }
1397
+ 50% {
1398
+ transform: translateY(-10px);
1399
+ }
1400
+ 100% {
1401
+ transform: translateY(0);
1402
+ }
1207
1403
  }
1208
1404
 
1209
1405
  @keyframes sink {
1210
- 0% { transform: translateY(-10px); }
1211
- 50% { transform: translateY(0); }
1212
- 100% { transform: translateY(-10px); }
1406
+ 0% {
1407
+ transform: translateY(-10px);
1408
+ }
1409
+ 50% {
1410
+ transform: translateY(0);
1411
+ }
1412
+ 100% {
1413
+ transform: translateY(-10px);
1414
+ }
1213
1415
  }
1214
1416
 
1215
1417
  @keyframes flash {
1216
- 0% { opacity: 1; }
1217
- 50% { opacity: 0; }
1218
- 100% { opacity: 1; }
1418
+ 0% {
1419
+ opacity: 1;
1420
+ }
1421
+ 50% {
1422
+ opacity: 0;
1423
+ }
1424
+ 100% {
1425
+ opacity: 1;
1426
+ }
1219
1427
  }
1220
1428
 
1221
1429
  @keyframes jiggle {
1222
- 0% { transform: rotate(-3deg); }
1223
- 50% { transform: rotate(3deg); }
1224
- 100% { transform: rotate(-3deg); }
1430
+ 0% {
1431
+ transform: rotate(-3deg);
1432
+ }
1433
+ 50% {
1434
+ transform: rotate(3deg);
1435
+ }
1436
+ 100% {
1437
+ transform: rotate(-3deg);
1438
+ }
1225
1439
  }
1226
1440
 
1227
1441
  @keyframes rubber-band {
1228
- 0% { transform: scale(1); }
1229
- 30% { transform: scale(1.25); }
1230
- 40% { transform: scale(0.75); }
1231
- 50% { transform: scale(1.15); }
1232
- 65% { transform: scale(0.95); }
1233
- 75% { transform: scale(1.05); }
1234
- 100% { transform: scale(1); }
1442
+ 0% {
1443
+ transform: scale(1);
1444
+ }
1445
+ 30% {
1446
+ transform: scale(1.25);
1447
+ }
1448
+ 40% {
1449
+ transform: scale(0.75);
1450
+ }
1451
+ 50% {
1452
+ transform: scale(1.15);
1453
+ }
1454
+ 65% {
1455
+ transform: scale(0.95);
1456
+ }
1457
+ 75% {
1458
+ transform: scale(1.05);
1459
+ }
1460
+ 100% {
1461
+ transform: scale(1);
1462
+ }
1235
1463
  }
1236
1464
 
1237
1465
  @keyframes scale {
1238
- 0% { transform: scale(1); }
1239
- 100% { transform: scale(1.10); }
1466
+ 0% {
1467
+ transform: scale(1);
1468
+ }
1469
+ 100% {
1470
+ transform: scale(1.1);
1471
+ }
1240
1472
  }
1241
1473
 
1242
1474
  @keyframes slide-in-left {
1243
- 0% { transform: translateX(-20px); }
1244
- 100% { transform: translateX(0); }
1475
+ 0% {
1476
+ transform: translateX(-20px);
1477
+ }
1478
+ 100% {
1479
+ transform: translateX(0);
1480
+ }
1245
1481
  }
1246
1482
 
1247
1483
  @keyframes slide-in-right {
1248
- 0% { transform: translateX(20px); }
1249
- 100% { transform: translateX(0); }
1484
+ 0% {
1485
+ transform: translateX(20px);
1486
+ }
1487
+ 100% {
1488
+ transform: translateX(0);
1489
+ }
1250
1490
  }
1251
1491
 
1252
1492
  @keyframes slide-out-left {
1253
- 0% { transform: translateX(0); }
1254
- 100% { transform: translateX(-20px); }
1493
+ 0% {
1494
+ transform: translateX(0);
1495
+ }
1496
+ 100% {
1497
+ transform: translateX(-20px);
1498
+ }
1255
1499
  }
1256
1500
 
1257
1501
  @keyframes slide-out-right {
1258
- 0% { transform: translateX(0); }
1259
- 100% { transform: translateX(20px); }
1502
+ 0% {
1503
+ transform: translateX(0);
1504
+ }
1505
+ 100% {
1506
+ transform: translateX(20px);
1507
+ }
1260
1508
  }
1261
1509
 
1262
1510
  @keyframes spin-clockwise {
1263
- 0% { transform: rotate(0deg); }
1264
- 100% { transform: rotate(360deg); }
1511
+ 0% {
1512
+ transform: rotate(0deg);
1513
+ }
1514
+ 100% {
1515
+ transform: rotate(360deg);
1516
+ }
1265
1517
  }
1266
1518
 
1267
1519
  @keyframes spin-counter-clockwise {
1268
- 0% { transform: rotate(0deg); }
1269
- 100% { transform: rotate(-360deg); }
1520
+ 0% {
1521
+ transform: rotate(0deg);
1522
+ }
1523
+ 100% {
1524
+ transform: rotate(-360deg);
1525
+ }
1270
1526
  }
1271
1527
 
1272
1528
  @keyframes flip-x {
1273
- 0% { transform: scaleX(1); }
1274
- 50% { transform: scaleX(-1); }
1275
- 100% { transform: scaleX(1); }
1529
+ 0% {
1530
+ transform: scaleX(1);
1531
+ }
1532
+ 50% {
1533
+ transform: scaleX(-1);
1534
+ }
1535
+ 100% {
1536
+ transform: scaleX(1);
1537
+ }
1276
1538
  }
1277
1539
 
1278
1540
  @keyframes flip-y {
1279
- 0% { transform: scaleY(1); }
1280
- 50% { transform: scaleY(-1); }
1281
- 100% { transform: scaleY(1); }
1541
+ 0% {
1542
+ transform: scaleY(1);
1543
+ }
1544
+ 50% {
1545
+ transform: scaleY(-1);
1546
+ }
1547
+ 100% {
1548
+ transform: scaleY(1);
1549
+ }
1282
1550
  }
1283
1551
 
1284
1552
  @keyframes blink {
1285
- 0% { opacity: 0; }
1286
- 100% { opacity: 1; }
1553
+ 0% {
1554
+ opacity: 0;
1555
+ }
1556
+ 100% {
1557
+ opacity: 1;
1558
+ }
1287
1559
  }
1288
1560
 
1289
1561
  @keyframes pop {
1290
- 0% { transform: scale(1); }
1291
- 50% { transform: scale(1.1); }
1292
- 100% { transform: scale(1); }
1562
+ 0% {
1563
+ transform: scale(1);
1564
+ }
1565
+ 50% {
1566
+ transform: scale(1.1);
1567
+ }
1568
+ 100% {
1569
+ transform: scale(1);
1570
+ }
1293
1571
  }
1294
1572
 
1295
1573
  @keyframes expand-horizontally {
1296
- 0% { transform: scaleX(0); }
1297
- 100% { transform: scaleX(1); }
1574
+ 0% {
1575
+ transform: scaleX(0);
1576
+ }
1577
+ 100% {
1578
+ transform: scaleX(1);
1579
+ }
1298
1580
  }
1299
1581
 
1300
1582
  @keyframes contract-horizontally {
1301
- 0% { transform: scaleX(1); }
1302
- 100% { transform: scaleX(0); }
1583
+ 0% {
1584
+ transform: scaleX(1);
1585
+ }
1586
+ 100% {
1587
+ transform: scaleX(0);
1588
+ }
1303
1589
  }
1304
1590
 
1305
1591
  @keyframes expand-vertically {
1306
- 0% { transform: scaleY(0); }
1307
- 100% { transform: scaleY(1); }
1592
+ 0% {
1593
+ transform: scaleY(0);
1594
+ }
1595
+ 100% {
1596
+ transform: scaleY(1);
1597
+ }
1308
1598
  }
1309
1599
 
1310
1600
  @keyframes contract-vertically {
1311
- 0% { transform: scaleY(1); }
1312
- 100% { transform: scaleY(0); }
1601
+ 0% {
1602
+ transform: scaleY(1);
1603
+ }
1604
+ 100% {
1605
+ transform: scaleY(0);
1606
+ }
1313
1607
  }
1314
1608
 
1315
1609
  @keyframes fade-in-up {
1316
- 0% { opacity: 0; transform: translateY(20px); }
1317
- 100% { opacity: 1; transform: translateY(0); }
1610
+ 0% {
1611
+ opacity: 0;
1612
+ transform: translateY(20px);
1613
+ }
1614
+ 100% {
1615
+ opacity: 1;
1616
+ transform: translateY(0);
1617
+ }
1318
1618
  }
1319
1619
 
1320
1620
  @keyframes fade-in-down {
1321
- 0% { opacity: 0; transform: translateY(-20px); }
1322
- 100% { opacity: 1; transform: translateY(0); }
1621
+ 0% {
1622
+ opacity: 0;
1623
+ transform: translateY(-20px);
1624
+ }
1625
+ 100% {
1626
+ opacity: 1;
1627
+ transform: translateY(0);
1628
+ }
1323
1629
  }
1324
1630
 
1325
1631
  @keyframes fade-in-left {
1326
- 0% { opacity: 0; transform: translateX(20px); }
1327
- 100% { opacity: 1; transform: translateX(0); }
1632
+ 0% {
1633
+ opacity: 0;
1634
+ transform: translateX(20px);
1635
+ }
1636
+ 100% {
1637
+ opacity: 1;
1638
+ transform: translateX(0);
1639
+ }
1328
1640
  }
1329
1641
 
1330
1642
  @keyframes fade-in-right {
1331
- 0% { opacity: 0; transform: translateX(-20px); }
1332
- 100% { opacity: 1; transform: translateX(0); }
1643
+ 0% {
1644
+ opacity: 0;
1645
+ transform: translateX(-20px);
1646
+ }
1647
+ 100% {
1648
+ opacity: 1;
1649
+ transform: translateX(0);
1650
+ }
1333
1651
  }
1334
1652
 
1335
1653
  @keyframes fade-out-up {
1336
- 0% { opacity: 1; transform: translateY(0); }
1337
- 100% { opacity: 0; transform: translateY(-20px); }
1654
+ 0% {
1655
+ opacity: 1;
1656
+ transform: translateY(0);
1657
+ }
1658
+ 100% {
1659
+ opacity: 0;
1660
+ transform: translateY(-20px);
1661
+ }
1338
1662
  }
1339
1663
 
1340
1664
  @keyframes fade-out-down {
1341
- 0% { opacity: 1; transform: translateY(0); }
1342
- 100% { opacity: 0; transform: translateY(20px); }
1665
+ 0% {
1666
+ opacity: 1;
1667
+ transform: translateY(0);
1668
+ }
1669
+ 100% {
1670
+ opacity: 0;
1671
+ transform: translateY(20px);
1672
+ }
1343
1673
  }
1344
1674
 
1345
1675
  @keyframes fade-out-left {
1346
- 0% { opacity: 1; transform: translateX(0); }
1347
- 100% { opacity: 0; transform: translateX(-20px); }
1676
+ 0% {
1677
+ opacity: 1;
1678
+ transform: translateX(0);
1679
+ }
1680
+ 100% {
1681
+ opacity: 0;
1682
+ transform: translateX(-20px);
1683
+ }
1348
1684
  }
1349
1685
 
1350
1686
  @keyframes fade-out-right {
1351
- 0% { opacity: 1; transform: translateX(0); }
1352
- 100% { opacity: 0; transform: translateX(20px); }
1687
+ 0% {
1688
+ opacity: 1;
1689
+ transform: translateX(0);
1690
+ }
1691
+ 100% {
1692
+ opacity: 0;
1693
+ transform: translateX(20px);
1694
+ }
1353
1695
  }
1354
1696
 
1355
1697
  @keyframes sway {
1356
- 0% { transform: rotate(0deg); }
1357
- 50% { transform: rotate(15deg); }
1358
- 100% { transform: rotate(0deg); }
1698
+ 0% {
1699
+ transform: rotate(0deg);
1700
+ }
1701
+ 50% {
1702
+ transform: rotate(15deg);
1703
+ }
1704
+ 100% {
1705
+ transform: rotate(0deg);
1706
+ }
1359
1707
  }
1360
1708
 
1361
1709
  @keyframes flip-in-x {
1362
- 0% { opacity: 0; transform: rotateY(90deg); }
1363
- 100% { opacity: 1; transform: rotateY(0deg); }
1710
+ 0% {
1711
+ opacity: 0;
1712
+ transform: rotateY(90deg);
1713
+ }
1714
+ 100% {
1715
+ opacity: 1;
1716
+ transform: rotateY(0deg);
1717
+ }
1364
1718
  }
1365
1719
 
1366
1720
  @keyframes flip-in-y {
1367
- 0% { opacity: 0; transform: rotateX(90deg); }
1368
- 100% { opacity: 1; transform: rotateX(0deg); }
1721
+ 0% {
1722
+ opacity: 0;
1723
+ transform: rotateX(90deg);
1724
+ }
1725
+ 100% {
1726
+ opacity: 1;
1727
+ transform: rotateX(0deg);
1728
+ }
1369
1729
  }
1370
1730
 
1371
1731
  @keyframes flip-out-x {
1372
- 0% { opacity: 1; transform: rotateY(0deg); }
1373
- 100% { opacity: 0; transform: rotateY(90deg); }
1732
+ 0% {
1733
+ opacity: 1;
1734
+ transform: rotateY(0deg);
1735
+ }
1736
+ 100% {
1737
+ opacity: 0;
1738
+ transform: rotateY(90deg);
1739
+ }
1374
1740
  }
1375
1741
 
1376
1742
  @keyframes flip-out-y {
1377
- 0% { opacity: 1; transform: rotateX(0deg); }
1378
- 100% { opacity: 0; transform: rotateX(90deg); }
1743
+ 0% {
1744
+ opacity: 1;
1745
+ transform: rotateX(0deg);
1746
+ }
1747
+ 100% {
1748
+ opacity: 0;
1749
+ transform: rotateX(90deg);
1750
+ }
1379
1751
  }
1380
1752
 
1381
1753
  @keyframes rotate-in {
1382
- 0% { opacity: 0; transform: rotate(-90deg); }
1383
- 100% { opacity: 1; transform: rotate(0deg); }
1754
+ 0% {
1755
+ opacity: 0;
1756
+ transform: rotate(-90deg);
1757
+ }
1758
+ 100% {
1759
+ opacity: 1;
1760
+ transform: rotate(0deg);
1761
+ }
1384
1762
  }
1385
1763
 
1386
1764
  @keyframes rotate-out {
1387
- 0% { opacity: 1; transform: rotate(0deg); }
1388
- 100% { opacity: 0; transform: rotate(90deg); }
1765
+ 0% {
1766
+ opacity: 1;
1767
+ transform: rotate(0deg);
1768
+ }
1769
+ 100% {
1770
+ opacity: 0;
1771
+ transform: rotate(90deg);
1772
+ }
1389
1773
  }
1390
1774
 
1391
1775
  @keyframes slide-rotate-in {
1392
- 0% { opacity: 0; transform: translateX(-20px) rotate(-90deg); }
1393
- 100% { opacity: 1; transform: translateX(0) rotate(0deg); }
1776
+ 0% {
1777
+ opacity: 0;
1778
+ transform: translateX(-20px) rotate(-90deg);
1779
+ }
1780
+ 100% {
1781
+ opacity: 1;
1782
+ transform: translateX(0) rotate(0deg);
1783
+ }
1394
1784
  }
1395
1785
 
1396
1786
  @keyframes slide-rotate-out {
1397
- 0% { opacity: 1; transform: translateX(0) rotate(0deg); }
1398
- 100% { opacity: 0; transform: translateX(20px) rotate(90deg); }
1787
+ 0% {
1788
+ opacity: 1;
1789
+ transform: translateX(0) rotate(0deg);
1790
+ }
1791
+ 100% {
1792
+ opacity: 0;
1793
+ transform: translateX(20px) rotate(90deg);
1794
+ }
1399
1795
  }
1400
1796
 
1401
1797
  @keyframes heartbeat {
1402
- 0% { transform: scale(1); }
1403
- 25% { transform: scale(1.1); }
1404
- 50% { transform: scale(1); }
1405
- 75% { transform: scale(0.9); }
1406
- 100% { transform: scale(1); }
1798
+ 0% {
1799
+ transform: scale(1);
1800
+ }
1801
+ 25% {
1802
+ transform: scale(1.1);
1803
+ }
1804
+ 50% {
1805
+ transform: scale(1);
1806
+ }
1807
+ 75% {
1808
+ transform: scale(0.9);
1809
+ }
1810
+ 100% {
1811
+ transform: scale(1);
1812
+ }
1407
1813
  }
1408
1814
 
1409
1815
  @keyframes blurred-fade-in {
1410
- 0% { filter: blur(5px); opacity: 0; }
1411
- 100% { filter: blur(0); opacity: 1; }
1816
+ 0% {
1817
+ filter: blur(5px);
1818
+ opacity: 0;
1819
+ }
1820
+ 100% {
1821
+ filter: blur(0);
1822
+ opacity: 1;
1823
+ }
1412
1824
  }
1413
1825
 
1414
1826
  @keyframes horizontal-vibration {
1415
- 0% { transform: translateX(0); }
1416
- 25% { transform: translateX(5px); }
1417
- 50% { transform: translateX(-5px); }
1418
- 75% { transform: translateX(5px); }
1419
- 100% { transform: translateX(0); }
1827
+ 0% {
1828
+ transform: translateX(0);
1829
+ }
1830
+ 25% {
1831
+ transform: translateX(5px);
1832
+ }
1833
+ 50% {
1834
+ transform: translateX(-5px);
1835
+ }
1836
+ 75% {
1837
+ transform: translateX(5px);
1838
+ }
1839
+ 100% {
1840
+ transform: translateX(0);
1841
+ }
1420
1842
  }
1421
1843
 
1422
1844
  @keyframes rotational-wave {
1423
- 0% { transform: rotate(0deg); }
1424
- 25% { transform: rotate(10deg); }
1425
- 50% { transform: rotate(-10deg); }
1426
- 75% { transform: rotate(10deg); }
1427
- 100% { transform: rotate(0deg); }
1845
+ 0% {
1846
+ transform: rotate(0deg);
1847
+ }
1848
+ 25% {
1849
+ transform: rotate(10deg);
1850
+ }
1851
+ 50% {
1852
+ transform: rotate(-10deg);
1853
+ }
1854
+ 75% {
1855
+ transform: rotate(10deg);
1856
+ }
1857
+ 100% {
1858
+ transform: rotate(0deg);
1859
+ }
1428
1860
  }
1429
1861
 
1430
1862
  @keyframes skew {
1431
- 0% { transform: skew(0deg); }
1432
- 100% { transform: skew(20deg); }
1863
+ 0% {
1864
+ transform: skew(0deg);
1865
+ }
1866
+ 100% {
1867
+ transform: skew(20deg);
1868
+ }
1433
1869
  }
1434
1870
 
1435
1871
  @keyframes skew-right {
1436
- 0% { transform: skew(0deg); }
1437
- 100% { transform: skew(-20deg); }
1872
+ 0% {
1873
+ transform: skew(0deg);
1874
+ }
1875
+ 100% {
1876
+ transform: skew(-20deg);
1877
+ }
1438
1878
  }
1439
1879
 
1440
1880
  @keyframes vertical-bounce {
1441
- 0%, 100% { transform: translateY(0); }
1442
- 50% { transform: translateY(-20px); }
1881
+ 0%,
1882
+ 100% {
1883
+ transform: translateY(0);
1884
+ }
1885
+ 50% {
1886
+ transform: translateY(-20px);
1887
+ }
1443
1888
  }
1444
1889
 
1445
1890
  @keyframes horizontal-bounce {
1446
- 0%, 100% { transform: translateX(0); }
1447
- 50% { transform: translateX(20px); }
1891
+ 0%,
1892
+ 100% {
1893
+ transform: translateX(0);
1894
+ }
1895
+ 50% {
1896
+ transform: translateX(20px);
1897
+ }
1448
1898
  }
1449
1899
 
1450
1900
  @keyframes tilt {
1451
- 0% { transform: rotateY(0deg); }
1452
- 50% { transform: rotateY(20deg); }
1453
- 100% { transform: rotateY(0deg); }
1901
+ 0% {
1902
+ transform: rotateY(0deg);
1903
+ }
1904
+ 50% {
1905
+ transform: rotateY(20deg);
1906
+ }
1907
+ 100% {
1908
+ transform: rotateY(0deg);
1909
+ }
1454
1910
  }
1455
1911
 
1456
1912
  @keyframes squeeze {
1457
- 0%, 100% { transform: scale(1, 1); }
1458
- 50% { transform: scale(1.1, 0.9); }
1913
+ 0%,
1914
+ 100% {
1915
+ transform: scale(1, 1);
1916
+ }
1917
+ 50% {
1918
+ transform: scale(1.1, 0.9);
1919
+ }
1459
1920
  }
1460
1921
 
1461
1922
  @keyframes slide-up-fade {
1462
- 0% { opacity: 0; transform: translateY(50px); }
1463
- 100% { opacity: 1; transform: translateY(0); }
1923
+ 0% {
1924
+ opacity: 0;
1925
+ transform: translateY(50px);
1926
+ }
1927
+ 100% {
1928
+ opacity: 1;
1929
+ transform: translateY(0);
1930
+ }
1464
1931
  }
1465
1932
 
1466
1933
  @keyframes bounce-fade-in {
1467
- 0% { transform: scale(0.5); opacity: 0; }
1468
- 100% { transform: scale(1); opacity: 1; }
1934
+ 0% {
1935
+ transform: scale(0.5);
1936
+ opacity: 0;
1937
+ }
1938
+ 100% {
1939
+ transform: scale(1);
1940
+ opacity: 1;
1941
+ }
1469
1942
  }
1470
1943
 
1471
1944
  @keyframes swing-drop-in {
1472
- 0% { transform: rotate(-30deg) translateY(-50px); opacity: 0; }
1473
- 100% { transform: rotate(0deg) translateY(0); opacity: 1; }
1945
+ 0% {
1946
+ transform: rotate(-30deg) translateY(-50px);
1947
+ opacity: 0;
1948
+ }
1949
+ 100% {
1950
+ transform: rotate(0deg) translateY(0);
1951
+ opacity: 1;
1952
+ }
1474
1953
  }
1475
1954
 
1476
1955
  @keyframes pulse-fade-in {
1477
- 0% { transform: scale(0.9); opacity: 0; }
1478
- 50% { transform: scale(1.05); opacity: 0.5; }
1479
- 100% { transform: scale(1); opacity: 1; }
1956
+ 0% {
1957
+ transform: scale(0.9);
1958
+ opacity: 0;
1959
+ }
1960
+ 50% {
1961
+ transform: scale(1.05);
1962
+ opacity: 0.5;
1963
+ }
1964
+ 100% {
1965
+ transform: scale(1);
1966
+ opacity: 1;
1967
+ }
1480
1968
  }
1481
1969
 
1482
1970
  @keyframes impulse-rotation-right {
1483
- 0% { transform: rotate(0deg); }
1484
- 50% { transform: rotate(-40deg); }
1485
- 100% { transform: rotate(360deg); }
1971
+ 0% {
1972
+ transform: rotate(0deg);
1973
+ }
1974
+ 50% {
1975
+ transform: rotate(-40deg);
1976
+ }
1977
+ 100% {
1978
+ transform: rotate(360deg);
1979
+ }
1486
1980
  }
1487
1981
 
1488
1982
  @keyframes impulse-rotation-left {
1489
- 0% { transform: rotate(0deg); }
1490
- 50% { transform: rotate(40deg); }
1491
- 100% { transform: rotate(-360deg); }
1983
+ 0% {
1984
+ transform: rotate(0deg);
1985
+ }
1986
+ 50% {
1987
+ transform: rotate(40deg);
1988
+ }
1989
+ 100% {
1990
+ transform: rotate(-360deg);
1991
+ }
1492
1992
  }
1493
1993
 
1494
1994
  @keyframes dancing {
1495
- 0% { transform: skew(0deg); }
1496
- 25% { transform: skew(-40deg); }
1497
- 50% { transform: skew(40deg); }
1498
- 75% { transform: skew(-40deg); }
1499
- 100% { transform: skew(0deg); }
1995
+ 0% {
1996
+ transform: skew(0deg);
1997
+ }
1998
+ 25% {
1999
+ transform: skew(-40deg);
2000
+ }
2001
+ 50% {
2002
+ transform: skew(40deg);
2003
+ }
2004
+ 75% {
2005
+ transform: skew(-40deg);
2006
+ }
2007
+ 100% {
2008
+ transform: skew(0deg);
2009
+ }
1500
2010
  }
1501
2011
 
1502
2012
  @keyframes jelly {
1503
- 0% { transform: scale(1, 1); }
1504
- 20% { transform: scale(1.25, 0.75); }
1505
- 40% { transform: scale(0.75, 1.25); }
1506
- 60% { transform: scale(1.15, 0.85); }
1507
- 75% { transform: scale(0.95, 1.05); }
1508
- 85% { transform: scale(1.05, 0.95); }
1509
- 92% { transform: scale(1, 1.02); }
1510
- 100% { transform: scale(1, 1); }
2013
+ 0% {
2014
+ transform: scale(1, 1);
2015
+ }
2016
+ 20% {
2017
+ transform: scale(1.25, 0.75);
2018
+ }
2019
+ 40% {
2020
+ transform: scale(0.75, 1.25);
2021
+ }
2022
+ 60% {
2023
+ transform: scale(1.15, 0.85);
2024
+ }
2025
+ 75% {
2026
+ transform: scale(0.95, 1.05);
2027
+ }
2028
+ 85% {
2029
+ transform: scale(1.05, 0.95);
2030
+ }
2031
+ 92% {
2032
+ transform: scale(1, 1.02);
2033
+ }
2034
+ 100% {
2035
+ transform: scale(1, 1);
2036
+ }
1511
2037
  }
1512
2038
  }
1513
2039
 
@@ -1534,7 +2060,7 @@
1534
2060
  ============================================ */
1535
2061
 
1536
2062
  @utility animate-iteration-count-* {
1537
- animation-iteration-count: --value(--tw-anim-iteration-count-*, number, [number], [*]);
2063
+ animation-iteration-count: --value(--tw-anim-iteration-count-*, [number]);
1538
2064
  }
1539
2065
 
1540
2066
  /* ============================================
@@ -1650,3 +2176,38 @@
1650
2176
  @utility animate-range-* {
1651
2177
  animation-range: --value(--tw-anim-range-*, [*]);
1652
2178
  }
2179
+
2180
+ @utility bg-grid-* {
2181
+ --mixed: color-mix(
2182
+ in oklab,
2183
+ --value(--color-*, [color]) calc(--modifier(integer) * 1%),
2184
+ transparent
2185
+ );
2186
+ --grid-color: var(--mixed, --value(--color-*, [color]));
2187
+
2188
+ --grid-width: calc(var(--spacing) * 8);
2189
+ --grid-height: calc(var(--spacing) * 8);
2190
+
2191
+ background-image:
2192
+ linear-gradient(to right, var(--grid-color) 1px, transparent 1px),
2193
+ linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px);
2194
+
2195
+ background-size: var(--grid-width) var(--grid-height);
2196
+
2197
+ mask-image: radial-gradient(
2198
+ ellipse 70% 60% at 50% 0%,
2199
+ #000 60%,
2200
+ transparent 100%
2201
+ );
2202
+ -webkit-mask-image: radial-gradient(
2203
+ ellipse 70% 60% at 50% 0%,
2204
+ #000 60%,
2205
+ transparent 100%
2206
+ );
2207
+ }
2208
+
2209
+ @utility grid-size-* {
2210
+ --width: calc(var(--spacing) * --modifier(integer));
2211
+ --grid-width: var(--width, calc(var(--spacing) * --value(integer)));
2212
+ --grid-height: calc(var(--spacing) * --value(integer));
2213
+ }