@salemcobalt/ui 0.2.0-rc.0 → 0.2.0-rc.2

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/styles.css CHANGED
@@ -1,4 +1,4 @@
1
- /* @salemcobalt/ui 0.2.0-rc.0 — requires @salemcobalt/tokens/css. */
1
+ /* @salemcobalt/ui 0.2.0-rc.2 — requires @salemcobalt/tokens/css. */
2
2
  @layer sc {
3
3
  /* ---- base.css ---- */
4
4
  /* Shared: focus ring, reduced motion. Component files follow. */
@@ -6,10 +6,160 @@
6
6
  .sc-button:focus-visible,
7
7
  .sc-card[data-interactive]:focus-visible,
8
8
  .sc-dialog__close:focus-visible,
9
- .sc-menu__item:focus-visible {
9
+ .sc-menu__item:focus-visible,
10
+ .sc-input:focus-visible,
11
+ .sc-select:focus-visible,
12
+ .sc-select__item:focus-visible,
13
+ .sc-checkbox:focus-visible,
14
+ .sc-switch:focus-visible,
15
+ .sc-tabs__tab:focus-visible,
16
+ .sc-tabs__panel:focus-visible {
10
17
  outline: var(--sc-border-width-focus) solid var(--sc-color-border-focus);
11
18
  outline-offset: var(--sc-border-width-focus);
12
19
  }
20
+ /* Keeps content for assistive tech only. */
21
+ .sc-visually-hidden {
22
+ position: absolute;
23
+ inline-size: 1px;
24
+ block-size: 1px;
25
+ margin: -1px;
26
+ padding: 0;
27
+ overflow: hidden;
28
+ clip-path: inset(50%);
29
+ white-space: nowrap;
30
+ border: 0;
31
+ }
32
+
33
+ /* ---- typography.css ---- */
34
+ /* ---- Heading & Text -------------------------------------------------------- */
35
+ .sc-heading {
36
+ margin: 0;
37
+ font-family: var(--sc-font-family-sans);
38
+ font-weight: var(--sc-font-weight-semibold);
39
+ line-height: var(--sc-font-line-height-snug);
40
+ letter-spacing: var(--sc-font-tracking-normal);
41
+ color: var(--sc-color-text-default);
42
+ text-wrap: balance;
43
+ }
44
+ .sc-heading[data-size='sm'] {
45
+ font-size: var(--sc-font-size-sm);
46
+ line-height: var(--sc-font-line-height-ui);
47
+ }
48
+ .sc-heading[data-size='md'] {
49
+ font-size: var(--sc-font-size-md);
50
+ }
51
+ .sc-heading[data-size='lg'] {
52
+ font-size: var(--sc-font-size-lg);
53
+ }
54
+ .sc-heading[data-size='xl'] {
55
+ font-size: var(--sc-font-size-xl);
56
+ }
57
+ .sc-heading[data-size='2xl'] {
58
+ font-size: var(--sc-font-size-2xl);
59
+ letter-spacing: var(--sc-font-tracking-snug);
60
+ }
61
+ .sc-heading[data-size='3xl'] {
62
+ font-size: var(--sc-font-size-3xl);
63
+ letter-spacing: var(--sc-font-tracking-snug);
64
+ }
65
+ .sc-heading[data-size='4xl'] {
66
+ font-size: var(--sc-font-size-4xl);
67
+ line-height: var(--sc-font-line-height-tight);
68
+ letter-spacing: var(--sc-font-tracking-tight);
69
+ }
70
+ .sc-heading[data-size='5xl'] {
71
+ font-size: var(--sc-font-size-5xl);
72
+ line-height: var(--sc-font-line-height-tight);
73
+ letter-spacing: var(--sc-font-tracking-tight);
74
+ }
75
+ .sc-heading[data-truncate] {
76
+ overflow: hidden;
77
+ text-overflow: ellipsis;
78
+ white-space: nowrap;
79
+ text-wrap: nowrap;
80
+ }
81
+ .sc-text {
82
+ margin: 0;
83
+ font-family: var(--sc-font-family-sans);
84
+ font-size: var(--sc-font-size-sm);
85
+ font-weight: var(--sc-font-weight-regular);
86
+ line-height: var(--sc-font-line-height-ui);
87
+ color: var(--sc-color-text-default);
88
+ text-wrap: pretty;
89
+ }
90
+ .sc-text[data-size='xs'] {
91
+ font-size: var(--sc-font-size-xs);
92
+ }
93
+ .sc-text[data-size='md'] {
94
+ font-size: var(--sc-font-size-md);
95
+ line-height: var(--sc-font-line-height-normal);
96
+ }
97
+ .sc-text[data-size='lg'] {
98
+ font-size: var(--sc-font-size-lg);
99
+ line-height: var(--sc-font-line-height-normal);
100
+ }
101
+ .sc-text[data-weight='medium'] {
102
+ font-weight: var(--sc-font-weight-medium);
103
+ }
104
+ .sc-text[data-weight='semibold'] {
105
+ font-weight: var(--sc-font-weight-semibold);
106
+ }
107
+ .sc-text[data-align='center'] {
108
+ text-align: center;
109
+ }
110
+ .sc-text[data-align='end'] {
111
+ text-align: end;
112
+ }
113
+ .sc-text[data-align='start'] {
114
+ text-align: start;
115
+ }
116
+ .sc-text[data-numeric] {
117
+ font-variant-numeric: tabular-nums;
118
+ }
119
+ .sc-text[data-truncate=''] {
120
+ overflow: hidden;
121
+ text-overflow: ellipsis;
122
+ white-space: nowrap;
123
+ text-wrap: nowrap;
124
+ }
125
+ .sc-text[data-truncate='clamp'] {
126
+ display: -webkit-box;
127
+ -webkit-box-orient: vertical;
128
+ -webkit-line-clamp: var(--sc-text-lines);
129
+ line-clamp: var(--sc-text-lines);
130
+ overflow: hidden;
131
+ }
132
+ p.sc-text {
133
+ max-inline-size: var(--sc-font-measure);
134
+ }
135
+ .sc-heading[data-tone='muted'],
136
+ .sc-text[data-tone='muted'] {
137
+ color: var(--sc-color-text-muted);
138
+ }
139
+ .sc-heading[data-tone='subtle'],
140
+ .sc-text[data-tone='subtle'] {
141
+ color: var(--sc-color-text-subtle);
142
+ }
143
+ .sc-heading[data-tone='accent'],
144
+ .sc-text[data-tone='accent'] {
145
+ color: var(--sc-color-accent-text);
146
+ }
147
+ .sc-heading[data-tone='success'],
148
+ .sc-text[data-tone='success'] {
149
+ color: var(--sc-color-success-text);
150
+ }
151
+ .sc-heading[data-tone='warning'],
152
+ .sc-text[data-tone='warning'] {
153
+ color: var(--sc-color-warning-text);
154
+ }
155
+ .sc-heading[data-tone='danger'],
156
+ .sc-text[data-tone='danger'] {
157
+ color: var(--sc-color-danger-text);
158
+ }
159
+ .sc-heading[data-tone='info'],
160
+ .sc-text[data-tone='info'] {
161
+ color: var(--sc-color-info-text);
162
+ }
13
163
 
14
164
  /* ---- icon.css ---- */
15
165
  /* ---- Icon ------------------------------------------------------------------ */
@@ -434,11 +584,25 @@
434
584
  }
435
585
  ul.sc-stack,
436
586
  ol.sc-stack,
437
- ul.sc-inline {
587
+ ul.sc-inline,
588
+ ol.sc-inline {
438
589
  margin: 0;
439
590
  padding: 0;
440
591
  list-style: none;
441
592
  }
593
+ li.sc-stack,
594
+ li.sc-inline {
595
+ list-style: none;
596
+ }
597
+ fieldset.sc-stack {
598
+ margin: 0;
599
+ padding: 0;
600
+ border: 0;
601
+ min-inline-size: 0;
602
+ }
603
+ dl.sc-stack {
604
+ margin: 0;
605
+ }
442
606
  .sc-stack[data-gap='none'],
443
607
  .sc-inline[data-gap='none'] {
444
608
  gap: var(--sc-spacing-none);
@@ -880,4 +1044,1018 @@
880
1044
  }
881
1045
  }
882
1046
 
1047
+ /* ---- field.css ---- */
1048
+ /* ---- Field (Input, Textarea, Select) --------------------------------------- */
1049
+ .sc-field {
1050
+ --_h: var(--sc-size-control-md);
1051
+ --_px: var(--sc-spacing-sm);
1052
+ --_radius: var(--sc-radius-md);
1053
+ --_fs: var(--sc-font-size-sm);
1054
+ display: flex;
1055
+ flex-direction: column;
1056
+ align-items: stretch;
1057
+ gap: var(--sc-spacing-2xs);
1058
+ min-inline-size: 0;
1059
+ font-family: var(--sc-font-family-sans);
1060
+ font-size: var(--sc-font-size-sm);
1061
+ line-height: var(--sc-font-line-height-ui);
1062
+ color: var(--sc-color-text-default);
1063
+ }
1064
+ .sc-field[data-size='sm'] {
1065
+ --_h: var(--sc-size-control-sm);
1066
+ --_px: var(--sc-spacing-xs);
1067
+ --_radius: var(--sc-radius-sm);
1068
+ }
1069
+ .sc-field[data-size='lg'] {
1070
+ --_h: var(--sc-size-control-lg);
1071
+ --_px: var(--sc-spacing-md);
1072
+ --_fs: var(--sc-font-size-md);
1073
+ }
1074
+ .sc-field__label {
1075
+ font-weight: var(--sc-font-weight-medium);
1076
+ cursor: default;
1077
+ }
1078
+ .sc-field[data-disabled] .sc-field__label {
1079
+ color: var(--sc-color-text-subtle);
1080
+ }
1081
+ .sc-field__required {
1082
+ margin-inline-start: var(--sc-spacing-3xs);
1083
+ color: var(--sc-color-danger-text);
1084
+ }
1085
+ .sc-field__description {
1086
+ margin: 0;
1087
+ color: var(--sc-color-text-muted);
1088
+ font-size: var(--sc-font-size-xs);
1089
+ }
1090
+ .sc-field__error {
1091
+ margin: 0;
1092
+ color: var(--sc-color-danger-text);
1093
+ font-size: var(--sc-font-size-xs);
1094
+ }
1095
+ /* Input */
1096
+ .sc-input-wrap {
1097
+ position: relative;
1098
+ display: flex;
1099
+ align-items: center;
1100
+ min-inline-size: 0;
1101
+ }
1102
+ .sc-input {
1103
+ box-sizing: border-box;
1104
+ inline-size: 100%;
1105
+ min-inline-size: 0;
1106
+ block-size: var(--_h);
1107
+ margin: 0;
1108
+ padding-block: 0;
1109
+ padding-inline: var(--_px);
1110
+ border: var(--sc-border-width-hairline) solid var(--sc-color-border-strong);
1111
+ border-radius: var(--_radius);
1112
+ background: var(--sc-color-surface-default);
1113
+ color: var(--sc-color-text-default);
1114
+ font: inherit;
1115
+ font-size: var(--_fs);
1116
+ line-height: var(--sc-font-line-height-ui);
1117
+ transition:
1118
+ border-color var(--sc-duration-fast) var(--sc-ease-standard),
1119
+ background-color var(--sc-duration-fast) var(--sc-ease-standard);
1120
+ }
1121
+ .sc-input::placeholder {
1122
+ color: var(--sc-color-text-subtle);
1123
+ opacity: 1;
1124
+ }
1125
+ .sc-input:hover:not(:disabled) {
1126
+ border-color: var(--sc-color-text-muted);
1127
+ }
1128
+ .sc-input:focus-visible {
1129
+ border-color: var(--sc-color-border-focus);
1130
+ outline-offset: 0;
1131
+ }
1132
+ .sc-input[data-invalid] {
1133
+ border-color: var(--sc-color-danger-solid);
1134
+ }
1135
+ .sc-input:disabled {
1136
+ background: var(--sc-color-surface-sunken);
1137
+ color: var(--sc-color-text-subtle);
1138
+ cursor: not-allowed;
1139
+ }
1140
+ .sc-input-wrap[data-icon-start] > .sc-input {
1141
+ padding-inline-start: calc(var(--_px) + var(--sc-size-icon-md) + var(--sc-spacing-xs));
1142
+ }
1143
+ .sc-input-wrap[data-icon-end] > .sc-input {
1144
+ padding-inline-end: calc(var(--_px) + var(--sc-size-icon-md) + var(--sc-spacing-xs));
1145
+ }
1146
+ .sc-input__icon {
1147
+ position: absolute;
1148
+ inset-block-start: 50%;
1149
+ translate: 0 -50%;
1150
+ display: inline-flex;
1151
+ inline-size: var(--sc-size-icon-md);
1152
+ block-size: var(--sc-size-icon-md);
1153
+ color: var(--sc-color-text-muted);
1154
+ pointer-events: none;
1155
+ }
1156
+ .sc-input__icon[data-side='start'] {
1157
+ inset-inline-start: var(--_px);
1158
+ }
1159
+ .sc-input__icon[data-side='end'] {
1160
+ inset-inline-end: var(--_px);
1161
+ }
1162
+ .sc-input__icon > svg {
1163
+ inline-size: 100%;
1164
+ block-size: 100%;
1165
+ }
1166
+ /* Textarea */
1167
+ .sc-textarea {
1168
+ block-size: auto;
1169
+ min-block-size: var(--_h);
1170
+ padding-block: var(--sc-spacing-xs);
1171
+ line-height: var(--sc-font-line-height-normal);
1172
+ resize: vertical;
1173
+ }
1174
+ .sc-textarea[data-resize='none'] {
1175
+ resize: none;
1176
+ }
1177
+ /* Select */
1178
+ .sc-select {
1179
+ box-sizing: border-box;
1180
+ display: inline-flex;
1181
+ align-items: center;
1182
+ justify-content: space-between;
1183
+ gap: var(--sc-spacing-xs);
1184
+ min-inline-size: 160px;
1185
+ max-inline-size: 100%;
1186
+ block-size: var(--_h);
1187
+ margin: 0;
1188
+ padding-inline: var(--_px) var(--sc-spacing-xs);
1189
+ border: var(--sc-border-width-hairline) solid var(--sc-color-border-strong);
1190
+ border-radius: var(--_radius);
1191
+ background: var(--sc-color-surface-default);
1192
+ color: var(--sc-color-text-default);
1193
+ font: inherit;
1194
+ font-size: var(--_fs);
1195
+ line-height: 1;
1196
+ text-align: start;
1197
+ white-space: nowrap;
1198
+ cursor: pointer;
1199
+ user-select: none;
1200
+ align-self: flex-start;
1201
+ transition:
1202
+ border-color var(--sc-duration-fast) var(--sc-ease-standard),
1203
+ background-color var(--sc-duration-fast) var(--sc-ease-standard);
1204
+ }
1205
+ .sc-select[data-full-width] {
1206
+ inline-size: 100%;
1207
+ align-self: stretch;
1208
+ }
1209
+ .sc-select:hover:not([data-disabled]) {
1210
+ border-color: var(--sc-color-text-muted);
1211
+ }
1212
+ .sc-select[data-popup-open] {
1213
+ background: var(--sc-color-surface-hover);
1214
+ }
1215
+ .sc-select:focus-visible {
1216
+ border-color: var(--sc-color-border-focus);
1217
+ outline-offset: 0;
1218
+ }
1219
+ .sc-select[data-invalid] {
1220
+ border-color: var(--sc-color-danger-solid);
1221
+ }
1222
+ .sc-select[data-disabled] {
1223
+ background: var(--sc-color-surface-sunken);
1224
+ color: var(--sc-color-text-subtle);
1225
+ cursor: not-allowed;
1226
+ }
1227
+ .sc-select__value {
1228
+ overflow: hidden;
1229
+ text-overflow: ellipsis;
1230
+ }
1231
+ .sc-select__value[data-placeholder] {
1232
+ color: var(--sc-color-text-subtle);
1233
+ }
1234
+ .sc-select__icon {
1235
+ display: inline-flex;
1236
+ flex: none;
1237
+ color: var(--sc-color-text-muted);
1238
+ }
1239
+ .sc-select__positioner {
1240
+ z-index: var(--sc-z-dropdown);
1241
+ outline: 0;
1242
+ }
1243
+ .sc-select__popup {
1244
+ box-sizing: border-box;
1245
+ min-inline-size: var(--anchor-width);
1246
+ max-block-size: var(--available-height);
1247
+ overflow: auto;
1248
+ padding: var(--sc-spacing-2xs);
1249
+ border-radius: var(--sc-radius-lg);
1250
+ background: var(--sc-color-surface-raised);
1251
+ color: var(--sc-color-text-default);
1252
+ border: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
1253
+ box-shadow: var(--sc-elevation-2);
1254
+ font-family: var(--sc-font-family-sans);
1255
+ font-size: var(--sc-font-size-sm);
1256
+ line-height: var(--sc-font-line-height-ui);
1257
+ outline: 0;
1258
+ transform-origin: var(--transform-origin);
1259
+ transition:
1260
+ opacity var(--sc-duration-fast) var(--sc-ease-enter),
1261
+ scale var(--sc-duration-fast) var(--sc-ease-enter);
1262
+ }
1263
+ .sc-select__popup[data-starting-style],
1264
+ .sc-select__popup[data-ending-style] {
1265
+ opacity: 0;
1266
+ scale: 0.97;
1267
+ }
1268
+ .sc-select__item {
1269
+ display: grid;
1270
+ grid-template-columns: var(--sc-size-icon-md) 1fr;
1271
+ align-items: center;
1272
+ column-gap: var(--sc-spacing-xs);
1273
+ box-sizing: border-box;
1274
+ min-block-size: var(--sc-size-control-sm);
1275
+ padding-inline: var(--sc-spacing-xs);
1276
+ padding-block: var(--sc-spacing-2xs);
1277
+ border-radius: var(--sc-radius-sm);
1278
+ cursor: default;
1279
+ user-select: none;
1280
+ outline: 0;
1281
+ }
1282
+ .sc-select__item[data-highlighted] {
1283
+ background: var(--sc-color-surface-hover);
1284
+ }
1285
+ .sc-select__item[data-disabled] {
1286
+ opacity: 0.5;
1287
+ cursor: not-allowed;
1288
+ }
1289
+ .sc-select__indicator {
1290
+ grid-column: 1;
1291
+ display: inline-flex;
1292
+ color: var(--sc-color-accent-text);
1293
+ }
1294
+ .sc-select__item-text {
1295
+ grid-column: 2;
1296
+ }
1297
+ .sc-select__group-label {
1298
+ padding: var(--sc-spacing-2xs) var(--sc-spacing-xs);
1299
+ color: var(--sc-color-text-muted);
1300
+ font-size: var(--sc-font-size-xs);
1301
+ font-weight: var(--sc-font-weight-medium);
1302
+ letter-spacing: var(--sc-font-tracking-wide);
1303
+ text-transform: uppercase;
1304
+ }
1305
+ /* Checkbox and Switch share a labelled row */
1306
+ .sc-choice {
1307
+ --_gap: var(--sc-spacing-xs);
1308
+ display: grid;
1309
+ grid-template-columns: auto 1fr;
1310
+ column-gap: var(--_gap);
1311
+ row-gap: var(--sc-spacing-3xs);
1312
+ inline-size: fit-content;
1313
+ font-family: var(--sc-font-family-sans);
1314
+ font-size: var(--sc-font-size-sm);
1315
+ line-height: var(--sc-font-line-height-ui);
1316
+ color: var(--sc-color-text-default);
1317
+ }
1318
+ .sc-choice__control {
1319
+ grid-column: 1 / -1;
1320
+ display: grid;
1321
+ grid-template-columns: subgrid;
1322
+ align-items: start;
1323
+ cursor: pointer;
1324
+ user-select: none;
1325
+ }
1326
+ .sc-choice[data-label-position='start'] {
1327
+ grid-template-columns: 1fr auto;
1328
+ inline-size: 100%;
1329
+ }
1330
+ .sc-choice[data-label-position='start'] > .sc-choice__control > .sc-switch {
1331
+ order: 1;
1332
+ }
1333
+ .sc-choice[data-disabled] {
1334
+ color: var(--sc-color-text-subtle);
1335
+ }
1336
+ .sc-choice[data-disabled] > .sc-choice__control {
1337
+ cursor: not-allowed;
1338
+ }
1339
+ .sc-choice__label {
1340
+ padding-block: calc((var(--sc-size-icon-lg) - 1lh) / 2);
1341
+ }
1342
+ .sc-choice__description {
1343
+ grid-column: 2;
1344
+ color: var(--sc-color-text-muted);
1345
+ font-size: var(--sc-font-size-xs);
1346
+ }
1347
+ .sc-choice[data-label-position='start'] > .sc-choice__description {
1348
+ grid-column: 1;
1349
+ }
1350
+ .sc-choice[data-disabled] > .sc-choice__description {
1351
+ color: var(--sc-color-text-subtle);
1352
+ }
1353
+ .sc-checkbox {
1354
+ box-sizing: border-box;
1355
+ display: inline-grid;
1356
+ place-items: center;
1357
+ inline-size: var(--sc-size-icon-lg);
1358
+ block-size: var(--sc-size-icon-lg);
1359
+ margin: 0;
1360
+ padding: 0;
1361
+ border: var(--sc-border-width-hairline) solid var(--sc-color-border-strong);
1362
+ border-radius: var(--sc-radius-sm);
1363
+ background: var(--sc-color-surface-default);
1364
+ color: var(--sc-color-text-on-accent);
1365
+ cursor: inherit;
1366
+ transition:
1367
+ background-color var(--sc-duration-fast) var(--sc-ease-standard),
1368
+ border-color var(--sc-duration-fast) var(--sc-ease-standard);
1369
+ }
1370
+ .sc-checkbox:hover:not([data-disabled]) {
1371
+ border-color: var(--sc-color-text-muted);
1372
+ }
1373
+ .sc-checkbox[data-checked],
1374
+ .sc-checkbox[data-indeterminate] {
1375
+ background: var(--sc-color-accent-default);
1376
+ border-color: var(--sc-color-accent-default);
1377
+ }
1378
+ .sc-checkbox[data-invalid] {
1379
+ border-color: var(--sc-color-danger-solid);
1380
+ }
1381
+ .sc-checkbox[data-disabled] {
1382
+ opacity: 0.5;
1383
+ }
1384
+ .sc-checkbox__indicator {
1385
+ display: inline-grid;
1386
+ place-items: center;
1387
+ }
1388
+ .sc-checkbox__dash,
1389
+ .sc-checkbox[data-indeterminate] .sc-checkbox__check {
1390
+ display: none;
1391
+ }
1392
+ .sc-checkbox[data-indeterminate] .sc-checkbox__dash {
1393
+ display: inline-block;
1394
+ }
1395
+ .sc-switch {
1396
+ --_w: 36px;
1397
+ --_h: var(--sc-size-icon-lg);
1398
+ --_pad: 2px;
1399
+ box-sizing: border-box;
1400
+ position: relative;
1401
+ display: inline-block;
1402
+ inline-size: var(--_w);
1403
+ block-size: var(--_h);
1404
+ margin: 0;
1405
+ padding: var(--_pad);
1406
+ border: 0;
1407
+ border-radius: var(--sc-radius-full);
1408
+ background: var(--sc-color-border-strong);
1409
+ cursor: inherit;
1410
+ transition: background-color var(--sc-duration-fast) var(--sc-ease-standard);
1411
+ }
1412
+ .sc-switch:hover:not([data-disabled]) {
1413
+ background: var(--sc-color-text-muted);
1414
+ }
1415
+ .sc-switch[data-checked] {
1416
+ background: var(--sc-color-accent-default);
1417
+ }
1418
+ .sc-switch[data-checked]:hover:not([data-disabled]) {
1419
+ background: var(--sc-color-accent-hover);
1420
+ }
1421
+ .sc-switch[data-disabled] {
1422
+ opacity: 0.5;
1423
+ }
1424
+ .sc-switch__thumb {
1425
+ display: block;
1426
+ inline-size: calc(var(--_h) - 2 * var(--_pad));
1427
+ block-size: calc(var(--_h) - 2 * var(--_pad));
1428
+ border-radius: var(--sc-radius-full);
1429
+ background: var(--sc-color-surface-default);
1430
+ box-shadow: var(--sc-elevation-1);
1431
+ transition: translate var(--sc-duration-fast) var(--sc-ease-standard);
1432
+ }
1433
+ .sc-switch[data-checked] > .sc-switch__thumb {
1434
+ translate: calc(var(--_w) - var(--_h)) 0;
1435
+ }
1436
+ @media (prefers-reduced-motion: reduce) {
1437
+ .sc-input,
1438
+ .sc-select,
1439
+ .sc-select__popup,
1440
+ .sc-checkbox,
1441
+ .sc-switch,
1442
+ .sc-switch__thumb {
1443
+ transition: none;
1444
+ }
1445
+ .sc-select__popup[data-starting-style],
1446
+ .sc-select__popup[data-ending-style] {
1447
+ scale: none;
1448
+ }
1449
+ }
1450
+
1451
+ /* ---- tabs.css ---- */
1452
+ /* ---- Tabs ------------------------------------------------------------------ */
1453
+ .sc-tabs {
1454
+ display: flex;
1455
+ flex-direction: column;
1456
+ min-inline-size: 0;
1457
+ font-family: var(--sc-font-family-sans);
1458
+ }
1459
+ .sc-tabs__list {
1460
+ position: relative;
1461
+ display: flex;
1462
+ gap: var(--sc-spacing-2xs);
1463
+ min-inline-size: 0;
1464
+ overflow-x: auto;
1465
+ scrollbar-width: none;
1466
+ border-block-end: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
1467
+ }
1468
+ .sc-tabs__list[data-fill] > .sc-tabs__tab {
1469
+ flex: 1 1 0;
1470
+ }
1471
+ .sc-tabs__tab {
1472
+ display: inline-flex;
1473
+ align-items: center;
1474
+ justify-content: center;
1475
+ gap: var(--sc-spacing-2xs);
1476
+ box-sizing: border-box;
1477
+ block-size: var(--sc-size-control-md);
1478
+ margin: 0;
1479
+ padding-inline: var(--sc-spacing-sm);
1480
+ border: 0;
1481
+ border-radius: var(--sc-radius-sm) var(--sc-radius-sm) 0 0;
1482
+ background: transparent;
1483
+ color: var(--sc-color-text-muted);
1484
+ font: inherit;
1485
+ font-size: var(--sc-font-size-sm);
1486
+ font-weight: var(--sc-font-weight-medium);
1487
+ line-height: 1;
1488
+ white-space: nowrap;
1489
+ cursor: pointer;
1490
+ user-select: none;
1491
+ transition: color var(--sc-duration-fast) var(--sc-ease-standard);
1492
+ }
1493
+ .sc-tabs__tab:hover:not([data-disabled]) {
1494
+ color: var(--sc-color-text-default);
1495
+ background: var(--sc-color-surface-hover);
1496
+ }
1497
+ .sc-tabs__tab[data-active] {
1498
+ color: var(--sc-color-text-default);
1499
+ }
1500
+ .sc-tabs__tab[data-disabled] {
1501
+ opacity: 0.5;
1502
+ cursor: not-allowed;
1503
+ }
1504
+ .sc-tabs__tab:focus-visible {
1505
+ outline-offset: calc(-1 * var(--sc-border-width-focus));
1506
+ }
1507
+ .sc-tabs__icon {
1508
+ display: inline-flex;
1509
+ color: inherit;
1510
+ }
1511
+ .sc-tabs__count {
1512
+ padding-inline: var(--sc-spacing-2xs);
1513
+ border-radius: var(--sc-radius-sm);
1514
+ background: var(--sc-color-surface-active);
1515
+ color: var(--sc-color-text-muted);
1516
+ font-size: var(--sc-font-size-xs);
1517
+ font-variant-numeric: tabular-nums;
1518
+ line-height: 1.4;
1519
+ }
1520
+ .sc-tabs__tab[data-active] > .sc-tabs__count {
1521
+ background: var(--sc-color-accent-subtle);
1522
+ color: var(--sc-color-accent-text);
1523
+ }
1524
+ .sc-tabs__indicator {
1525
+ position: absolute;
1526
+ inset-block-end: calc(-1 * var(--sc-border-width-hairline));
1527
+ inset-inline-start: 0;
1528
+ inline-size: var(--active-tab-width);
1529
+ block-size: var(--sc-border-width-focus);
1530
+ translate: var(--active-tab-left) 0;
1531
+ background: var(--sc-color-accent-default);
1532
+ border-radius: var(--sc-radius-full) var(--sc-radius-full) 0 0;
1533
+ transition:
1534
+ translate var(--sc-duration-base) var(--sc-ease-standard),
1535
+ inline-size var(--sc-duration-base) var(--sc-ease-standard);
1536
+ }
1537
+ .sc-tabs__panel {
1538
+ min-inline-size: 0;
1539
+ padding-block-start: var(--sc-spacing-md);
1540
+ }
1541
+ .sc-tabs__panel[data-hidden] {
1542
+ display: none;
1543
+ }
1544
+ @media (prefers-reduced-motion: reduce) {
1545
+ .sc-tabs__tab,
1546
+ .sc-tabs__indicator {
1547
+ transition: none;
1548
+ }
1549
+ }
1550
+
1551
+ /* ---- toolbar.css ---- */
1552
+ /* ---- Toolbar --------------------------------------------------------------- */
1553
+ .sc-toolbar {
1554
+ display: flex;
1555
+ flex-wrap: nowrap;
1556
+ align-items: center;
1557
+ gap: var(--sc-spacing-xs);
1558
+ min-inline-size: 0;
1559
+ overflow-x: auto;
1560
+ scrollbar-width: none;
1561
+ }
1562
+ .sc-toolbar[data-wrap] {
1563
+ flex-wrap: wrap;
1564
+ overflow: visible;
1565
+ }
1566
+ .sc-toolbar__group {
1567
+ display: inline-flex;
1568
+ flex: none;
1569
+ align-items: center;
1570
+ gap: var(--sc-spacing-2xs);
1571
+ }
1572
+ .sc-toolbar__separator {
1573
+ flex: none;
1574
+ inline-size: var(--sc-border-width-hairline);
1575
+ block-size: var(--sc-size-icon-lg);
1576
+ margin-inline: var(--sc-spacing-2xs);
1577
+ background: var(--sc-color-border-default);
1578
+ }
1579
+ .sc-toolbar[data-orientation='vertical'] {
1580
+ flex-direction: column;
1581
+ align-items: stretch;
1582
+ }
1583
+ .sc-toolbar[data-orientation='vertical'] > .sc-toolbar__separator {
1584
+ inline-size: auto;
1585
+ block-size: var(--sc-border-width-hairline);
1586
+ margin-inline: 0;
1587
+ margin-block: var(--sc-spacing-2xs);
1588
+ }
1589
+ .sc-toolbar__spacer {
1590
+ flex: 1 1 0;
1591
+ min-inline-size: var(--sc-spacing-xs);
1592
+ }
1593
+ .sc-toolbar[data-gap='none'],
1594
+ .sc-toolbar__group[data-gap='none'] {
1595
+ gap: var(--sc-spacing-none);
1596
+ }
1597
+ .sc-toolbar[data-gap='3xs'],
1598
+ .sc-toolbar__group[data-gap='3xs'] {
1599
+ gap: var(--sc-spacing-3xs);
1600
+ }
1601
+ .sc-toolbar[data-gap='2xs'],
1602
+ .sc-toolbar__group[data-gap='2xs'] {
1603
+ gap: var(--sc-spacing-2xs);
1604
+ }
1605
+ .sc-toolbar[data-gap='xs'],
1606
+ .sc-toolbar__group[data-gap='xs'] {
1607
+ gap: var(--sc-spacing-xs);
1608
+ }
1609
+ .sc-toolbar[data-gap='sm'],
1610
+ .sc-toolbar__group[data-gap='sm'] {
1611
+ gap: var(--sc-spacing-sm);
1612
+ }
1613
+ .sc-toolbar[data-gap='md'],
1614
+ .sc-toolbar__group[data-gap='md'] {
1615
+ gap: var(--sc-spacing-md);
1616
+ }
1617
+ .sc-toolbar[data-gap='lg'],
1618
+ .sc-toolbar__group[data-gap='lg'] {
1619
+ gap: var(--sc-spacing-lg);
1620
+ }
1621
+ .sc-toolbar[data-gap='xl'],
1622
+ .sc-toolbar__group[data-gap='xl'] {
1623
+ gap: var(--sc-spacing-xl);
1624
+ }
1625
+ .sc-toolbar[data-gap='2xl'],
1626
+ .sc-toolbar__group[data-gap='2xl'] {
1627
+ gap: var(--sc-spacing-2xl);
1628
+ }
1629
+ .sc-toolbar[data-gap='3xl'],
1630
+ .sc-toolbar__group[data-gap='3xl'] {
1631
+ gap: var(--sc-spacing-3xl);
1632
+ }
1633
+ .sc-toolbar[data-gap='4xl'],
1634
+ .sc-toolbar__group[data-gap='4xl'] {
1635
+ gap: var(--sc-spacing-4xl);
1636
+ }
1637
+
1638
+ /* ---- banner.css ---- */
1639
+ /* ---- Banner ---------------------------------------------------------------- */
1640
+ .sc-banner {
1641
+ --_bg: var(--sc-color-info-subtle);
1642
+ --_fg: var(--sc-color-info-text);
1643
+ display: flex;
1644
+ align-items: center;
1645
+ gap: var(--sc-spacing-xs);
1646
+ box-sizing: border-box;
1647
+ min-block-size: var(--sc-size-control-md);
1648
+ padding-block: var(--sc-spacing-2xs);
1649
+ padding-inline: var(--sc-spacing-sm) var(--sc-spacing-2xs);
1650
+ border-radius: var(--sc-radius-md);
1651
+ background: var(--_bg);
1652
+ color: var(--_fg);
1653
+ font-family: var(--sc-font-family-sans);
1654
+ font-size: var(--sc-font-size-sm);
1655
+ line-height: var(--sc-font-line-height-ui);
1656
+ }
1657
+ .sc-banner[data-tone='success'] {
1658
+ --_bg: var(--sc-color-success-subtle);
1659
+ --_fg: var(--sc-color-success-text);
1660
+ }
1661
+ .sc-banner[data-tone='warning'] {
1662
+ --_bg: var(--sc-color-warning-subtle);
1663
+ --_fg: var(--sc-color-warning-text);
1664
+ }
1665
+ .sc-banner[data-tone='danger'] {
1666
+ --_bg: var(--sc-color-danger-subtle);
1667
+ --_fg: var(--sc-color-danger-text);
1668
+ }
1669
+ .sc-banner[data-tone='neutral'] {
1670
+ --_bg: var(--sc-color-surface-sunken);
1671
+ --_fg: var(--sc-color-text-default);
1672
+ }
1673
+ .sc-banner__icon {
1674
+ display: inline-flex;
1675
+ flex: none;
1676
+ }
1677
+ .sc-banner__body {
1678
+ flex: 1 1 auto;
1679
+ min-inline-size: 0;
1680
+ text-wrap: pretty;
1681
+ }
1682
+ .sc-banner__action {
1683
+ flex: none;
1684
+ }
1685
+ .sc-banner__dismiss {
1686
+ flex: none;
1687
+ color: inherit;
1688
+ }
1689
+ .sc-banner > .sc-button[data-variant='ghost'] {
1690
+ color: inherit;
1691
+ }
1692
+ .sc-banner > .sc-button[data-variant='ghost']:hover,
1693
+ .sc-banner > .sc-button[data-variant='ghost']:active {
1694
+ background: rgb(from var(--_fg) r g b / 0.1);
1695
+ }
1696
+
1697
+ /* ---- progress.css ---- */
1698
+ /* ---- Spinner --------------------------------------------------------------- */
1699
+ .sc-spinner {
1700
+ --_s: var(--sc-size-icon-md);
1701
+ display: inline-block;
1702
+ inline-size: var(--_s);
1703
+ block-size: var(--_s);
1704
+ flex: none;
1705
+ vertical-align: -0.125em;
1706
+ color: inherit;
1707
+ }
1708
+ .sc-spinner[data-size='xs'] {
1709
+ --_s: var(--sc-size-icon-xs);
1710
+ }
1711
+ .sc-spinner[data-size='sm'] {
1712
+ --_s: var(--sc-size-icon-sm);
1713
+ }
1714
+ .sc-spinner[data-size='lg'] {
1715
+ --_s: var(--sc-size-icon-lg);
1716
+ }
1717
+ .sc-spinner[data-size='xl'] {
1718
+ --_s: var(--sc-size-icon-xl);
1719
+ }
1720
+ .sc-spinner[data-size='em'] {
1721
+ --_s: 1em;
1722
+ }
1723
+ .sc-spinner > svg {
1724
+ display: block;
1725
+ inline-size: 100%;
1726
+ block-size: 100%;
1727
+ animation: sc-spin 0.8s linear infinite;
1728
+ }
1729
+ .sc-spinner__track {
1730
+ opacity: 0.25;
1731
+ }
1732
+ .sc-spinner__arc {
1733
+ stroke-dasharray: 28 12;
1734
+ }
1735
+ /* ---- Progress -------------------------------------------------------------- */
1736
+ .sc-progress {
1737
+ --_fill: var(--sc-color-accent-default);
1738
+ --_h: 8px;
1739
+ display: grid;
1740
+ grid-template-columns: 1fr auto;
1741
+ column-gap: var(--sc-spacing-sm);
1742
+ row-gap: var(--sc-spacing-2xs);
1743
+ align-items: baseline;
1744
+ min-inline-size: 0;
1745
+ font-family: var(--sc-font-family-sans);
1746
+ font-size: var(--sc-font-size-sm);
1747
+ line-height: var(--sc-font-line-height-ui);
1748
+ color: var(--sc-color-text-default);
1749
+ }
1750
+ .sc-progress[data-size='sm'] {
1751
+ --_h: 4px;
1752
+ }
1753
+ .sc-progress[data-tone='success'] {
1754
+ --_fill: var(--sc-color-success-solid);
1755
+ }
1756
+ .sc-progress[data-tone='warning'] {
1757
+ --_fill: var(--sc-color-warning-solid);
1758
+ }
1759
+ .sc-progress[data-tone='danger'] {
1760
+ --_fill: var(--sc-color-danger-solid);
1761
+ }
1762
+ .sc-progress[data-tone='neutral'] {
1763
+ --_fill: var(--sc-color-text-muted);
1764
+ }
1765
+ .sc-progress__label {
1766
+ grid-column: 1;
1767
+ font-weight: var(--sc-font-weight-medium);
1768
+ }
1769
+ .sc-progress__value {
1770
+ grid-column: 2;
1771
+ color: var(--sc-color-text-muted);
1772
+ font-size: var(--sc-font-size-xs);
1773
+ font-variant-numeric: tabular-nums;
1774
+ text-align: end;
1775
+ white-space: nowrap;
1776
+ }
1777
+ .sc-progress__track {
1778
+ grid-column: 1 / -1;
1779
+ position: relative;
1780
+ block-size: var(--_h);
1781
+ overflow: hidden;
1782
+ border-radius: var(--sc-radius-full);
1783
+ background: var(--sc-color-surface-active);
1784
+ }
1785
+ .sc-progress__indicator {
1786
+ block-size: 100%;
1787
+ border-radius: inherit;
1788
+ background: var(--_fill);
1789
+ transition: width var(--sc-duration-slow) var(--sc-ease-standard);
1790
+ }
1791
+ .sc-progress__indicator[data-indeterminate] {
1792
+ position: absolute;
1793
+ inset-block: 0;
1794
+ inline-size: 40%;
1795
+ animation: sc-progress-slide 1.4s var(--sc-ease-standard) infinite;
1796
+ }
1797
+ @keyframes sc-progress-slide {
1798
+ from {
1799
+ translate: -100% 0;
1800
+ }
1801
+ to {
1802
+ translate: 250% 0;
1803
+ }
1804
+ }
1805
+ /* inline: spinner + text on one line, no track */
1806
+ .sc-progress[data-variant='inline'] {
1807
+ display: inline-flex;
1808
+ align-items: center;
1809
+ gap: var(--sc-spacing-2xs);
1810
+ }
1811
+ .sc-progress[data-variant='inline'] > .sc-progress__spinner {
1812
+ color: var(--_fill);
1813
+ }
1814
+ .sc-progress[data-variant='inline'] > .sc-progress__value {
1815
+ font-size: inherit;
1816
+ text-align: start;
1817
+ }
1818
+ .sc-progress[data-variant='inline'] > .sc-progress__value::before {
1819
+ content: '·';
1820
+ margin-inline-end: var(--sc-spacing-2xs);
1821
+ }
1822
+ .sc-progress[data-variant='inline'] > .sc-progress__label + .sc-progress__value {
1823
+ margin-inline-start: 0;
1824
+ }
1825
+ @media (prefers-reduced-motion: reduce) {
1826
+ .sc-spinner > svg {
1827
+ animation-duration: 1.6s;
1828
+ }
1829
+ .sc-progress__indicator {
1830
+ transition: none;
1831
+ }
1832
+ .sc-progress__indicator[data-indeterminate] {
1833
+ inline-size: 100%;
1834
+ animation: sc-progress-pulse 2s ease-in-out infinite alternate;
1835
+ }
1836
+ @keyframes sc-progress-pulse {
1837
+ from {
1838
+ opacity: 0.35;
1839
+ }
1840
+ to {
1841
+ opacity: 0.8;
1842
+ }
1843
+ }
1844
+ }
1845
+
1846
+ /* ---- table.css ---- */
1847
+ /* ---- Table ----------------------------------------------------------------- */
1848
+ .sc-table-wrap {
1849
+ position: relative;
1850
+ inline-size: 100%;
1851
+ min-inline-size: 0;
1852
+ overflow-x: auto;
1853
+ overscroll-behavior-x: contain;
1854
+ }
1855
+ .sc-table-wrap[data-sticky-header]:not([data-scroll]) {
1856
+ overflow: visible;
1857
+ }
1858
+ .sc-table-wrap[data-scroll] {
1859
+ overflow: auto;
1860
+ }
1861
+ .sc-table {
1862
+ --_py: var(--sc-spacing-xs);
1863
+ --_px: var(--sc-spacing-sm);
1864
+ --_h: var(--sc-size-control-md);
1865
+ inline-size: 100%;
1866
+ border-collapse: separate;
1867
+ border-spacing: 0;
1868
+ font-family: var(--sc-font-family-sans);
1869
+ font-size: var(--sc-font-size-sm);
1870
+ line-height: var(--sc-font-line-height-ui);
1871
+ color: var(--sc-color-text-default);
1872
+ text-align: start;
1873
+ }
1874
+ .sc-table[data-layout='fixed'] {
1875
+ table-layout: fixed;
1876
+ }
1877
+ .sc-table[data-density='compact'],
1878
+ [data-density='compact'] .sc-table:not([data-density='comfortable']) {
1879
+ --_py: var(--sc-spacing-2xs);
1880
+ --_px: var(--sc-spacing-xs);
1881
+ --_h: var(--sc-size-control-sm);
1882
+ }
1883
+ .sc-table__caption {
1884
+ padding-block-end: var(--sc-spacing-xs);
1885
+ color: var(--sc-color-text-muted);
1886
+ font-size: var(--sc-font-size-xs);
1887
+ text-align: start;
1888
+ caption-side: top;
1889
+ }
1890
+ .sc-table__header,
1891
+ .sc-table__cell {
1892
+ box-sizing: border-box;
1893
+ block-size: var(--_h);
1894
+ padding: var(--_py) var(--_px);
1895
+ vertical-align: middle;
1896
+ text-align: start;
1897
+ }
1898
+ .sc-table__header {
1899
+ color: var(--sc-color-text-muted);
1900
+ font-size: var(--sc-font-size-xs);
1901
+ font-weight: var(--sc-font-weight-medium);
1902
+ letter-spacing: var(--sc-font-tracking-wide);
1903
+ text-transform: uppercase;
1904
+ white-space: nowrap;
1905
+ background: var(--sc-color-surface-canvas);
1906
+ border-block-end: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
1907
+ }
1908
+ .sc-table__body .sc-table__header {
1909
+ color: var(--sc-color-text-default);
1910
+ font-size: inherit;
1911
+ font-weight: var(--sc-font-weight-medium);
1912
+ letter-spacing: 0;
1913
+ text-transform: none;
1914
+ background: transparent;
1915
+ border-block-end: 0;
1916
+ }
1917
+ .sc-table-wrap[data-sticky-header] .sc-table__head .sc-table__header {
1918
+ position: sticky;
1919
+ inset-block-start: 0;
1920
+ z-index: var(--sc-z-sticky);
1921
+ }
1922
+ .sc-table[data-divided] .sc-table__body .sc-table__row:not(:last-child) > .sc-table__cell,
1923
+ .sc-table[data-divided] .sc-table__body .sc-table__row:not(:last-child) > .sc-table__header {
1924
+ border-block-end: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
1925
+ }
1926
+ .sc-table__foot .sc-table__cell,
1927
+ .sc-table__foot .sc-table__header {
1928
+ border-block-start: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
1929
+ font-weight: var(--sc-font-weight-medium);
1930
+ }
1931
+ .sc-table__row[data-interactive] {
1932
+ cursor: pointer;
1933
+ }
1934
+ .sc-table__row[data-interactive]:hover > .sc-table__cell,
1935
+ .sc-table__row[data-interactive]:hover > .sc-table__header {
1936
+ background: var(--sc-color-surface-hover);
1937
+ }
1938
+ .sc-table__row[data-selected] > .sc-table__cell,
1939
+ .sc-table__row[data-selected] > .sc-table__header {
1940
+ background: var(--sc-color-accent-subtle);
1941
+ }
1942
+ .sc-table__header[data-align='center'],
1943
+ .sc-table__cell[data-align='center'] {
1944
+ text-align: center;
1945
+ }
1946
+ .sc-table__header[data-align='end'],
1947
+ .sc-table__cell[data-align='end'] {
1948
+ text-align: end;
1949
+ }
1950
+ .sc-table__header[data-numeric],
1951
+ .sc-table__cell[data-numeric] {
1952
+ font-variant-numeric: tabular-nums;
1953
+ }
1954
+ .sc-table__header[data-nowrap],
1955
+ .sc-table__cell[data-nowrap] {
1956
+ white-space: nowrap;
1957
+ }
1958
+ .sc-table__header[data-truncate],
1959
+ .sc-table__cell[data-truncate] {
1960
+ max-inline-size: 0;
1961
+ overflow: hidden;
1962
+ text-overflow: ellipsis;
1963
+ white-space: nowrap;
1964
+ }
1965
+ .sc-table__cell > .sc-badge,
1966
+ .sc-table__cell > .sc-button {
1967
+ vertical-align: middle;
1968
+ }
1969
+
1970
+ /* ---- stat.css ---- */
1971
+ /* ---- Stat ------------------------------------------------------------------ */
1972
+ .sc-stat {
1973
+ --_p: var(--sc-spacing-md);
1974
+ --_value: var(--sc-font-size-2xl);
1975
+ position: relative;
1976
+ display: grid;
1977
+ grid-template-columns: 1fr auto;
1978
+ grid-template-areas:
1979
+ 'label icon'
1980
+ 'value value'
1981
+ 'delta delta'
1982
+ 'hint hint';
1983
+ align-content: start;
1984
+ row-gap: var(--sc-spacing-3xs);
1985
+ box-sizing: border-box;
1986
+ min-inline-size: 0;
1987
+ margin: 0;
1988
+ padding: var(--_p);
1989
+ border-radius: var(--sc-radius-xl);
1990
+ background: var(--sc-color-surface-default);
1991
+ color: var(--sc-color-text-default);
1992
+ border: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
1993
+ font-family: var(--sc-font-family-sans);
1994
+ font-size: var(--sc-font-size-sm);
1995
+ line-height: var(--sc-font-line-height-ui);
1996
+ list-style: none;
1997
+ }
1998
+ .sc-stat[data-variant='filled'] {
1999
+ background: var(--sc-color-surface-sunken);
2000
+ border-color: transparent;
2001
+ }
2002
+ .sc-stat[data-variant='plain'] {
2003
+ --_p: 0;
2004
+ background: transparent;
2005
+ border: 0;
2006
+ border-radius: 0;
2007
+ }
2008
+ .sc-stat[data-size='sm'] {
2009
+ --_p: var(--sc-spacing-sm);
2010
+ --_value: var(--sc-font-size-xl);
2011
+ border-radius: var(--sc-radius-lg);
2012
+ }
2013
+ .sc-stat__label {
2014
+ grid-area: label;
2015
+ color: var(--sc-color-text-muted);
2016
+ font-weight: var(--sc-font-weight-medium);
2017
+ }
2018
+ .sc-stat__icon {
2019
+ grid-area: icon;
2020
+ display: inline-flex;
2021
+ color: var(--sc-color-text-subtle);
2022
+ }
2023
+ .sc-stat__icon > svg {
2024
+ inline-size: var(--sc-size-icon-lg);
2025
+ block-size: var(--sc-size-icon-lg);
2026
+ }
2027
+ .sc-stat__value {
2028
+ grid-area: value;
2029
+ font-size: var(--_value);
2030
+ font-weight: var(--sc-font-weight-semibold);
2031
+ line-height: var(--sc-font-line-height-tight);
2032
+ letter-spacing: var(--sc-font-tracking-snug);
2033
+ font-variant-numeric: tabular-nums;
2034
+ overflow-wrap: anywhere;
2035
+ }
2036
+ .sc-stat__delta {
2037
+ grid-area: delta;
2038
+ display: inline-flex;
2039
+ align-items: center;
2040
+ gap: var(--sc-spacing-3xs);
2041
+ color: var(--sc-color-text-muted);
2042
+ font-size: var(--sc-font-size-xs);
2043
+ font-weight: var(--sc-font-weight-medium);
2044
+ font-variant-numeric: tabular-nums;
2045
+ }
2046
+ .sc-stat__delta[data-tone='positive'] {
2047
+ color: var(--sc-color-success-text);
2048
+ }
2049
+ .sc-stat__delta[data-tone='negative'] {
2050
+ color: var(--sc-color-danger-text);
2051
+ }
2052
+ .sc-stat__trend {
2053
+ display: inline-flex;
2054
+ }
2055
+ .sc-stat__hint {
2056
+ grid-area: hint;
2057
+ color: var(--sc-color-text-muted);
2058
+ font-size: var(--sc-font-size-xs);
2059
+ }
2060
+
883
2061
  }