@shift-css/core 0.0.1 → 0.5.0

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.
package/dist/shift.css CHANGED
@@ -366,7 +366,7 @@
366
366
  container-type: inline-size;
367
367
 
368
368
  @supports (color: oklch(from red l c h)) {
369
- color: oklch(from var(--_surface-bg) clamp(.15, calc((.6 - l) * 1000 + .15), .95) 0 0);
369
+ color: oklch(from var(--_surface-bg) clamp(.15, calc((.55 - l) * 1000 + .15), .95) 0 0);
370
370
  }
371
371
 
372
372
  @supports (color: contrast-color(red)) {
@@ -410,36 +410,56 @@
410
410
  box-shadow: var(--s-shadow-sm);
411
411
  transform: translateY(0);
412
412
  }
413
+
414
+ &:focus-visible {
415
+ outline: 2px solid var(--s-focus-ring);
416
+ outline-offset: 2px;
417
+ }
413
418
  }
414
419
 
415
420
  [s-surface="primary"] {
416
- --_surface-bg: var(--s-primary-500);
421
+ --_surface-bg: var(--s-primary-700);
422
+ background-color: #06a;
423
+ background-color: var(--_surface-bg);
424
+ color: #fff;
417
425
  }
418
426
 
419
427
  [s-surface="secondary"] {
420
- --_surface-bg: var(--s-secondary-500);
428
+ --_surface-bg: var(--s-secondary-700);
429
+ background-color: #64a;
430
+ background-color: var(--_surface-bg);
431
+ color: #fff;
421
432
  }
422
433
 
423
434
  [s-surface="accent"] {
424
- --_surface-bg: var(--s-accent-500);
435
+ --_surface-bg: var(--s-accent-700);
436
+ background-color: #a46;
437
+ background-color: var(--_surface-bg);
438
+ color: #fff;
425
439
  }
426
440
 
427
441
  [s-surface="success"] {
428
442
  --_surface-bg: var(--s-state-success-bg);
443
+ background-color: #d4edda;
444
+ background-color: var(--_surface-bg);
429
445
  border-left: 4px solid var(--s-state-success);
430
- color: var(--s-text-primary);
446
+ color: #1a1a1a;
431
447
  }
432
448
 
433
449
  [s-surface="warning"] {
434
450
  --_surface-bg: var(--s-state-warning-bg);
451
+ background-color: #fff3cd;
452
+ background-color: var(--_surface-bg);
435
453
  border-left: 4px solid var(--s-state-warning);
436
- color: var(--s-text-primary);
454
+ color: #1a1a1a;
437
455
  }
438
456
 
439
457
  [s-surface="danger"] {
440
458
  --_surface-bg: var(--s-state-danger-bg);
459
+ background-color: #f8d7da;
460
+ background-color: var(--_surface-bg);
441
461
  border-left: 4px solid var(--s-state-danger);
442
- color: var(--s-text-primary);
462
+ color: #1a1a1a;
443
463
  }
444
464
 
445
465
  @container (width <= 20rem) {
@@ -473,7 +493,7 @@
473
493
  display: inline-flex;
474
494
 
475
495
  @supports (color: oklch(from red l c h)) {
476
- color: oklch(from var(--_btn-bg) clamp(.15, calc((.6 - l) * 1000 + .15), .95) 0 0);
496
+ color: oklch(from var(--_btn-bg) clamp(.15, calc((.55 - l) * 1000 + .15), .95) 0 0);
477
497
  }
478
498
 
479
499
  @supports (color: contrast-color(red)) {
@@ -688,7 +708,7 @@
688
708
  container-type: inline-size;
689
709
 
690
710
  @supports (color: oklch(from red l c h)) {
691
- color: oklch(from var(--_card-bg) clamp(.15, calc((.6 - l) * 1000 + .15), .95) 0 0);
711
+ color: oklch(from var(--_card-bg) clamp(.15, calc((.55 - l) * 1000 + .15), .95) 0 0);
692
712
  }
693
713
  }
694
714
 
@@ -854,14 +874,14 @@
854
874
  color: var(--_input-placeholder);
855
875
  }
856
876
 
857
- &:hover:not(:disabled):not(:focus) {
877
+ &:hover:not(:disabled):not(:focus-visible) {
858
878
  --_input-border: var(--s-border-strong);
859
879
  }
860
880
 
861
- &:focus {
881
+ &:focus-visible {
862
882
  --_input-border: var(--s-interactive-primary);
863
- box-shadow: 0 0 0 3px oklch(from var(--s-interactive-primary) l c h / .2);
864
- outline: none;
883
+ outline: 2px solid var(--s-focus-ring);
884
+ outline-offset: 2px;
865
885
  }
866
886
 
867
887
  &:disabled {
@@ -873,8 +893,8 @@
873
893
  &:invalid:not(:placeholder-shown), &[aria-invalid="true"] {
874
894
  --_input-border: var(--s-state-danger);
875
895
 
876
- &:focus {
877
- box-shadow: 0 0 0 3px oklch(from var(--s-state-danger) l c h / .2);
896
+ &:focus-visible {
897
+ outline-color: var(--s-state-danger);
878
898
  }
879
899
  }
880
900
  }
@@ -1063,6 +1083,542 @@
1063
1083
  }
1064
1084
  }
1065
1085
  }
1086
+
1087
+ dialog[s-modal]:not([open]) {
1088
+ display: none;
1089
+ }
1090
+
1091
+ :where(dialog[s-modal]) {
1092
+ --_modal-bg: var(--s-surface-raised);
1093
+ --_modal-border: var(--s-border-muted);
1094
+ --_modal-radius: var(--s-radius-xl);
1095
+ --_modal-shadow: var(--s-shadow-2xl);
1096
+ --_modal-padding: var(--s-space-4);
1097
+ --_modal-max-width: 32rem;
1098
+ width: min(var(--_modal-max-width), calc(100vw - var(--s-space-4) * 2));
1099
+ max-height: calc(100vh - var(--s-space-4) * 2);
1100
+ max-width: var(--_modal-max-width);
1101
+ background-color: var(--_modal-bg);
1102
+ border-radius: var(--_modal-radius);
1103
+ box-shadow: var(--_modal-shadow);
1104
+ border: none;
1105
+ margin: auto;
1106
+ padding: 0;
1107
+
1108
+ &[open] {
1109
+ flex-direction: column;
1110
+ display: flex;
1111
+ }
1112
+
1113
+ color: var(--s-text-primary);
1114
+ }
1115
+
1116
+ dialog[s-modal][open] {
1117
+ animation: s-modal-scale-in var(--s-duration-200) var(--s-ease-out);
1118
+ }
1119
+
1120
+ dialog[s-modal]:focus-visible {
1121
+ outline: 2px solid var(--s-focus-ring);
1122
+ outline-offset: 2px;
1123
+ }
1124
+
1125
+ @keyframes s-modal-scale-in {
1126
+ from {
1127
+ opacity: 0;
1128
+ transform: scale(.95)translateY(-10px);
1129
+ }
1130
+
1131
+ to {
1132
+ opacity: 1;
1133
+ transform: scale(1)translateY(0);
1134
+ }
1135
+ }
1136
+
1137
+ dialog[s-modal]::backdrop {
1138
+ backdrop-filter: blur(4px);
1139
+ animation: s-modal-backdrop-in var(--s-duration-200) var(--s-ease-out);
1140
+ background: oklch(0% 0 0 / .5);
1141
+ }
1142
+
1143
+ @keyframes s-modal-backdrop-in {
1144
+ from {
1145
+ opacity: 0;
1146
+ }
1147
+
1148
+ to {
1149
+ opacity: 1;
1150
+ }
1151
+ }
1152
+
1153
+ dialog[s-modal][s-size="sm"] {
1154
+ --_modal-max-width: 25rem;
1155
+ }
1156
+
1157
+ dialog[s-modal][s-size="lg"] {
1158
+ --_modal-max-width: 43.75rem;
1159
+ }
1160
+
1161
+ dialog[s-modal][s-size="full"] {
1162
+ --_modal-max-width: 100vw;
1163
+ --_modal-radius: 0;
1164
+ width: 100vw;
1165
+ height: 100vh;
1166
+ max-height: 100vh;
1167
+ }
1168
+
1169
+ dialog[s-modal][s-position="top"] {
1170
+ margin-top: var(--s-space-8);
1171
+ margin-bottom: auto;
1172
+ }
1173
+
1174
+ dialog[s-modal][s-position="bottom"] {
1175
+ margin-top: auto;
1176
+ margin-bottom: var(--s-space-8);
1177
+ }
1178
+
1179
+ dialog[s-modal][s-position="left"] {
1180
+ margin-left: var(--s-space-8);
1181
+ margin-right: auto;
1182
+ }
1183
+
1184
+ dialog[s-modal][s-position="right"] {
1185
+ margin-left: auto;
1186
+ margin-right: var(--s-space-8);
1187
+ }
1188
+
1189
+ :where([s-modal-header]) {
1190
+ justify-content: space-between;
1191
+ align-items: center;
1192
+ gap: var(--s-space-4);
1193
+ padding: var(--_modal-padding, var(--s-space-4));
1194
+ border-bottom: 1px solid var(--s-border-muted);
1195
+ display: flex;
1196
+
1197
+ & > h1, & > h2, & > h3 {
1198
+ font-size: var(--s-text-lg);
1199
+ font-weight: var(--s-font-semibold);
1200
+ color: inherit;
1201
+ margin: 0;
1202
+ line-height: 1.25;
1203
+ }
1204
+ }
1205
+
1206
+ :where([s-modal-body]) {
1207
+ padding: var(--_modal-padding, var(--s-space-4));
1208
+ overscroll-behavior: contain;
1209
+ flex: 1;
1210
+ overflow-y: auto;
1211
+ }
1212
+
1213
+ :where([s-modal-footer]) {
1214
+ justify-content: flex-end;
1215
+ align-items: center;
1216
+ gap: var(--s-space-3);
1217
+ padding: var(--_modal-padding, var(--s-space-4));
1218
+ border-top: 1px solid var(--s-border-muted);
1219
+ display: flex;
1220
+ }
1221
+
1222
+ :where([s-modal-close]) {
1223
+ cursor: pointer;
1224
+ border-radius: var(--s-radius-full);
1225
+ min-width: 2.75rem;
1226
+ min-height: 2.75rem;
1227
+ font-size: var(--s-text-xl);
1228
+ color: var(--s-text-secondary);
1229
+ transition: background-color var(--s-duration-150) var(--s-ease-out), color var(--s-duration-150) var(--s-ease-out);
1230
+ background: none;
1231
+ border: none;
1232
+ justify-content: center;
1233
+ align-items: center;
1234
+ padding: 0;
1235
+ line-height: 1;
1236
+ display: inline-flex;
1237
+
1238
+ &:hover {
1239
+ background-color: var(--s-surface-sunken);
1240
+ color: var(--s-text-primary);
1241
+ }
1242
+
1243
+ &:focus-visible {
1244
+ outline: 2px solid var(--s-focus-ring);
1245
+ outline-offset: 2px;
1246
+ }
1247
+
1248
+ &:active {
1249
+ background-color: var(--s-border-default);
1250
+ }
1251
+ }
1252
+
1253
+ @media (forced-colors: active) {
1254
+ dialog[s-modal] {
1255
+ border: 2px solid canvastext;
1256
+ }
1257
+
1258
+ dialog[s-modal]::backdrop {
1259
+ backdrop-filter: none;
1260
+ background: #000000bf;
1261
+ }
1262
+
1263
+ [s-modal-header], [s-modal-footer] {
1264
+ border-color: canvastext;
1265
+ }
1266
+
1267
+ [s-modal-close] {
1268
+ border: 1px solid buttontext;
1269
+ }
1270
+ }
1271
+
1272
+ :where([s-prose]) {
1273
+ --_prose-body: var(--s-text-base);
1274
+ --_prose-body-weight: var(--s-font-normal);
1275
+ --_prose-leading: var(--s-leading-relaxed);
1276
+ --_prose-link-color: var(--s-primary-600);
1277
+ --_prose-link-hover: var(--s-primary-700);
1278
+ --_prose-code-bg: var(--s-neutral-100);
1279
+ --_prose-code-color: var(--s-danger-600);
1280
+ --_prose-pre-bg: var(--s-neutral-900);
1281
+ --_prose-pre-color: var(--s-neutral-100);
1282
+ --_prose-border-color: var(--s-border-default);
1283
+ --_prose-quote-border: var(--s-primary-500);
1284
+ font-size: var(--_prose-body);
1285
+ font-weight: var(--_prose-body-weight);
1286
+ line-height: var(--_prose-leading);
1287
+ color: var(--s-text-primary);
1288
+ max-width: 65ch;
1289
+ }
1290
+
1291
+ [s-prose="full"] {
1292
+ max-width: none;
1293
+ }
1294
+
1295
+ :where([s-prose]) :where(h1, h2, h3, h4, h5, h6) {
1296
+ color: var(--s-text-primary);
1297
+ font-weight: var(--s-font-bold);
1298
+ line-height: var(--s-leading-tight);
1299
+ margin-top: 1.5em;
1300
+ margin-bottom: .5em;
1301
+ }
1302
+
1303
+ :where([s-prose]) :where(h1) {
1304
+ font-size: var(--s-text-4xl);
1305
+ margin-top: 0;
1306
+ }
1307
+
1308
+ :where([s-prose]) :where(h2) {
1309
+ font-size: var(--s-text-3xl);
1310
+ border-bottom: 1px solid var(--_prose-border-color);
1311
+ padding-bottom: .25em;
1312
+ }
1313
+
1314
+ :where([s-prose]) :where(h3) {
1315
+ font-size: var(--s-text-2xl);
1316
+ }
1317
+
1318
+ :where([s-prose]) :where(h4) {
1319
+ font-size: var(--s-text-xl);
1320
+ }
1321
+
1322
+ :where([s-prose]) :where(h5) {
1323
+ font-size: var(--s-text-lg);
1324
+ }
1325
+
1326
+ :where([s-prose]) :where(h6) {
1327
+ font-size: var(--s-text-base);
1328
+ color: var(--s-text-secondary);
1329
+ }
1330
+
1331
+ :where([s-prose]) :where(p) {
1332
+ margin-bottom: 1.25em;
1333
+ }
1334
+
1335
+ :where([s-prose]) :where(strong, b) {
1336
+ font-weight: var(--s-font-semibold);
1337
+ color: var(--s-text-primary);
1338
+ }
1339
+
1340
+ :where([s-prose]) :where(em, i) {
1341
+ font-style: italic;
1342
+ }
1343
+
1344
+ :where([s-prose]) :where(small) {
1345
+ font-size: var(--s-text-sm);
1346
+ }
1347
+
1348
+ :where([s-prose]) :where(a) {
1349
+ color: var(--_prose-link-color);
1350
+ text-underline-offset: 2px;
1351
+ transition: color var(--s-duration-150) var(--s-ease-out);
1352
+ text-decoration: underline 1px;
1353
+
1354
+ &:hover {
1355
+ color: var(--_prose-link-hover);
1356
+ }
1357
+ }
1358
+
1359
+ :where([s-prose]) :where(ul, ol) {
1360
+ margin-bottom: 1.25em;
1361
+ padding-left: 1.5em;
1362
+ }
1363
+
1364
+ :where([s-prose]) :where(ul) {
1365
+ list-style-type: disc;
1366
+ }
1367
+
1368
+ :where([s-prose]) :where(ol) {
1369
+ list-style-type: decimal;
1370
+ }
1371
+
1372
+ :where([s-prose]) :where(li) {
1373
+ margin-bottom: .5em;
1374
+
1375
+ &::marker {
1376
+ color: var(--s-text-tertiary);
1377
+ }
1378
+ }
1379
+
1380
+ :where([s-prose]) :where(li > ul, li > ol) {
1381
+ margin-top: .5em;
1382
+ margin-bottom: 0;
1383
+ }
1384
+
1385
+ :where([s-prose]) :where(dl) {
1386
+ margin-bottom: 1.25em;
1387
+ }
1388
+
1389
+ :where([s-prose]) :where(dt) {
1390
+ font-weight: var(--s-font-semibold);
1391
+ margin-top: 1em;
1392
+ }
1393
+
1394
+ :where([s-prose]) :where(dd) {
1395
+ margin-bottom: .5em;
1396
+ margin-left: 1.5em;
1397
+ }
1398
+
1399
+ :where([s-prose]) :where(blockquote) {
1400
+ border-left: 4px solid var(--_prose-quote-border);
1401
+ background-color: var(--s-surface-sunken);
1402
+ border-radius: 0 var(--s-radius-md) var(--s-radius-md) 0;
1403
+ color: var(--s-text-secondary);
1404
+ margin: 1.5em 0;
1405
+ padding: .5em 1em;
1406
+ font-style: italic;
1407
+
1408
+ & p:last-child {
1409
+ margin-bottom: 0;
1410
+ }
1411
+ }
1412
+
1413
+ :where([s-prose]) :where(code) {
1414
+ font-family: var(--s-font-mono);
1415
+ background-color: var(--_prose-code-bg);
1416
+ color: var(--_prose-code-color);
1417
+ border-radius: var(--s-radius-sm);
1418
+ padding: .125em .375em;
1419
+ font-size: .875em;
1420
+ }
1421
+
1422
+ :where([s-prose]) :where(pre) {
1423
+ background-color: var(--_prose-pre-bg);
1424
+ color: var(--_prose-pre-color);
1425
+ border-radius: var(--s-radius-lg);
1426
+ font-size: var(--s-text-sm);
1427
+ line-height: var(--s-leading-normal);
1428
+ margin: 1.5em 0;
1429
+ padding: 1em;
1430
+ overflow-x: auto;
1431
+
1432
+ & code {
1433
+ color: inherit;
1434
+ font-size: inherit;
1435
+ background: none;
1436
+ border-radius: 0;
1437
+ padding: 0;
1438
+ }
1439
+ }
1440
+
1441
+ :where([s-prose]) :where(kbd) {
1442
+ font-family: var(--s-font-mono);
1443
+ background-color: var(--s-neutral-200);
1444
+ color: var(--s-text-primary);
1445
+ border-radius: var(--s-radius-sm);
1446
+ border: 1px solid var(--s-neutral-300);
1447
+ box-shadow: 0 1px 0 var(--s-neutral-400);
1448
+ padding: .125em .375em;
1449
+ font-size: .875em;
1450
+ }
1451
+
1452
+ :where([s-prose]) :where(hr) {
1453
+ border: none;
1454
+ border-top: 1px solid var(--_prose-border-color);
1455
+ margin: 2em 0;
1456
+ }
1457
+
1458
+ :where([s-prose]) :where(img) {
1459
+ border-radius: var(--s-radius-lg);
1460
+ max-width: 100%;
1461
+ height: auto;
1462
+ }
1463
+
1464
+ :where([s-prose]) :where(figure) {
1465
+ margin: 1.5em 0;
1466
+ }
1467
+
1468
+ :where([s-prose]) :where(figcaption) {
1469
+ font-size: var(--s-text-sm);
1470
+ color: var(--s-text-secondary);
1471
+ text-align: center;
1472
+ margin-top: .75em;
1473
+ }
1474
+
1475
+ :where([s-prose]) :where(table) {
1476
+ border-collapse: collapse;
1477
+ width: 100%;
1478
+ font-size: var(--s-text-sm);
1479
+ margin: 1.5em 0;
1480
+ }
1481
+
1482
+ :where([s-prose]) :where(thead) {
1483
+ border-bottom: 2px solid var(--_prose-border-color);
1484
+ }
1485
+
1486
+ :where([s-prose]) :where(th) {
1487
+ font-weight: var(--s-font-semibold);
1488
+ text-align: left;
1489
+ background-color: var(--s-surface-sunken);
1490
+ padding: .75em 1em;
1491
+ }
1492
+
1493
+ :where([s-prose]) :where(td) {
1494
+ border-bottom: 1px solid var(--_prose-border-color);
1495
+ padding: .75em 1em;
1496
+ }
1497
+
1498
+ :where([s-prose]) :where(tbody tr:hover) {
1499
+ background-color: var(--s-surface-sunken);
1500
+ }
1501
+
1502
+ [s-prose][s-size="sm"] {
1503
+ --_prose-body: var(--s-text-sm);
1504
+ }
1505
+
1506
+ [s-prose][s-size="lg"] {
1507
+ --_prose-body: var(--s-text-lg);
1508
+ }
1509
+
1510
+ @media (prefers-color-scheme: dark) {
1511
+ :where([s-prose]) {
1512
+ --_prose-link-color: var(--s-primary-400);
1513
+ --_prose-link-hover: var(--s-primary-300);
1514
+ --_prose-code-bg: var(--s-neutral-800);
1515
+ --_prose-code-color: var(--s-danger-400);
1516
+ --_prose-pre-bg: var(--s-neutral-950);
1517
+ --_prose-pre-color: var(--s-neutral-200);
1518
+ }
1519
+
1520
+ :where([s-prose]) :where(kbd) {
1521
+ background-color: var(--s-neutral-700);
1522
+ border-color: var(--s-neutral-600);
1523
+ box-shadow: 0 1px 0 var(--s-neutral-500);
1524
+ }
1525
+ }
1526
+
1527
+ :root[style*="color-scheme: dark"] :where([s-prose]), :root[style*="color-scheme:dark"] :where([s-prose]) {
1528
+ --_prose-link-color: var(--s-primary-400);
1529
+ --_prose-link-hover: var(--s-primary-300);
1530
+ --_prose-code-bg: var(--s-neutral-800);
1531
+ --_prose-code-color: var(--s-danger-400);
1532
+ --_prose-pre-bg: var(--s-neutral-950);
1533
+ --_prose-pre-color: var(--s-neutral-200);
1534
+ }
1535
+
1536
+ :where([s-skip-link]) {
1537
+ --_skip-bg: var(--s-primary-600);
1538
+ --_skip-color: white;
1539
+ --_skip-radius: var(--s-radius-md);
1540
+ --_skip-shadow: var(--s-shadow-lg);
1541
+ --_skip-z: 9999;
1542
+ z-index: var(--_skip-z);
1543
+ align-items: center;
1544
+ gap: var(--s-space-2);
1545
+ padding: var(--s-space-3) var(--s-space-6);
1546
+ background-color: var(--_skip-bg);
1547
+ color: var(--_skip-color);
1548
+ font-size: var(--s-text-sm);
1549
+ font-weight: var(--s-font-semibold);
1550
+ border-radius: var(--_skip-radius);
1551
+ box-shadow: var(--_skip-shadow);
1552
+ white-space: nowrap;
1553
+ transition: top var(--s-duration-200) var(--s-ease-out), opacity var(--s-duration-200) var(--s-ease-out);
1554
+ opacity: 0;
1555
+ text-decoration: none;
1556
+ display: inline-flex;
1557
+ position: fixed;
1558
+ top: -100%;
1559
+ left: 50%;
1560
+ transform: translateX(-50%);
1561
+ }
1562
+
1563
+ [s-skip-link]:focus, [s-skip-link]:focus-visible {
1564
+ top: var(--s-space-4);
1565
+ opacity: 1;
1566
+ box-shadow: var(--_skip-shadow), 0 0 0 3px white, 0 0 0 5px var(--_skip-bg);
1567
+ outline: none;
1568
+ }
1569
+
1570
+ [s-skip-link-group] {
1571
+ z-index: 9999;
1572
+ align-items: center;
1573
+ gap: var(--s-space-2);
1574
+ padding: var(--s-space-2);
1575
+ flex-direction: column;
1576
+ display: flex;
1577
+ position: fixed;
1578
+ top: 0;
1579
+ left: 50%;
1580
+ transform: translateX(-50%);
1581
+ }
1582
+
1583
+ [s-skip-link-group] [s-skip-link] {
1584
+ position: relative;
1585
+ top: -200%;
1586
+ left: 0;
1587
+ transform: none;
1588
+ }
1589
+
1590
+ [s-skip-link-group] [s-skip-link]:focus, [s-skip-link-group] [s-skip-link]:focus-visible {
1591
+ top: 0;
1592
+ }
1593
+
1594
+ [s-skip-link="secondary"] {
1595
+ --_skip-bg: var(--s-neutral-800);
1596
+ }
1597
+
1598
+ [s-skip-link="contrast"] {
1599
+ --_skip-bg: var(--s-neutral-950);
1600
+ --_skip-color: var(--s-neutral-50);
1601
+ }
1602
+
1603
+ @media (prefers-reduced-motion: reduce) {
1604
+ [s-skip-link] {
1605
+ transition: none;
1606
+ }
1607
+ }
1608
+
1609
+ @media (prefers-color-scheme: dark) {
1610
+ :where([s-skip-link]:not([s-skip-link="secondary"]):not([s-skip-link="contrast"])) {
1611
+ --_skip-bg: var(--s-primary-500);
1612
+ }
1613
+
1614
+ [s-skip-link]:focus, [s-skip-link]:focus-visible {
1615
+ box-shadow: var(--_skip-shadow), 0 0 0 3px var(--s-neutral-900), 0 0 0 5px var(--_skip-bg);
1616
+ }
1617
+ }
1618
+
1619
+ :root[style*="color-scheme: dark"] :where([s-skip-link]:not([s-skip-link="secondary"]):not([s-skip-link="contrast"])), :root[style*="color-scheme:dark"] :where([s-skip-link]:not([s-skip-link="secondary"]):not([s-skip-link="contrast"])) {
1620
+ --_skip-bg: var(--s-primary-500);
1621
+ }
1066
1622
  }
1067
1623
 
1068
1624
  @layer shift.utils {
@@ -1433,7 +1989,7 @@
1433
1989
  overflow: hidden;
1434
1990
  }
1435
1991
 
1436
- [s-sr-only="focusable"]:focus, [s-sr-only="focusable"]:focus-within {
1992
+ [s-sr-only="focusable"]:focus, [s-sr-only="focusable"]:focus-within, [s-not-sr-only], [s-focus\:not-sr-only]:focus, [s-focus\:not-sr-only]:focus-visible, [s-focus-within\:not-sr-only]:focus-within {
1437
1993
  clip: auto;
1438
1994
  white-space: normal;
1439
1995
  width: auto;