@wwtdev/bsds-css 0.0.3

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.
@@ -0,0 +1,1775 @@
1
+ /* VARIABLES GENERATED WITH TAILWIND CONFIG.
2
+ Tokens location: ./tailwind.config.js */
3
+
4
+ :root {
5
+ --bs-transparent: transparent;
6
+ --bs-white: #ffffff;
7
+ --bs-black: #0a0b19;
8
+ --bs-blue-10: rgba(0, 134, 234, 0.1);
9
+ --bs-blue-100: #99cff7;
10
+ --bs-blue-200: #66b6f2;
11
+ --bs-blue-300: #339eee;
12
+ --bs-blue-400: #0086ea;
13
+ --bs-blue-500: #006dc7;
14
+ --bs-red-10: rgba(238, 40, 42, 0.1);
15
+ --bs-red-100: #f8a9aa;
16
+ --bs-red-200: #f57e7f;
17
+ --bs-red-300: #f15355;
18
+ --bs-red-400: #ee282a;
19
+ --bs-red-500: #d91214;
20
+ --bs-plum-10: rgba(28, 0, 135, 0.1);
21
+ --bs-plum-100: #a499cf;
22
+ --bs-plum-200: #7766b7;
23
+ --bs-plum-300: #49339f;
24
+ --bs-plum-400: #1c0087;
25
+ --bs-royal-100: #c5cceb;
26
+ --bs-royal-200: #7585d1;
27
+ --bs-royal-300: #5365c4;
28
+ --bs-royal-400: #162fb4;
29
+ --bs-violet-100: #cbc0da;
30
+ --bs-violet-200: #9983b6;
31
+ --bs-violet-300: #634291;
32
+ --bs-violet-400: #330072;
33
+ --bs-navy-100: #c6c6d1;
34
+ --bs-navy-200: #8d8ea1;
35
+ --bs-navy-300: #555775;
36
+ --bs-navy-400: #1d1e48;
37
+ --bs-navy-500: #131431;
38
+ --bs-orange-10: rgba(250, 70, 22, 0.1);
39
+ --bs-orange-100: #fed1c5;
40
+ --bs-orange-200: #fda58d;
41
+ --bs-orange-300: #fc7755;
42
+ --bs-orange-400: #fa4616;
43
+ --bs-orange-warning: #ea6712;
44
+ --bs-pink-100: #f6cbe0;
45
+ --bs-pink-200: #eb7eaf;
46
+ --bs-pink-300: #e45e9b;
47
+ --bs-pink-400: #e31c79;
48
+ --bs-pink-500: #d11a6f;
49
+ --bs-purple-10: rgba(130, 18, 196, 0.09);
50
+ --bs-purple-100: #e0c5ef;
51
+ --bs-purple-200: #bf8adf;
52
+ --bs-purple-300: #a154d0;
53
+ --bs-purple-400: #8212c4;
54
+ --bs-gray-100: #f0f0fa;
55
+ --bs-gray-200: #c9cad9;
56
+ --bs-gray-300: #a3a4b7;
57
+ --bs-gray-400: #4e4f5f;
58
+ --bs-gray-500: #292940;
59
+ --bs-gradient-dark: linear-gradient(
60
+ 90deg,
61
+ #1c0087 0%,
62
+ #ee282a 35%,
63
+ #ffffff 50%,
64
+ #0086ea 65%,
65
+ #1c0087 100%
66
+ );
67
+ --bs-gradient-light: linear-gradient(
68
+ 90deg,
69
+ #1c0087 0%,
70
+ #ee282a 35%,
71
+ #ffffff 50%,
72
+ #0086ea 65%,
73
+ #1c0087 100%
74
+ );
75
+ --bs-gradient-line: linear-gradient(
76
+ 90deg,
77
+ #ee282a 0%,
78
+ #1c0087 50%,
79
+ #0086ea 100%
80
+ );
81
+ --bs-space-0: 0px;
82
+ --bs-space-1: 0.25rem;
83
+ --bs-space-2: 0.5rem;
84
+ --bs-space-3: 0.75rem;
85
+ --bs-space-4: 1rem;
86
+ --bs-space-5: 1.25rem;
87
+ --bs-space-6: 1.5rem;
88
+ --bs-space-7: 1.75rem;
89
+ --bs-space-8: 2rem;
90
+ --bs-space-9: 2.25rem;
91
+ --bs-space-10: 2.5rem;
92
+ --bs-space-11: 2.75rem;
93
+ --bs-space-12: 3rem;
94
+ --bs-space-14: 3.5rem;
95
+ --bs-space-16: 4rem;
96
+ --bs-space-20: 5rem;
97
+ --bs-space-24: 6rem;
98
+ --bs-space-28: 7rem;
99
+ --bs-space-32: 8rem;
100
+ --bs-space-36: 9rem;
101
+ --bs-space-40: 10rem;
102
+ --bs-space-44: 11rem;
103
+ --bs-space-48: 12rem;
104
+ --bs-space-52: 13rem;
105
+ --bs-space-56: 14rem;
106
+ --bs-space-60: 15rem;
107
+ --bs-space-64: 16rem;
108
+ --bs-space-72: 18rem;
109
+ --bs-space-80: 20rem;
110
+ --bs-space-96: 24rem;
111
+ --bs-space-px: 1px;
112
+ --bs-space-0-half: 0.125rem;
113
+ --bs-space-1-half: 0.375rem;
114
+ --bs-space-2-half: 0.625rem;
115
+ --bs-space-3-half: 0.875rem;
116
+ --bs-space-f-1: clamp(0.25rem, calc(0.13rem + 0.5vw), 0.5rem);
117
+ --bs-space-f-2: clamp(0.5rem, calc(0.38rem + 0.5vw), 0.75rem);
118
+ --bs-space-f-3: clamp(0.75rem, calc(0.63rem + 0.5vw), 1rem);
119
+ --bs-space-f-4: clamp(1rem, calc(0.75rem + 1vw), 1.5rem);
120
+ --bs-space-f-6: clamp(1.5rem, calc(1.25rem + 1vw), 2rem);
121
+ --bs-space-f-8: clamp(2rem, calc(1.5rem + 2vw), 3rem);
122
+ --bs-space-f-12: clamp(4rem, calc(3rem + 4vw), 6rem);
123
+ --bs-space-f-16: clamp(4rem, calc(3rem + 4vw), 6rem);
124
+ --bs-space-f-24: clamp(6rem, calc(5rem + 4vw), 8rem);
125
+ --bs-space-f-4to8: clamp(1rem, calc(0.5rem + 2vw), 2rem);
126
+ --bs-space-f-6to12: clamp(1.5rem, calc(0.75rem + 3vw), 3rem);
127
+ --bs-space-f-12to24: clamp(3rem, calc(1.5rem + 6vw), 6rem);
128
+ --bs-text-xs: 0.75rem;
129
+ --bs-text-sm: 0.875rem;
130
+ --bs-text-base: 1rem;
131
+ --bs-text-md: 1.125rem;
132
+ --bs-text-lg: 1.25rem;
133
+ --bs-text-xl: 1.5rem;
134
+ --bs-text-2xl: 2rem;
135
+ --bs-text-3xl: 2.25rem;
136
+ --bs-text-4xl: 3rem;
137
+ --bs-text-f-xs: clamp(0.69rem, calc(0.84rem + -0.19vw), 0.79rem);
138
+ --bs-text-f-sm: clamp(0.83rem, calc(0.92rem + -0.11vw), 0.89rem);
139
+ --bs-text-f-base: clamp(1rem, calc(1rem + 0vw), 1rem);
140
+ --bs-text-f-md: clamp(1rem, calc(0.94rem + 0.25vw), 1.125rem);
141
+ --bs-text-f-lg: clamp(1.125rem, calc(1.06rem + 0.25vw), 1.25rem);
142
+ --bs-text-f-xl: clamp(1.25rem, calc(1.13rem + 0.5vw), 1.5rem);
143
+ --bs-text-f-2xl: clamp(1.5rem, calc(1.25rem + 1vw), 2rem);
144
+ --bs-text-f-3xl: clamp(2rem, calc(1.88rem + 0.5vw), 2.25rem);
145
+ --bs-text-f-4xl: clamp(2.25rem, calc(1.88rem + 1.5vw), 3rem);
146
+ --bs-leading-sm: 115%;
147
+ --bs-leading-base: 150%;
148
+ --bs-shadow: -4px 4px 12px rgba(0, 0, 0, 0.06),
149
+ -8px 8px 16px rgba(28, 0, 135, 0.2);
150
+ --bs-shadow-contentLow: -4px 4px 12px rgba(0, 0, 0, 0.06),
151
+ -8px 8px 16px rgba(28, 0, 135, 0.2);
152
+ --bs-shadow-contentLowCenter: 0px 0px 12px rgba(0, 0, 0, 0.06),
153
+ 0px 0px 16px rgba(28, 0, 135, 0.2);
154
+ --bs-shadow-contentMedium: -8px 8px 24px rgba(0, 0, 0, 0.06),
155
+ -16px 16px 32px rgba(28, 0, 135, 0.2);
156
+ --bs-shadow-contentHigh: 0px 16px 48px rgba(0, 0, 0, 0.06),
157
+ 0px 32px 64px rgba(28, 0, 135, 0.2);
158
+ --bs-shadow-drawerLeft: -12px 12px 24px rgba(0, 0, 0, 0.06),
159
+ -16px 16px 32px rgba(28, 0, 135, 0.2);
160
+ --bs-shadow-drawerRight: -12px 12px 24px rgba(0, 0, 0, 0.06),
161
+ 16px 16px 32px rgba(28, 0, 135, 0.2);
162
+ --bs-shadow-profilePhoto: inset 0px 0px 0.5em rgba(28, 0, 135, 0.25);
163
+ }
164
+
165
+ /* Box sizing rules */
166
+
167
+ *,
168
+ *::before,
169
+ *::after {
170
+ box-sizing: border-box;
171
+ }
172
+
173
+ /* Remove default margin */
174
+
175
+ body,
176
+ h1,
177
+ h2,
178
+ h3,
179
+ h4,
180
+ h5,
181
+ h6,
182
+ p,
183
+ figure,
184
+ blockquote,
185
+ dl,
186
+ dd {
187
+ margin: 0;
188
+ }
189
+
190
+ /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
191
+
192
+ ul[role='list'],
193
+ ol[role='list'] {
194
+ list-style: none;
195
+ }
196
+
197
+ /* Set core root defaults */
198
+
199
+ html:focus-within {
200
+ scroll-behavior: smooth;
201
+ }
202
+
203
+ /* Set core body defaults */
204
+
205
+ body {
206
+ min-height: 100vh;
207
+ text-rendering: optimizeSpeed;
208
+ line-height: 1.5;
209
+ }
210
+
211
+ /* A elements that don't have a class get default styles */
212
+
213
+ a:not([class]) {
214
+ -webkit-text-decoration-skip: ink;
215
+ text-decoration-skip-ink: auto;
216
+ }
217
+
218
+ /* Make images easier to work with */
219
+
220
+ img,
221
+ picture {
222
+ max-width: 100%;
223
+ display: block;
224
+ }
225
+
226
+ /* Inherit fonts for inputs */
227
+
228
+ :where(input, textarea, select) {
229
+ font: inherit;
230
+ }
231
+
232
+ button {
233
+ font-family: inherit;
234
+ }
235
+
236
+ /* Remove all animations and transitions for people that prefer not to see them */
237
+
238
+ @media (prefers-reduced-motion: reduce) {
239
+ html:focus-within {
240
+ scroll-behavior: auto;
241
+ }
242
+
243
+ *,
244
+ *::before,
245
+ *::after {
246
+ animation-duration: 0.01ms !important;
247
+ animation-iteration-count: 1 !important;
248
+ transition-duration: 0.01ms !important;
249
+ scroll-behavior: auto !important;
250
+ }
251
+ }
252
+
253
+ :root,
254
+ :host {
255
+ --bs-bg-base: var(--bs-white);
256
+ --bs-bg-subtle: var(--bs-gray-100);
257
+ --bs-bg-invert: var(--bs-navy-500);
258
+ --bs-bg-invert-subtle: var(--bs-navy-400);
259
+ --bs-ink-base: var(--bs-black);
260
+ --bs-ink-medium: var(--bs-gray-500);
261
+ --bs-ink-light: var(--bs-gray-400);
262
+ --bs-ink-accent: var(--bs-plum-400);
263
+ --bs-ink-invert: var(--bs-white);
264
+ --bs-border: var(--bs-gray-200);
265
+
266
+ /* Spacing */
267
+ --bs-content-top: 4rem;
268
+
269
+ /* Type */
270
+ --bs-font-normal: 400;
271
+ --bs-font-bold: 600;
272
+ }
273
+
274
+ .dark,
275
+ .dark :host {
276
+ --bs-bg-base: var(--bs-navy-500);
277
+ --bs-bg-subtle: #2F2F51;
278
+ --bs-bg-invert: var(--bs-white);
279
+ --bs-bg-invert-subtle: var(--bs-gray-100);
280
+ --bs-ink-base: var(--bs-white);
281
+ --bs-ink-medium: var(--bs-gray-100);
282
+ --bs-ink-light: var(--bs-gray-200);
283
+ --bs-ink-accent: var(--bs-plum-100);
284
+ --bs-ink-invert: var(--bs-black);
285
+ --bs-border: var(--bs-gray-400);
286
+ }
287
+
288
+ body,
289
+ :host {
290
+ background-color: var(--bs-bg-base);
291
+ color: var(--bs-ink-light);
292
+ }
293
+
294
+ :target {
295
+ scroll-margin-top: var(--bs-content-top);
296
+ }
297
+
298
+ ::-moz-selection {
299
+ background-color: var(--bs-royal-400);
300
+ color: var(--bs-white);
301
+ }
302
+
303
+ ::selection {
304
+ background-color: var(--bs-royal-400);
305
+ color: var(--bs-white);
306
+ }
307
+
308
+ [hidden] {
309
+ display: none;
310
+ }
311
+
312
+ hr {
313
+ border: 0;
314
+ height: 1px;
315
+ background: var(--bs-border);
316
+ }
317
+
318
+ body {
319
+ font-weight: 400;
320
+ font-family: 'Roobert', sans-serif;
321
+ font-size: var(--bs-text-base);
322
+ }
323
+
324
+ /* Default Element/data-variant Styles */
325
+
326
+ [data-variant^="heading-xl"] {
327
+ font-size: var(--bs-text-4xl);
328
+ font-weight: 400;
329
+ line-height: var(--bs-leading-sm);
330
+ }
331
+
332
+ h1, [data-variant^="heading-1"] {
333
+ font-size: var(--bs-text-3xl);
334
+ font-weight: 400;
335
+ line-height: var(--bs-leading-sm);
336
+ }
337
+
338
+ h2, [data-variant^="heading-2"] {
339
+ font-size: var(--bs-text-2xl);
340
+ font-weight: 600;
341
+ line-height: var(--bs-leading-sm);
342
+ }
343
+
344
+ h3, [data-variant^="heading-3"] {
345
+ font-size: var(--bs-text-xl);
346
+ font-weight: 600;
347
+ line-height: var(--bs-leading-sm);
348
+ }
349
+
350
+ h4, [data-variant^="heading-4"] {
351
+ font-size: var(--bs-text-lg);
352
+ font-weight: 600;
353
+ }
354
+
355
+ h5, [data-variant^="heading-5"] {
356
+ font-size: var(--bs-text-md);
357
+ font-weight: 600;
358
+ }
359
+
360
+ h6, [data-variant^="heading-6"] {
361
+ font-size: var(--bs-text-base);
362
+ font-weight: 600;
363
+ }
364
+
365
+ .prose {
366
+ font-size: var(--bs-text-md);
367
+ max-width: 70ch;
368
+ }
369
+
370
+ .prose :where(h1, h2, h3, h4, h5, h6):not([data-color]) {
371
+ color: var(--bs-ink-base);
372
+ }
373
+
374
+ [data-variant^="default"] {
375
+ font-size: var(--bs-text-base);
376
+ }
377
+
378
+ .bs-meta, [data-variant^="meta"] {
379
+ font-size: var(--bs-text-xs);
380
+ font-weight: 600;
381
+ }
382
+
383
+ :where(.prose blockquote) {
384
+ border-left: 4px solid var(--bs-plum-200);
385
+ color: var(--bs-plum-200);
386
+ font-style: italic;
387
+ font-weight: 400;
388
+ padding-left: var(--bs-space-4);
389
+ }
390
+
391
+ .prose:where([data-width="wide"]) {
392
+ max-width: 90%;
393
+ }
394
+
395
+ .prose:where([data-width="wide"]) > :is(p, h1, h2, h3, h4, h5, h6, blockquote, ul, ol) {
396
+ max-width: 48rem;
397
+ }
398
+
399
+ /* data-font-size Styles */
400
+
401
+ :where([data-font-size^='4xl']) {
402
+ font-size: var(--bs-text-4xl);
403
+ line-height: var(--bs-leading-sm);
404
+ }
405
+
406
+ :where([data-font-size^='3xl']) {
407
+ font-size: var(--bs-text-3xl);
408
+ line-height: var(--bs-leading-sm);
409
+ }
410
+
411
+ :where([data-font-size^='2xl']) {
412
+ font-size: var(--bs-text-2xl);
413
+ line-height: var(--bs-leading-sm);
414
+ }
415
+
416
+ :where([data-font-size^='xl']) {
417
+ font-size: var(--bs-text-xl);
418
+ line-height: var(--bs-leading-sm);
419
+ }
420
+
421
+ :where([data-font-size^='lg']) {
422
+ font-size: var(--bs-text-lg);
423
+ }
424
+
425
+ :where([data-font-size^='md']) {
426
+ font-size: var(--bs-text-md);
427
+ }
428
+
429
+ :where([data-font-size^='base']) {
430
+ font-size: var(--bs-text-base);
431
+ }
432
+
433
+ :where([data-font-size^='sm']) {
434
+ font-size: var(--bs-text-sm);
435
+ }
436
+
437
+ :where([data-font-size^='xs']) {
438
+ font-size: var(--bs-text-xs);
439
+ }
440
+
441
+ /* data-color Styles */
442
+
443
+ :where([data-color^='base']) {
444
+ color: var(--bs-ink-base);
445
+ }
446
+
447
+ :where([data-color^='medium']) {
448
+ color: var(--bs-ink-medium);
449
+ }
450
+
451
+ :where([data-color^='light']) {
452
+ color: var(--bs-ink-light);
453
+ }
454
+
455
+ :where([data-color^='accent']) {
456
+ color: var(--bs-ink-accent);
457
+ }
458
+
459
+ /* data-weight Styles */
460
+
461
+ :where([data-weight^='normal'], [data-weight^='400']) {
462
+ font-weight: 400;
463
+ }
464
+
465
+ :where([data-weight^='bold'], [data-weight^='600']) {
466
+ font-weight: 600;
467
+ }
468
+
469
+ body:where(.fluid) {
470
+ font-size: var(--bs-text-f-md);
471
+ }
472
+
473
+ /* Defaults & Variants */
474
+
475
+ :where(.fluid) h1,
476
+ :where(.fluid) [data-variant^='heading-1'] {
477
+ font-size: var(--bs-text-f-3xl);
478
+ }
479
+
480
+ :where(.fluid) h2,
481
+ :where(.fluid) [data-variant^='heading-2'] {
482
+ font-size: var(--bs-text-f-2xl);
483
+ }
484
+
485
+ :where(.fluid) h3,
486
+ :where(.fluid) [data-variant^='heading-3'] {
487
+ font-size: var(--bs-text-f-xl);
488
+ }
489
+
490
+ :where(.fluid) h4,
491
+ :where(.fluid) [data-variant^='heading-4'] {
492
+ font-size: var(--bs-text-f-lg);
493
+ }
494
+
495
+ :where(.fluid) h5,
496
+ :where(.fluid) [data-variant^='heading-5'] {
497
+ font-size: var(--bs-text-f-md);
498
+ }
499
+
500
+ :where(.fluid) h6,
501
+ :where(.fluid) [data-variant^='heading-6'] {
502
+ font-size: var(--bs-text-f-sm);
503
+ }
504
+
505
+ :where(.fluid).prose,
506
+ :where(.fluid) .prose,
507
+ :where(.fluid) [data-variant^='default'] {
508
+ font-size: var(--bs-text-f-md);
509
+ }
510
+
511
+ :where(.fluid) .bs-meta,
512
+ :where(.fluid) [data-variant^='meta'] {
513
+ font-size: var(--bs-text-f-xs);
514
+ }
515
+
516
+ /* Fluid data-font-size Styles */
517
+
518
+ :where(.fluid) [data-font-size^='4xl'] {
519
+ font-size: var(--bs-text-f-4xl);
520
+ }
521
+
522
+ :where(.fluid) [data-font-size^='3xl'] {
523
+ font-size: var(--bs-text-f-3xl);
524
+ }
525
+
526
+ :where(.fluid) [data-font-size^='2xl'] {
527
+ font-size: var(--bs-text-f-2xl);
528
+ }
529
+
530
+ :where(.fluid) [data-font-size^='xl'] {
531
+ font-size: var(--bs-text-f-xl);
532
+ line-height: var(--bs-leading-sm);
533
+ }
534
+
535
+ :where(.fluid) [data-font-size^='lg'] {
536
+ font-size: var(--bs-text-f-lg);
537
+ }
538
+
539
+ :where(.fluid) [data-font-size^='md'] {
540
+ font-size: var(--bs-text-f-md);
541
+ }
542
+
543
+ :where(.fluid) [data-font-size^='base'] {
544
+ font-size: var(--bs-text-f-base);
545
+ }
546
+
547
+ :where(.fluid) [data-font-size^='sm'] {
548
+ font-size: var(--bs-text-f-sm);
549
+ }
550
+
551
+ :where(.fluid) [data-font-size^='xs'] {
552
+ font-size: var(--bs-text-f-xs);
553
+ }
554
+
555
+ /* Using :where() here for no additional specificity */
556
+
557
+ :where(.prose) a {
558
+ border-radius: 0.25rem; /* gives outlines rounded corners in modern browsers */
559
+ -webkit-box-decoration-break: clone;
560
+ box-decoration-break: clone;
561
+ color: var(--bs-purple-400);
562
+ text-decoration: underline;
563
+ text-underline-offset: 2px;
564
+ transition: all 0.15s ease-in-out;
565
+ outline-color: var(--bs-blue-400);
566
+ }
567
+
568
+ :where(.prose) a:where(:not(.button)):hover,
569
+ :where(.prose) a:where(:not(.button)):focus,
570
+ :where(.prose) a:where(:not(.button)):focus-visible {
571
+ color: var(--bs-plum-400);
572
+ text-decoration-color: var(--bs-purple-400);
573
+ }
574
+
575
+ :where(.prose) a:focus-visible {
576
+ outline-offset: var(--bs-space-1);
577
+ outline-style: solid;
578
+ outline-width: 2px;
579
+ }
580
+
581
+ :where(.prose) a:focus:where(:not(:focus-visible)) {
582
+ outline: none;
583
+ }
584
+
585
+ /* dark links still need .dark because we don't want them overwritten by the light theme link styles in applications */
586
+
587
+ .dark :where(.prose) a:not(.button, .pill) {
588
+ color: var(--bs-purple-200);
589
+ outline-color: var(--bs-blue-300);
590
+ }
591
+
592
+ .dark :where(.prose) a:where(:not(.button)):hover,
593
+ .dark :where(.prose) a:where(:not(.button)):focus,
594
+ .dark :where(.prose) a:where(:not(.button)):focus-visible {
595
+ color: var(--bs-pink-300);
596
+ text-decoration-color: var(--bs-purple-200);
597
+ }
598
+
599
+ .dark :where(.prose) a:focus-visible {
600
+ outline-offset: var(--bs-space-1);
601
+ }
602
+
603
+ .dark :where(.prose) a:focus:where(:not(:focus-visible)) {
604
+ outline: none;
605
+ }
606
+
607
+ .box-shadow {
608
+ box-shadow: var(--bs-shadow);
609
+ }
610
+
611
+ .box-shadow:where([data-variant="center"]) {
612
+ box-shadow: var(--bs-shadow-contentLowCenter);
613
+ }
614
+
615
+ .box-shadow:where([data-variant="medium"]) {
616
+ box-shadow: var(--bs-shadow-contentMedium);
617
+ }
618
+
619
+ .box-shadow:where([data-variant="high"]) {
620
+ box-shadow: var(--bs-shadow-contentHigh);
621
+ }
622
+
623
+ .box-shadow:where([data-variant="left-panel"]) {
624
+ box-shadow: var(--bs-shadow-drawerLeft);
625
+ }
626
+
627
+ .box-shadow:where([data-variant="right-panel"]) {
628
+ box-shadow: var(--bs-shadow-drawerRight);
629
+ }
630
+
631
+ .box-shadow:where([data-variant="profile"]) {
632
+ box-shadow: var(--bs-shadow-profilePhoto);
633
+ }
634
+
635
+ .badge[data-position^='left']::before,
636
+ .badge:where(:not([data-position^='left']))::after {
637
+ align-items: center;
638
+ background: var(--bs-red-500);
639
+ border-radius: 0.5rem;
640
+ content: '';
641
+ display: inline-flex;
642
+ font-size: 0.8125rem;
643
+ font-variant-numeric: tabular-nums;
644
+ font-weight: 600;
645
+ height: 6px;
646
+ justify-content: center;
647
+ line-height: 1;
648
+ position: relative;
649
+ vertical-align: top;
650
+ width: 6px;
651
+ }
652
+
653
+ .pill .badge::before,
654
+ .pill .badge::after {
655
+ font-size: 0.8125em;
656
+ }
657
+
658
+ .badge[data-count]:where([data-position^='left'])::before,
659
+ .badge[data-count]:where(:not([data-position^='left']))::after {
660
+ color: white;
661
+ content: attr(data-count);
662
+ min-height: 1rem;
663
+ min-width: 1rem;
664
+ padding: 0 4px;
665
+ top: -0.0625rem;
666
+ vertical-align: unset;
667
+ width: auto;
668
+ }
669
+
670
+ .badge[data-count]::before {
671
+ margin-right: 0.25rem;
672
+ }
673
+
674
+ .badge[data-count]::after {
675
+ margin-left: 0.25rem;
676
+ }
677
+
678
+ .badge[data-count='0']::before,
679
+ .badge[data-count='0']::after {
680
+ display: none;
681
+ }
682
+
683
+ .badge[data-badge-color^='blue']::before,
684
+ .badge[data-badge-color^='blue']::after {
685
+ background: var(--bs-blue-500);
686
+ }
687
+
688
+ .badge[data-badge-color^='white']::before,
689
+ .badge[data-badge-color^='white']::after {
690
+ background: white;
691
+ color: var(--badge-text, var(--bs-black));
692
+ }
693
+
694
+ :where(button) {
695
+ background-color: inherit;
696
+ border-color: transparent;
697
+ color: inherit;
698
+ font-size: var(--bs-text-base);
699
+ position: relative;
700
+ padding: var(--bs-space-0);
701
+ text-decoration: none;
702
+ }
703
+
704
+ .button {
705
+ --btn-main: var(--bs-blue-400);
706
+ --btn-secondary: var(--bs-blue-300);
707
+ --btn-highlight: var(--bs-blue-100);
708
+ align-items: center;
709
+ background-color: var(--btn-main);
710
+ border: none;
711
+ border-radius: 0.25rem;
712
+ color: var(--bs-white);
713
+ cursor: pointer;
714
+ display: inline-flex;
715
+ font-size: var(--bs-text-md);
716
+ font-weight: 600;
717
+ line-height: 1.5;
718
+ outline: 2px solid transparent;
719
+ padding: var(--bs-space-1) var(--bs-space-4) calc(var(--bs-space-1) * 1.5);
720
+ position: relative;
721
+ text-decoration: none;
722
+ transition: all 100ms ease-in-out;
723
+ vertical-align: middle;
724
+ }
725
+
726
+ .button:hover {
727
+ background-color: var(--btn-secondary);
728
+ }
729
+
730
+ .button:active {
731
+ background-color: var(--btn-secondary);
732
+ transform: scale(0.97);
733
+ transform-origin: center;
734
+ box-shadow: inset 0px 0px 4px 1px var(--btn-main);
735
+ }
736
+
737
+ /* Button Focus Styles */
738
+
739
+ .button::before {
740
+ border-color: transparent;
741
+ border-radius: 0.5rem;
742
+ border-style: solid;
743
+ border-width: 0.125rem;
744
+ content: '';
745
+ height: calc(100% + 0.5rem);
746
+ inset: -0.25rem;
747
+ position: absolute;
748
+ transition: border-color 0.125s ease-in-out;
749
+ width: calc(100% + 0.5rem);
750
+ }
751
+
752
+ .button:focus::before {
753
+ border-color: var(--btn-main);
754
+ }
755
+
756
+ .button:focus-visible::before {
757
+ border-color: var(--btn-main);
758
+ box-shadow: none;
759
+ }
760
+
761
+ .button:focus:not(:focus-visible)::before {
762
+ border-color: transparent;
763
+ box-shadow: none;
764
+ }
765
+
766
+ /* Ghost Buttons */
767
+
768
+ .button:where([data-ghost]) {
769
+ --btn-light: var(--bs-blue-10);
770
+ --btn-secondary: var(--bs-blue-10);
771
+ background-color: transparent;
772
+ box-shadow: inset 0 0 0 1px var(--btn-main);
773
+ color: var(--btn-main);
774
+ }
775
+
776
+ .button:where([data-ghost])::before {
777
+ border-radius: 0.4375rem;
778
+ }
779
+
780
+ .button:where([data-ghost]):hover,
781
+ .button:where([data-ghost]):focus {
782
+ background-color: var(--btn-light);
783
+ }
784
+
785
+ .button:where([data-ghost]):active {
786
+ box-shadow:
787
+ inset 0 0 0 1px var(--btn-main),
788
+ inset 0px 0px 4px 1px var(--btn-highlight);
789
+ }
790
+
791
+ /* Button type */
792
+
793
+ .button:where([data-variant^='secondary']) {
794
+ --btn-main: var(--bs-plum-400);
795
+ --btn-secondary: var(--bs-plum-300);
796
+ --btn-light: var(--bs-plum-10);
797
+ --btn-highlight: var(--bs-plum-100);
798
+ }
799
+
800
+ .dark .button:where([data-variant^='secondary']) {
801
+ --btn-main: var(--bs-plum-200);
802
+ --btn-secondary: var(--bs-plum-300);
803
+ --btn-light: var(--bs-navy-400);
804
+ --btn-highlight: var(--bs-plum-400);
805
+ }
806
+
807
+ .button:where([data-variant^='positive']) {
808
+ --btn-main: var(--bs-purple-400);
809
+ --btn-secondary: var(--bs-purple-300);
810
+ --btn-light: var(--bs-purple-10);
811
+ --btn-highlight: var(--bs-purple-100);
812
+ }
813
+
814
+ .button:where([data-variant^='warning']) {
815
+ --btn-main: var(--bs-orange-warning);
816
+ --btn-secondary: var(--bs-orange-300);
817
+ --btn-light: var(--bs-orange-10);
818
+ --btn-highlight: var(--bs-orange-100);
819
+ }
820
+
821
+ .button:where([data-variant^='negative']) {
822
+ --btn-main: var(--bs-red-400);
823
+ --btn-secondary: var(--bs-red-300);
824
+ --btn-light: var(--bs-red-10);
825
+ --btn-highlight: var(--bs-red-100);
826
+ }
827
+
828
+ /* Text Button */
829
+
830
+ .button:where([data-text]) {
831
+ background-color: transparent;
832
+ color: var(--bs-blue-500);
833
+ cursor: pointer;
834
+ font-size: var(--bs-text-md);
835
+ font-weight: 400;
836
+ line-height: 150%;
837
+ }
838
+
839
+ .button:where([data-text]):hover {
840
+ background-color: transparent;
841
+ text-decoration: underline;
842
+ }
843
+
844
+ .button:where([data-text]):active {
845
+ box-shadow: none;
846
+ }
847
+
848
+ /* Button Size */
849
+
850
+ .button:where([data-size^='sm']) {
851
+ font-size: var(--bs-text-sm);
852
+ }
853
+
854
+ .button:where([data-text][data-size^='sm']) {
855
+ font-size: var(--bs-text-base);
856
+ }
857
+
858
+ /* Disabled Styling */
859
+
860
+ :where(button:disabled),
861
+ .button:where([aria-disabled='true']) /* for links as buttons */ {
862
+ pointer-events: none;
863
+ }
864
+
865
+ .button:where(:disabled),
866
+ .button:where([aria-disabled='true']) {
867
+ color: var(--bs-gray-400);
868
+ background-color: var(--bs-gray-200);
869
+ }
870
+
871
+ .button:where([data-ghost]):disabled,
872
+ .button:where([data-ghost])[aria-disabled='true'] {
873
+ box-shadow: inset 0 0 0 1px var(--bs-gray-400);
874
+ }
875
+
876
+ .button:where([data-text]):disabled,
877
+ .button:where([data-text][aria-disabled='true']) {
878
+ background-color: transparent;
879
+ }
880
+
881
+ /* Icon Height */
882
+
883
+ .button :where(svg:not([height])) {
884
+ height: var(--bs-text-base);
885
+ }
886
+
887
+ .button:where([data-size^='sm']) :where(svg:not([height])) {
888
+ height: var(--bs-text-xs);
889
+ }
890
+
891
+ /* links as buttons */
892
+
893
+ a.button {
894
+ align-items: center;
895
+ display: inline-flex;
896
+ outline: none;
897
+ vertical-align: middle;
898
+ }
899
+
900
+ :where(label, legend) {
901
+ color: var(--bs-ink-base);
902
+ display: inline-block;
903
+ font-size: var(--bs-text-sm);
904
+ font-weight: 600;
905
+ line-height: var(--bs-leading-base);
906
+ width: 100%;
907
+ }
908
+
909
+ :where(.required) {
910
+ color: var(--bs-red-400);
911
+ }
912
+
913
+ :where(.disabled, .disabled .required) {
914
+ color: var(--bs-gray-400);
915
+ }
916
+
917
+ :where(label + input, label > input):not([type^='checkbox'], [type^='radio']),
918
+ :where(label + textarea, label > textarea),
919
+ :where(label + select, label > select) {
920
+ margin-top: 0.25rem;
921
+ }
922
+
923
+ :where(input):not([type^='checkbox'], [type^='radio'], [type^='file'], [type^='range']),
924
+ :where(textarea, select) {
925
+ -webkit-appearance: none;
926
+ -moz-appearance: none;
927
+ appearance: none;
928
+ background-color: var(--input-bg, var(--bs-bg-base));
929
+ border: 1px solid var(--input-border, var(--bs-violet-300));
930
+ border-radius: 0.25rem;
931
+ color: var(--bs-ink-base);
932
+ font-size: var(--bs-text-base);
933
+ font-weight: 400;
934
+ line-height: var(--bs-leading-base);
935
+ min-height: 40px;
936
+ padding: 0.5rem 0.75rem;
937
+ width: 100%;
938
+ }
939
+
940
+ :where(input, textarea, select)::-moz-placeholder {
941
+ color: var(--bs-violet-200);
942
+ opacity: 1;
943
+ }
944
+
945
+ :where(input, textarea, select)::placeholder {
946
+ color: var(--bs-violet-200);
947
+ opacity: 1;
948
+ }
949
+
950
+ :where(input, textarea, select):focus {
951
+ box-shadow:
952
+ 0 0 0 2px var(--offset-color, var(--bs-bg-base)),
953
+ 0 0 0 4px var(--outline-color, var(--bs-blue-400));
954
+ outline: 2px solid transparent;
955
+ }
956
+
957
+ :where(.box) :where(input, textarea, select):focus {
958
+ --offset-color: var(--bs-bg-subtle);
959
+ }
960
+
961
+ :where(.box[data-invert]) :where(input, textarea, select):focus {
962
+ --offset-color: var(--bs-bg-invert);
963
+ }
964
+
965
+ :where(input, textarea, select)[required]:focus,
966
+ :where(input, textarea, select).error {
967
+ --outline-color: var(--bs-red-200);
968
+ }
969
+
970
+ :where(input, textarea, select):disabled {
971
+ background-color: var(--bs-gray-200);
972
+ border-color: var(--bs-gray-400);
973
+ color: var(--bs-gray-400);
974
+ }
975
+
976
+ :where(input, textarea, select):disabled::-moz-placeholder, :where(input, textarea, select)[disabled]::-moz-placeholder {
977
+ color: var(--bs-gray-400);
978
+ opacity: 1;
979
+ }
980
+
981
+ :where(input, textarea, select):disabled::placeholder,
982
+ :where(input, textarea, select)[disabled]::placeholder {
983
+ color: var(--bs-gray-400);
984
+ opacity: 1;
985
+ }
986
+
987
+ /* Character Counter for Textarea */
988
+
989
+ :where(textarea + .character-count) {
990
+ color: var(--bs-ink-base);
991
+ font-size: var(--bs-text-xs);
992
+ font-weight: 400;
993
+ text-align: right;
994
+ }
995
+
996
+ :where(textarea[disabled] + .character-count) {
997
+ color: var(--bs-gray-400);
998
+ }
999
+
1000
+ /* Select */
1001
+
1002
+ :where(select) {
1003
+ /* URL Encoded SVG dropdown caret so there is something there */
1004
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%230A0B19' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
1005
+ background-position: right 0.75rem center;
1006
+ background-repeat: no-repeat;
1007
+ background-size: 1em 1em;
1008
+ }
1009
+
1010
+ .dark :where(select) {
1011
+ /* URL Encoded SVG dropdown caret so there is something there */
1012
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
1013
+ }
1014
+
1015
+ /* Checkboxes & Radios */
1016
+
1017
+ :where(.checkbox, .radio) {
1018
+ display: flex;
1019
+ align-items: center;
1020
+ font-size: var(--bs-text-base);
1021
+ font-weight: 400;
1022
+ gap: 0.5em;
1023
+ line-height: 115%;
1024
+ }
1025
+
1026
+ :where(.checkbox, .radio) label {
1027
+ font-size: var(--bs-text-base);
1028
+ font-weight: 400;
1029
+ line-height: 115%;
1030
+ width: auto;
1031
+ }
1032
+
1033
+ :where(input[type^='checkbox'], input[type^='radio']) {
1034
+ --box-shadow: var(--bs-ink-base);
1035
+
1036
+ -webkit-appearance: none;
1037
+
1038
+ -moz-appearance: none;
1039
+
1040
+ appearance: none;
1041
+ background-color: var(--bg-base);
1042
+ box-shadow: inset 0 0 0 0.125rem var(--box-shadow);
1043
+ display: grid;
1044
+ height: 1rem;
1045
+ margin: 0;
1046
+ place-content: center;
1047
+ position: relative;
1048
+ width: 1rem;
1049
+ }
1050
+
1051
+ :where(input[type^='checkbox'], input[type^='radio']):focus {
1052
+ box-shadow:
1053
+ inset 0 0 0 0.125rem var(--box-shadow),
1054
+ 0 0 0 2px var(--offset-color, var(--bs-bg-base)),
1055
+ 0 0 0 4px var(--outline-color, var(--bs-blue-400));
1056
+ }
1057
+
1058
+ :where(input[type^='checkbox'], input[type^='radio']).error {
1059
+ --box-shadow: var(--bs-red-400);
1060
+ }
1061
+
1062
+ :where(input[type^='checkbox']) {
1063
+ border-radius: 0.125rem;
1064
+ }
1065
+
1066
+ :where(input[type^='radio']) {
1067
+ border-radius: 50%;
1068
+ }
1069
+
1070
+ :where(.checkbox, .radio)[data-size='sm'],
1071
+ :where(.checkbox, .radio)[data-size='sm'] label {
1072
+ font-size: var(--bs-text-sm);
1073
+ line-height: 100%;
1074
+ }
1075
+
1076
+ :where(.checkbox, .radio)[data-size='sm'] input {
1077
+ width: var(--bs-text-xs);
1078
+ height: var(--bs-text-xs);
1079
+ }
1080
+
1081
+ :where(input[type='checkbox'])::before {
1082
+ --filled-size: 1rem;
1083
+ --check-fill-color: var(--bs-blue-400);
1084
+
1085
+ content: '';
1086
+ border-radius: 0.125rem;
1087
+ box-shadow: inset var(--filled-size) var(--filled-size) var(--check-fill-color);
1088
+ height: var(--filled-size);
1089
+ visibility: hidden;
1090
+ width: var(--filled-size);
1091
+ }
1092
+
1093
+ :where(input[type^='checkbox'])::after {
1094
+ border: solid var(--bs-white);
1095
+ border-width: 0 0.125rem 0.125rem 0;
1096
+ content: '';
1097
+ height: 0.75em;
1098
+ left: 50%;
1099
+ position: absolute;
1100
+ top: 50%;
1101
+ transform-origin: center;
1102
+ transform: translate(-50%, -60%) rotate(45deg);
1103
+ visibility: hidden;
1104
+ width: 0.375em;
1105
+ }
1106
+
1107
+ :where(input[type='radio'])::before {
1108
+ --filled-size: 1rem;
1109
+ --radio-fill-color: var(--bs-blue-400);
1110
+
1111
+ background-color: var(--radio-fill-color);
1112
+ border-radius: 50%;
1113
+ box-sizing: content-box;
1114
+ content: '';
1115
+ height: var(--filled-size);
1116
+ visibility: hidden;
1117
+ width: var(--filled-size);
1118
+ }
1119
+
1120
+ :where(input[type='radio'])::after {
1121
+ --inner-size: 0.375rem;
1122
+ --inner-fill-color: var(--bs-white);
1123
+
1124
+ background-color: var(--inner-fill-color);
1125
+ border-radius: 50%;
1126
+ box-sizing: content-box;
1127
+ content: '';
1128
+ height: var(--inner-size);
1129
+ left: 50%;
1130
+ position: absolute;
1131
+ top: 50%;
1132
+ transform: translate(-50%, -50%);
1133
+ visibility: hidden;
1134
+ width: var(--inner-size);
1135
+ }
1136
+
1137
+ :where(input[type='checkbox']:checked, input[type='radio']:checked)::before,
1138
+ :where(input[type='checkbox']:checked, input[type='radio']:checked)::after {
1139
+ visibility: visible;
1140
+ }
1141
+
1142
+ :where(.checkbox, .radio)[data-size='sm'] input::before {
1143
+ --filled-size: var(--bs-text-xs);
1144
+ }
1145
+
1146
+ :where(.checkbox[data-size='sm'] input[type='checkbox'])::after {
1147
+ height: 0.5625;
1148
+ width: 0.3125;
1149
+ }
1150
+
1151
+ :where(.radio[data-size='sm'] input[type='radio'])::after {
1152
+ --inner-size: 0.25rem;
1153
+ }
1154
+
1155
+ :where(input[type='checkbox'], input[type='radio']):disabled {
1156
+ --box-shadow: var(--bs-gray-400);
1157
+ background-color: transparent;
1158
+ }
1159
+
1160
+ :where(input[type='checkbox']):checked:disabled:before {
1161
+ --check-fill-color: var(--bs-gray-400);
1162
+ }
1163
+
1164
+ :where(input[type='radio']):checked:disabled:before {
1165
+ --radio-fill-color: var(--bs-gray-400);
1166
+ }
1167
+
1168
+ /* Errors and Messages */
1169
+
1170
+ :where(input).error {
1171
+ border-color: var(--bs-red-400);
1172
+ }
1173
+
1174
+ :where(.message) {
1175
+ color: var(--bs-gray-400);
1176
+ font-size: var(--bs-text-xs);
1177
+ padding-top: 0.5rem;
1178
+ }
1179
+
1180
+ :where(.message.error) {
1181
+ color: var(--bs-red-400);
1182
+ }
1183
+
1184
+ /* Fieldset */
1185
+
1186
+ :where(fieldset) {
1187
+ border: none;
1188
+ margin-left: 0;
1189
+ margin-right: 0;
1190
+ padding: 0;
1191
+ }
1192
+
1193
+ :where(fieldset legend) {
1194
+ margin-bottom: 0.25rem;
1195
+ padding: 0;
1196
+ }
1197
+
1198
+ .pill {
1199
+ --pill-background: var(--bs-bg-subtle);
1200
+ --pill-border: transparent;
1201
+ --pill-text: var(--bs-royal-400);
1202
+
1203
+ align-items: center;
1204
+ -webkit-appearance: none;
1205
+ -moz-appearance: none;
1206
+ appearance: none;
1207
+ background-color: var(--pill-background);
1208
+ border: 1px solid var(--pill-border);
1209
+ border-radius: 4px;
1210
+ color: var(--pill-text);
1211
+ display: inline-flex;
1212
+ font-size: var(--bs-text-xs);
1213
+ gap: 4px;
1214
+ line-height: 1.33;
1215
+ padding: 4px 6px;
1216
+ text-decoration: none;
1217
+ vertical-align: middle;
1218
+ }
1219
+
1220
+ :where(.dark) .pill {
1221
+ --pill-text: var(--bs-royal-100);
1222
+ }
1223
+
1224
+ .pill > svg {
1225
+ height: 1rem;
1226
+ }
1227
+
1228
+ /* ------------------------------ Button and Link Styles ------------------------------ */
1229
+
1230
+ :is(a, button).pill {
1231
+ color: var(--pill-text);
1232
+ cursor: pointer;
1233
+ transition: all 0.15s ease-in-out;
1234
+ }
1235
+
1236
+ :is(a, button).pill:is(:hover, :focus) {
1237
+ --pill-border: var(--bs-royal-400);
1238
+
1239
+ color: var(--pill-text);
1240
+ outline: transparent;
1241
+ }
1242
+
1243
+ :where(.dark) :is(a, button).pill:is(:hover, :focus) {
1244
+ --pill-border: var(--bs-royal-200);
1245
+ }
1246
+
1247
+ /* ------------------------------ Background Colors ------------------------------ */
1248
+
1249
+ :where(.box, [class*="bg-"]:not([class~="bg-white"])) .pill {
1250
+ --pill-background: var(--bs-bg-base);
1251
+ }
1252
+
1253
+ :where(.box[data-invert]) .pill {
1254
+ --pill-background: var(--bs-bg-invert-subtle);
1255
+ --pill-text: var(--bs-gray-100);
1256
+ }
1257
+
1258
+ :where(.box[data-invert]) :is(a, button).pill:is(:hover, :focus) {
1259
+ --pill-border: var(--bs-gray-100);
1260
+ }
1261
+
1262
+ :where(.dark .box[data-invert]) .pill {
1263
+ --pill-text: var(--bs-royal-400);
1264
+ }
1265
+
1266
+ :where(.dark .box[data-invert]) :is(a, button).pill:is(:hover, :focus) {
1267
+ --pill-border: var(--bs-royal-400);
1268
+ }
1269
+
1270
+ /* ------------------------------ Status Styles ------------------------------ */
1271
+
1272
+ .pill:where([data-status]) {
1273
+ --status-color: var(--bs-blue-400);
1274
+ }
1275
+
1276
+ .pill:where([data-status])::before {
1277
+ background-color: var(--status-color);
1278
+ border-radius: 100%;
1279
+ content: '';
1280
+ height: 12px;
1281
+ width: 12px;
1282
+ }
1283
+
1284
+ /* ----- Status Colors ----- */
1285
+
1286
+ .pill:where([data-status^="active"]) {
1287
+ --status-color: var(--bs-blue-400);
1288
+ }
1289
+
1290
+ .pill:where([data-status^="complete"]) {
1291
+ --status-color: var(--bs-purple-400);
1292
+ }
1293
+
1294
+ .pill:where([data-status^="inactive"]) {
1295
+ --status-color: var(--bs-gray-300);
1296
+ }
1297
+
1298
+ .pill:where([data-status^="error"]) {
1299
+ --status-color: var(--bs-red-400);
1300
+ }
1301
+
1302
+ .pill:where([data-status^="positive"]) {
1303
+ --status-color: #16986D;
1304
+ }
1305
+
1306
+ .pill:where([data-status^="warning"]) {
1307
+ --status-color: var(--bs-orange-warning);
1308
+ }
1309
+
1310
+ /* ------------------------------ Filter Styles ------------------------------ */
1311
+
1312
+ .pill:where([data-type^="filter"]) {
1313
+ --pill-background: var(--bs-bg-base);
1314
+ --pill-border: var(--bs-border);
1315
+ --pill-text: var(--bs-ink-base);
1316
+ }
1317
+
1318
+ .pill:where([data-type^="filter"]):is(:hover, :focus) {
1319
+ --pill-border: var(--bs-border);
1320
+ }
1321
+
1322
+ :is(a, button).pill:where([data-type^="filter"]):is(:hover, :focus) {
1323
+ --pill-border: var(--bs-ink-base);
1324
+ }
1325
+
1326
+ /* ----- Filter Add Styles ----- */
1327
+
1328
+ /* Black + */
1329
+
1330
+ .pill:where([data-type^="filter"][data-type*="add"])::after {
1331
+ content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 4.5V8h1V4.5H8v-1H4.5V0h-1v3.5H0v1h3.5Z' fill='%230A0B19'/%3E%3C/svg%3E");
1332
+ }
1333
+
1334
+ /* White + */
1335
+
1336
+ :where(.dark) .pill:where([data-type^="filter"][data-type*="add"]):not(:disabled, [aria-disabled="true"])::after{
1337
+ content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 4.5V8h1V4.5H8v-1H4.5V0h-1v3.5H0v1h3.5Z' fill='%23ffffff'/%3E%3C/svg%3E");
1338
+ }
1339
+
1340
+ /* ----- Filter Remove Styles ----- */
1341
+
1342
+ /* Black X */
1343
+
1344
+ .pill:where([data-type^="filter"][data-type*="remove"])::after {
1345
+ content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%230A0B19'/%3E%3C/svg%3E%0A");
1346
+ }
1347
+
1348
+ /* White X */
1349
+
1350
+ :where(.dark) .pill:where([data-type^="filter"][data-type*="remove"]):not(:disabled, [aria-disabled="true"])::after {
1351
+ content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23ffffff'/%3E%3C/svg%3E%0A");
1352
+ }
1353
+
1354
+ /* Dark Red X */
1355
+
1356
+ .pill:where([data-type^="filter"][data-type*="remove"]):hover::after {
1357
+ content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23D91214'/%3E%3C/svg%3E%0A");
1358
+ }
1359
+
1360
+ /* Light Red X */
1361
+
1362
+ :where(.dark) .pill:where([data-type^="filter"][data-type*="remove"]):hover::after {
1363
+ content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23F15355'/%3E%3C/svg%3E%0A");
1364
+ }
1365
+
1366
+ /* ----- Filter Active Styles ----- */
1367
+
1368
+ .pill:where([data-type^="filter"][data-type*="active"]) {
1369
+ --pill-background: var(--bs-blue-400);
1370
+ --pill-border: transparent;
1371
+ --pill-text: var(--bs-white);
1372
+ }
1373
+
1374
+ .pill:where([data-type^="filter"][data-type*="active"]):is(:hover, :focus) {
1375
+ --pill-border: transparent;
1376
+ }
1377
+
1378
+ :is(a, button).pill:where([data-type^="filter"][data-type*="active"]):is(:hover, :focus) {
1379
+ --pill-background: var(--bs-blue-500);
1380
+ --pill-border: transparent;
1381
+ }
1382
+
1383
+ /* White X */
1384
+
1385
+ .pill:where([data-type^="filter"][data-type*="active"])::after {
1386
+ content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23fff'/%3E%3C/svg%3E");
1387
+ }
1388
+
1389
+ /* Black X */
1390
+
1391
+ .pill:where([data-type^="filter"][data-type*="active"]):where(:disabled, [aria-disabled="true"])::after {
1392
+ content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%230A0B19'/%3E%3C/svg%3E%0A");
1393
+ }
1394
+
1395
+ /* ------------------------------ Restricted Styles ------------------------------ */
1396
+
1397
+ .pill:where([data-type^="restricted"]) {
1398
+ --pill-background: var(--bs-gray-400);
1399
+ --pill-text: var(--bs-white);
1400
+ }
1401
+
1402
+ .pill:where([data-type^="restricted"]):hover {
1403
+ --pill-border: transparent;
1404
+ }
1405
+
1406
+ .pill:where([data-type^="restricted"])::before {
1407
+ content: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 8 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.25 4.5H7v3.715a.34.34 0 0 1-.37.285H1V5.285A.34.34 0 0 1 1.37 5h5a.25.25 0 0 0 .25-.25V3.275A2.545 2.545 0 0 0 4 1a2.55 2.55 0 0 0-2.625 2.29L1.39 4.5a.83.83 0 0 0-.89.785V8.75A.25.25 0 0 0 .75 9h5.88a.835.835 0 0 0 .87-.785V4.75a.25.25 0 0 0-.25-.25Zm-2.225 0H2.96V3.425c0-.035 0-.845 1.03-.845a.96.96 0 0 1 1.035.8V4.5ZM4 1.5a2.045 2.045 0 0 1 2.115 1.79V4.5h-.59V3.37A1.455 1.455 0 0 0 4 2.075a1.385 1.385 0 0 0-1.53 1.35V4.5h-.58V3.31A2.045 2.045 0 0 1 4 1.5Zm-.495 4.25H1.5v.5h2.005v-.5Zm-2.005 1h1.505v.5H1.5v-.5Z' fill='%23F0F0FA'/%3E%3C/svg%3E");
1408
+ line-height: 1.1;
1409
+ }
1410
+
1411
+ :where(.dark) .pill:where([data-type^="restricted"]) {
1412
+ --pill-background: var(--bs-navy-300);
1413
+ --pill-text: var(--bs-white);
1414
+ }
1415
+
1416
+ /* ------------------------------ Live Now Styles ------------------------------ */
1417
+
1418
+ .pill:where([data-type^="live"]) {
1419
+ --pill-background: var(--bs-royal-400);
1420
+ --pill-text: var(--bs-white);
1421
+ text-transform: uppercase;
1422
+ }
1423
+
1424
+ .pill:where([data-type^="live"]):hover {
1425
+ --pill-border: transparent;
1426
+ }
1427
+
1428
+ .pill:where([data-type^="live"])::before {
1429
+ background-color: var(--bs-red-400);
1430
+ border: 3px solid var(--bs-white);
1431
+ border-radius: 100%;
1432
+ content: '';
1433
+ height: 12px;
1434
+ width: 12px;
1435
+ }
1436
+
1437
+ /* ----- Disabled Styles ----- */
1438
+
1439
+ .pill:is(:disabled, [aria-disabled="true"]) {
1440
+ pointer-events: none;
1441
+ color: var(--bs-gray-400);
1442
+ background-color: var(--bs-gray-200);
1443
+ }
1444
+
1445
+ .pill:where([data-type^="filter"]):not([data-type*="active"]):is(:disabled, [aria-disabled="true"]) {
1446
+ --pill-border: var(--bs-gray-400);
1447
+ }
1448
+
1449
+ :where(.profile-img),
1450
+ :where(.profile-img[data-img-size^='sm']) {
1451
+ --profile-size: 2rem;
1452
+ --profile-text: var(--bs-text-sm);
1453
+
1454
+ aspect-ratio: 1/1;
1455
+ border-radius: 50%;
1456
+ height: var(--profile-size);
1457
+ overflow: hidden;
1458
+ position: relative;
1459
+ width: var(--profile-size);
1460
+ }
1461
+
1462
+ :where(.profile-img img) {
1463
+ height: 100%;
1464
+ -o-object-fit: cover;
1465
+ object-fit: cover;
1466
+ width: 100%;
1467
+ }
1468
+
1469
+ :where(.profile-img[data-no-img="true"]) img {
1470
+ display: none;
1471
+ }
1472
+
1473
+ :where(.profile-img)::before,
1474
+ :where(.profile-img)::after {
1475
+ border-radius: 50%;
1476
+ border-collapse: collapse;
1477
+ height: 100%;
1478
+ inset: 0;
1479
+ position:absolute;
1480
+ width: 100%;
1481
+ }
1482
+
1483
+ /* Shadow */
1484
+
1485
+ :where(.profile-img)::before {
1486
+ box-shadow: var(--bs-shadow-profilePhoto);
1487
+ content: '';
1488
+ }
1489
+
1490
+ :where(.profile-img[data-no-img="true"])::before {
1491
+ display: none;
1492
+ }
1493
+
1494
+ /* Initials */
1495
+
1496
+ :where(.profile-img[data-no-img="true"])::after {
1497
+ border: 1px solid currentColor;
1498
+ color: var(--bs-blue-500);
1499
+ content: attr(data-initials);
1500
+ font-size: var(--profile-text);
1501
+ text-transform: uppercase;
1502
+ display: grid;
1503
+ place-items: center;
1504
+ }
1505
+
1506
+ /* Profile Sizes */
1507
+
1508
+ :where([data-img-size^='xs']) {
1509
+ --profile-size: 1.5rem;
1510
+ --profile-text: var(--bs-text-xs);
1511
+ }
1512
+
1513
+ :where([data-img-size^='md']) {
1514
+ --profile-size: 3rem;
1515
+ --profile-text: var(--bs-text-md);
1516
+ }
1517
+
1518
+ :where([data-img-size^='lg']) {
1519
+ --profile-size: 4rem;
1520
+ --profile-text: var(--bs-text-lg);
1521
+ }
1522
+
1523
+ :where([data-img-size^='xl']) {
1524
+ --profile-size: 5.75rem;
1525
+ --profile-text: var(--bs-text-xl);
1526
+ }
1527
+
1528
+ /* Profile with User Details */
1529
+
1530
+ :where(.profile[data-layout]),
1531
+ :where(.profile[data-layout^='vertical']) {
1532
+ display: grid;
1533
+ row-gap: 0.5rem;
1534
+ }
1535
+
1536
+ :where(.profile[data-layout^='horizontal']) {
1537
+ -moz-column-gap: 1rem;
1538
+ column-gap: 1rem;
1539
+ grid-template-columns: auto 1fr;
1540
+ }
1541
+
1542
+ :where(.profile-content) {
1543
+ color: var(--bs-ink-light);
1544
+ font-size: var(--bs-text-xs);
1545
+ }
1546
+
1547
+ :where(.profile[data-layout]:hover .profile-content > *:first-child) {
1548
+ --profile-ink-hover: var(--bs-blue-500);
1549
+
1550
+ color: var(--profile-ink-hover);
1551
+ text-decoration: underline;
1552
+ }
1553
+
1554
+ .dark :where(.profile[data-layout]:hover .profile-content > *:first-child) {
1555
+ --profile-ink-hover: var(--bs-blue-200);
1556
+ }
1557
+
1558
+ table {
1559
+ border-collapse: collapse;
1560
+ border-spacing: 0;
1561
+ overflow-x: auto;
1562
+ max-width: 100%;
1563
+ width: 100%;
1564
+ }
1565
+
1566
+ thead {
1567
+ color: var(--bs-ink-base);
1568
+ font-size: var(--bs-font-base);
1569
+ font-weight: 600;
1570
+ }
1571
+
1572
+ tbody {
1573
+ color: var(--bs-ink-light);
1574
+ }
1575
+
1576
+ th {
1577
+ background: var(--bs-bg-base);
1578
+ }
1579
+
1580
+ th, td {
1581
+ border-bottom: 1px solid var(--bs-border);
1582
+ min-width: -moz-fit-content;
1583
+ min-width: fit-content;
1584
+ padding: var(--bs-space-2);
1585
+ text-align: left;
1586
+ }
1587
+
1588
+ /* Table Borders */
1589
+
1590
+ table[data-borders^="none"] {
1591
+ border: 0;
1592
+ }
1593
+
1594
+ table[data-borders^="all"] :where(th, td) {
1595
+ border-left: 1px solid var(--bs-border);
1596
+ }
1597
+
1598
+ table[data-borders^="all"] :where(th, td):last-child {
1599
+ border-right: 1px solid var(--bs-border);
1600
+ }
1601
+
1602
+ table[data-borders^="all"] th {
1603
+ border-top: 1px solid var(--bs-border);
1604
+ }
1605
+
1606
+ /* Table Rows */
1607
+
1608
+ table:where([data-rows^="striped"]) tbody > tr:nth-child(even) {
1609
+ background-color: var(--bs-bg-subtle);
1610
+ }
1611
+
1612
+ /* Table Cells */
1613
+
1614
+ table[data-cells^="fixed"] {
1615
+ table-layout: fixed;
1616
+ }
1617
+
1618
+ table:where([data-cells^="height"]) td {
1619
+ height: 4.5rem;
1620
+ vertical-align: middle;
1621
+ }
1622
+
1623
+ /* Sticky Header */
1624
+
1625
+ table:where([data-sticky]) {
1626
+ isolation: isolate;
1627
+ }
1628
+
1629
+ table:where([data-sticky^="top"]) td {
1630
+ z-index: 1;
1631
+ }
1632
+
1633
+ table:where([data-sticky^="top"]) {
1634
+ border-collapse: separate;
1635
+ overflow-y: unset; /* Will break sticky headers if removed */
1636
+ position: relative;
1637
+ }
1638
+
1639
+ table:where([data-sticky^="left"]) {
1640
+ border-collapse: separate;
1641
+ overflow-x: unset; /* Will break sticky headers if removed */
1642
+ position: relative;
1643
+ }
1644
+
1645
+ table:where([data-sticky^="top"]) th {
1646
+ position: sticky;
1647
+ top: var(--bs-content-top);
1648
+ z-index: 2;
1649
+ }
1650
+
1651
+ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
1652
+ position: sticky;
1653
+ left: 0;
1654
+ z-index: 2;
1655
+ }
1656
+
1657
+ .box {
1658
+ background: var(--bg-color, var(--bs-bg-subtle));
1659
+ border-radius: 0.25rem;
1660
+ padding: var(--box-space, var(--bs-space-6));
1661
+ }
1662
+
1663
+ .box[data-invert] {
1664
+ --bg-color: var(--bs-bg-invert);
1665
+ color: var(--bs-ink-invert);
1666
+ }
1667
+
1668
+ :where(.fluid) .box {
1669
+ padding: var(--box-space, var(--bs-space-f-6));
1670
+ }
1671
+
1672
+ .cluster {
1673
+ align-items: center;
1674
+ display: flex;
1675
+ flex-wrap: wrap;
1676
+ gap: var(--cluster-space, var(--bs-space-6));
1677
+ justify-content: flex-start;
1678
+ }
1679
+
1680
+ .cluster[data-gap="tight"] {
1681
+ gap: var(--cluster-space, var(--bs-space-2));
1682
+ }
1683
+
1684
+ :where(.fluid) .cluster {
1685
+ gap: var(--cluster-space, var(--bs-space-f-6));
1686
+ }
1687
+
1688
+ :where(.fluid) .cluster[data-gap="tight"] {
1689
+ gap: var(--cluster-space, var(--bs-space-f-2));
1690
+ }
1691
+
1692
+ .flow > * + * {
1693
+ margin-top: var(--flow-space, 1.25em);
1694
+ }
1695
+
1696
+ .flow > :is(h1, h2, h3, h4, h5, h6) {
1697
+ --flow-space: 2em;
1698
+ }
1699
+
1700
+ .flow > hr + * {
1701
+ --flow-space: 1.5em;
1702
+ }
1703
+
1704
+ .flow > :is(h1, h2, h3, h4, h5, h6) + * {
1705
+ --flow-space: 0.5em;
1706
+ }
1707
+
1708
+ .flow > :is(ul, ol) > li {
1709
+ margin-top: var(--flow-space, 0.625em);
1710
+ }
1711
+
1712
+ .region {
1713
+ padding-block: var(--region-space, var(--bs-space-6));
1714
+ }
1715
+
1716
+ .region[data-space^='sm'] {
1717
+ padding-block: var(--bs-space-3);
1718
+ }
1719
+
1720
+ .region[data-space^='lg'] {
1721
+ padding-block: var(--bs-space-12);
1722
+ }
1723
+
1724
+ :where(.fluid) .region {
1725
+ padding-block: var(--region-space, var(--bs-space-f-6));
1726
+ }
1727
+
1728
+ :where(.fluid) .region[data-space^='sm'] {
1729
+ padding-block: var(--bs-space-f-3);
1730
+ }
1731
+
1732
+ :where(.fluid) .region[data-space^='lg'] {
1733
+ padding-block: var(--bs-space-f-12);
1734
+ }
1735
+
1736
+ .wrapper {
1737
+ margin-inline: auto;
1738
+ max-width: var(--max-width, 75rem);
1739
+ min-width: 0;
1740
+ padding-inline: var(--wrapper-space, var(--bs-space-6));
1741
+ position: relative;
1742
+ width: 100%;
1743
+ }
1744
+
1745
+ :where(.fluid) .wrapper {
1746
+ padding-inline: var(--wrapper-space, var(--bs-space-f-6));
1747
+ }
1748
+
1749
+ .wrapper[data-flush] {
1750
+ padding-inline: 0;
1751
+ }
1752
+
1753
+ .visually-hidden {
1754
+ border: 0;
1755
+ clip: rect(0 0 0 0);
1756
+ height: auto;
1757
+ margin: 0;
1758
+ overflow: hidden;
1759
+ padding: 0;
1760
+ position: absolute;
1761
+ width: 1px;
1762
+ white-space: nowrap;
1763
+ }
1764
+
1765
+ .measure-compact {
1766
+ max-width: 40ch;
1767
+ }
1768
+
1769
+ .measure-short {
1770
+ max-width: 50ch;
1771
+ }
1772
+
1773
+ .measure-long {
1774
+ max-width: 70ch;
1775
+ }