@blotoutio/providers-blotout-popup-sdk 1.72.0 → 1.74.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/index.cjs.js CHANGED
@@ -86,6 +86,35 @@ const evaluateCondition$1 = (condition, signals, onUnknownOperator) => {
86
86
  }
87
87
  };
88
88
 
89
+ /**
90
+ * ISO 3166-1 alpha-2 to E.164 country calling code, kept as one delimited
91
+ * string rather than a 250-line object so the SDK bundle carries the table
92
+ * rather than the punctuation around it — the same shape `phone_meta.ts` uses
93
+ * for its area codes.
94
+ *
95
+ * Shared by the SDK's phone field and the builder's country picker, so both
96
+ * offer the same list and a stored country resolves to the same dial code in
97
+ * preview and on the storefront.
98
+ */
99
+ const DIAL_CODES = 'AC:247,AD:376,AE:971,AF:93,AG:1,AI:1,AL:355,AM:374,AO:244,AR:54,AS:1,AT:43,AU:61,AW:297,AX:358,AZ:994,BA:387,BB:1,BD:880,BE:32,BF:226,BG:359,BH:973,BI:257,BJ:229,BL:590,BM:1,BN:673,BO:591,BQ:599,BR:55,BS:1,BT:975,BW:267,BY:375,BZ:501,CA:1,CD:243,CF:236,CG:242,CH:41,CI:225,CK:682,CL:56,CM:237,CN:86,CO:57,CR:506,CU:53,CV:238,CW:599,CY:357,CZ:420,DE:49,DJ:253,DK:45,DM:1,DO:1,DZ:213,EC:593,EE:372,EG:20,EH:212,ER:291,ES:34,ET:251,FI:358,FJ:679,FK:500,FM:691,FO:298,FR:33,GA:241,GB:44,GD:1,GE:995,GF:594,GG:44,GH:233,GI:350,GL:299,GM:220,GN:224,GP:590,GQ:240,GR:30,GT:502,GU:1,GW:245,GY:592,HK:852,HN:504,HR:385,HT:509,HU:36,ID:62,IE:353,IL:972,IM:44,IN:91,IO:246,IQ:964,IR:98,IS:354,IT:39,JE:44,JM:1,JO:962,JP:81,KE:254,KG:996,KH:855,KI:686,KM:269,KN:1,KP:850,KR:82,KW:965,KY:1,KZ:7,LA:856,LB:961,LC:1,LI:423,LK:94,LR:231,LS:266,LT:370,LU:352,LV:371,LY:218,MA:212,MC:377,MD:373,ME:382,MF:590,MG:261,MH:692,MK:389,ML:223,MM:95,MN:976,MO:853,MP:1,MQ:596,MR:222,MS:1,MT:356,MU:230,MV:960,MW:265,MX:52,MY:60,MZ:258,NA:264,NC:687,NE:227,NF:672,NG:234,NI:505,NL:31,NO:47,NP:977,NR:674,NU:683,NZ:64,OM:968,PA:507,PE:51,PF:689,PG:675,PH:63,PK:92,PL:48,PM:508,PR:1,PS:970,PT:351,PW:680,PY:595,QA:974,RE:262,RO:40,RS:381,RU:7,RW:250,SA:966,SB:677,SC:248,SD:249,SE:46,SG:65,SH:290,SI:386,SJ:47,SK:421,SL:232,SM:378,SN:221,SO:252,SR:597,SS:211,ST:239,SV:503,SX:1,SY:963,SZ:268,TC:1,TD:235,TG:228,TH:66,TJ:992,TK:690,TL:670,TM:993,TN:216,TO:676,TR:90,TT:1,TV:688,TW:886,TZ:255,UA:380,UG:256,US:1,UY:598,UZ:998,VA:39,VC:1,VE:58,VG:1,VI:1,VN:84,VU:678,WF:681,WS:685,XK:383,YE:967,YT:262,ZA:27,ZM:260,ZW:263';
100
+ const COUNTRY_DIAL_CODES = Object.fromEntries(DIAL_CODES.split(',').map((entry) => entry.split(':')));
101
+ const DEFAULT_PHONE_COUNTRY = 'US';
102
+ /**
103
+ * First candidate we hold a dial code for, so geo, the merchant's configured
104
+ * country and the fallback can be offered in priority order. Tolerates the
105
+ * lowercase and padded values the old free-text `defaultCountry` box allowed.
106
+ */
107
+ const resolveCountry = (...candidates) => {
108
+ for (const candidate of candidates) {
109
+ const iso = candidate === null || candidate === void 0 ? void 0 : candidate.trim().toUpperCase();
110
+ if (iso && COUNTRY_DIAL_CODES[iso]) {
111
+ return iso;
112
+ }
113
+ }
114
+ return DEFAULT_PHONE_COUNTRY;
115
+ };
116
+ const dialCode = (iso) => { var _a; return (_a = COUNTRY_DIAL_CODES[iso]) !== null && _a !== void 0 ? _a : COUNTRY_DIAL_CODES[DEFAULT_PHONE_COUNTRY]; };
117
+
89
118
  const BLOTOUT_POPUP_RULES_KEY = 'blotoutPopup:rules';
90
119
  const emptyRulesState = () => ({
91
120
  v: 1,
@@ -232,6 +261,7 @@ const STEP_TRANSITIONS = ['next', 'submit', 'close'];
232
261
 
233
262
  const BOOLEAN_SIGNAL_IDS = [
234
263
  'visitor.isNew',
264
+ 'customer.isSignedIn',
235
265
  'behavior.exitIntent',
236
266
  'cart.hasItems',
237
267
  // Momentary, unlike every other cart signal: true only for the evaluation
@@ -260,6 +290,23 @@ const CART_SIGNAL_IDS = [
260
290
  'cart.itemAdded',
261
291
  'cart.itemRemoved',
262
292
  ];
293
+ /**
294
+ * Signals the store's customer adapter owns. Deferred like cart signals: the
295
+ * platform writes its customer global as the page renders, so reading it in the
296
+ * static gate can catch the moment before it exists.
297
+ *
298
+ * Restricted to `equals` by `validateCondition`, and that restriction is the
299
+ * whole safety property rather than a nicety. `notEquals` matches an absent
300
+ * signal — deliberately, see `evaluateCondition` — so `isSignedIn notEquals
301
+ * true` is satisfied by a read that has not resolved yet, and the popup written
302
+ * for strangers opens on a signed-in customer. `equals false` says the same
303
+ * thing for a resolved signal and stays inert for an unresolved one, so nothing
304
+ * is lost by withholding the negative form. It also holds on a tag pinned to an
305
+ * older SDK, which never learns this id at all and sees the signal as absent.
306
+ */
307
+ const SIGN_IN_SIGNAL_IDS = [
308
+ 'customer.isSignedIn',
309
+ ];
263
310
  // Signals the trigger engine evaluates lazily (deferred past the static gate).
264
311
  // Declared explicitly so a future non-behavior number signal isn't auto-deferred.
265
312
  const BEHAVIOR_SIGNAL_IDS = [
@@ -317,6 +364,394 @@ const IDENTITY_SIGNAL_IDS = [
317
364
  'customer.firstName',
318
365
  ];
319
366
 
367
+ /** Where a token resolves: SDK at render, worker, or an async product fetch. */
368
+ /** Record keys popup copy may read. `email`/`phone` deliberately excluded. */
369
+ /** Sub-fields a product token exposes as `{{token.field}}`. */
370
+ const PRODUCT_FIELDS = [
371
+ 'title',
372
+ 'price',
373
+ 'compareAtPrice',
374
+ 'vendor',
375
+ 'type',
376
+ ];
377
+ // Per field: the token's own fallback names the product, not the field, so
378
+ // `{{lastViewedProduct.price}}` cannot borrow "what you were viewing".
379
+ // `title` is the exception — there the product name IS the answer.
380
+ const PRODUCT_FIELD_FALLBACKS = {
381
+ title: null,
382
+ price: 'the current price',
383
+ compareAtPrice: 'the full price',
384
+ vendor: 'the brand',
385
+ type: 'this range',
386
+ };
387
+ const TOKENS = [
388
+ {
389
+ id: 'city',
390
+ tier: 'signal',
391
+ label: 'City (from this request)',
392
+ signalId: 'location.city',
393
+ defaultFallback: 'your area',
394
+ },
395
+ {
396
+ id: 'region',
397
+ tier: 'signal',
398
+ label: 'Region (from this request)',
399
+ signalId: 'location.region',
400
+ defaultFallback: 'your region',
401
+ },
402
+ {
403
+ id: 'country',
404
+ tier: 'signal',
405
+ label: 'Country (from this request)',
406
+ signalId: 'location.country',
407
+ defaultFallback: 'your country',
408
+ },
409
+ {
410
+ id: 'utmSource',
411
+ tier: 'signal',
412
+ label: 'UTM source',
413
+ signalId: 'source.utmSource',
414
+ defaultFallback: 'the web',
415
+ },
416
+ {
417
+ id: 'utmMedium',
418
+ tier: 'signal',
419
+ label: 'UTM medium',
420
+ signalId: 'source.utmMedium',
421
+ defaultFallback: 'online',
422
+ },
423
+ {
424
+ id: 'utmCampaign',
425
+ tier: 'signal',
426
+ label: 'UTM campaign',
427
+ signalId: 'source.utmCampaign',
428
+ defaultFallback: 'our latest offer',
429
+ },
430
+ {
431
+ id: 'utmTerm',
432
+ tier: 'signal',
433
+ label: 'UTM term',
434
+ signalId: 'source.utmTerm',
435
+ defaultFallback: 'your search',
436
+ },
437
+ {
438
+ id: 'utmContent',
439
+ tier: 'signal',
440
+ label: 'UTM content',
441
+ signalId: 'source.utmContent',
442
+ defaultFallback: 'our offer',
443
+ },
444
+ {
445
+ id: 'cartItemCount',
446
+ tier: 'signal',
447
+ label: 'Cart item count',
448
+ signalId: 'cart.itemCount',
449
+ defaultFallback: 'a few',
450
+ },
451
+ {
452
+ id: 'cartTotalValue',
453
+ tier: 'signal',
454
+ label: 'Cart total value',
455
+ signalId: 'cart.totalValue',
456
+ defaultFallback: 'your total',
457
+ },
458
+ {
459
+ id: 'firstName',
460
+ tier: 'identity',
461
+ userKey: 'firstName',
462
+ label: 'First name',
463
+ defaultFallback: 'there',
464
+ },
465
+ {
466
+ id: 'lastName',
467
+ tier: 'identity',
468
+ userKey: 'lastName',
469
+ label: 'Last name',
470
+ defaultFallback: 'friend',
471
+ },
472
+ // Not `city`: that answers from the request, this from the stored record.
473
+ {
474
+ id: 'customerCity',
475
+ tier: 'identity',
476
+ userKey: 'city',
477
+ label: 'City (from the customer record)',
478
+ defaultFallback: 'your city',
479
+ },
480
+ {
481
+ id: 'customerState',
482
+ tier: 'identity',
483
+ userKey: 'state',
484
+ label: 'State (from the customer record)',
485
+ defaultFallback: 'your state',
486
+ },
487
+ {
488
+ id: 'customerCountry',
489
+ tier: 'identity',
490
+ userKey: 'country',
491
+ label: 'Country (from the customer record)',
492
+ defaultFallback: 'your country',
493
+ },
494
+ {
495
+ id: 'productName',
496
+ tier: 'product',
497
+ label: 'Product on this page',
498
+ defaultFallback: 'this item',
499
+ fields: PRODUCT_FIELDS,
500
+ },
501
+ {
502
+ id: 'lastViewedProduct',
503
+ tier: 'product',
504
+ label: 'Last viewed product',
505
+ defaultFallback: 'what you were viewing',
506
+ fields: PRODUCT_FIELDS,
507
+ },
508
+ ];
509
+ const TOKEN_BY_ID = new Map(TOKENS.map((token) => [token.id, token]));
510
+ /** Shopper-visible props. URLs, codes and handles are deliberately excluded. */
511
+ const TOKEN_TEXT_PROPS = [
512
+ 'text',
513
+ 'label',
514
+ 'placeholder',
515
+ 'expiredText',
516
+ 'reviewText',
517
+ 'customerName',
518
+ 'alt',
519
+ ];
520
+ // Module scope; never `.test()` — `lastIndex` is stateful on a /g regex.
521
+ // One optional dotted segment: `{{lastViewedProduct.price}}`.
522
+ const TOKEN_PATTERN = /\{\{(\w+(?:\.\w+)?)\}\}/g;
523
+ const parseTokenId = (id) => {
524
+ const dot = id.indexOf('.');
525
+ if (dot < 0) {
526
+ return { base: id };
527
+ }
528
+ return { base: id.slice(0, dot), field: id.slice(dot + 1) };
529
+ };
530
+ /** `lastViewedProduct.price` → `lastViewedProduct`. */
531
+ const tokenBaseId = (id) => parseTokenId(id).base;
532
+ /** The definition behind an id, dotted or not. */
533
+ const getToken = (id) => TOKEN_BY_ID.get(parseTokenId(id).base);
534
+ const isKnownToken = (id) => {
535
+ var _a, _b;
536
+ const { base, field } = parseTokenId(id);
537
+ const def = TOKEN_BY_ID.get(base);
538
+ if (!def) {
539
+ return false;
540
+ }
541
+ if (field === undefined) {
542
+ return true;
543
+ }
544
+ return (_b = (_a = def.fields) === null || _a === void 0 ? void 0 : _a.includes(field)) !== null && _b !== void 0 ? _b : false;
545
+ };
546
+ /** Registry fallback for an id. Never empty for a known token. */
547
+ const tokenDefaultFallback = (id) => {
548
+ const { base, field } = parseTokenId(id);
549
+ const def = TOKEN_BY_ID.get(base);
550
+ if (!def) {
551
+ return '';
552
+ }
553
+ return (field && PRODUCT_FIELD_FALLBACKS[field]) || def.defaultFallback;
554
+ };
555
+ /** Known token ids used in a string, in first-seen order, deduped. */
556
+ const collectTokens = (text) => {
557
+ if (typeof text !== 'string' || !text.includes('{{')) {
558
+ return [];
559
+ }
560
+ const found = [];
561
+ for (const match of text.matchAll(TOKEN_PATTERN)) {
562
+ const id = match[1];
563
+ if (isKnownToken(id) && !found.includes(id)) {
564
+ found.push(id);
565
+ }
566
+ }
567
+ return found;
568
+ };
569
+ /** Value, else merchant fallback, else default. Unknown tokens resolve to ''. */
570
+ const resolveTokens = (text, values, fallbacks) => {
571
+ if (typeof text !== 'string' || !text.includes('{{')) {
572
+ return text;
573
+ }
574
+ return text.replace(TOKEN_PATTERN, (_raw, id) => resolveToken(id, values, fallbacks));
575
+ };
576
+ /**
577
+ * One token's value: stored value, else merchant fallback, else the registry
578
+ * default. An unknown token is '' — never braces at a shopper. Save rejects
579
+ * unknown tokens; a rule stored before a registry change can still reach here.
580
+ */
581
+ const resolveToken = (id, values, fallbacks) => {
582
+ if (!isKnownToken(id)) {
583
+ return '';
584
+ }
585
+ const value = values[id];
586
+ if (typeof value === 'string' && value !== '') {
587
+ return value;
588
+ }
589
+ const fallback = fallbacks === null || fallbacks === void 0 ? void 0 : fallbacks[id];
590
+ if (typeof fallback === 'string' && fallback !== '') {
591
+ return fallback;
592
+ }
593
+ return tokenDefaultFallback(id);
594
+ };
595
+ /**
596
+ * `resolveTokens`, plus the offset each token's value landed at. The SDK marks
597
+ * those ranges so a later swap edits only the token, never the copy around it.
598
+ */
599
+ const resolveTokenSpans = (text, values, fallbacks) => {
600
+ var _a;
601
+ if (typeof text !== 'string' || !text.includes('{{')) {
602
+ return { text, spans: [] };
603
+ }
604
+ const spans = [];
605
+ let out = '';
606
+ let last = 0;
607
+ for (const match of text.matchAll(TOKEN_PATTERN)) {
608
+ const id = match[1];
609
+ const at = (_a = match.index) !== null && _a !== void 0 ? _a : 0;
610
+ out += text.slice(last, at);
611
+ last = at + match[0].length;
612
+ const value = resolveToken(id, values, fallbacks);
613
+ if (isKnownToken(id)) {
614
+ spans.push({ id, start: out.length, end: out.length + value.length });
615
+ }
616
+ out += value;
617
+ }
618
+ out += text.slice(last);
619
+ return { text: out, spans };
620
+ };
621
+ const resolveOptionLabels = (raw, values, fallbacks) => {
622
+ if (!Array.isArray(raw)) {
623
+ return null;
624
+ }
625
+ let changed = false;
626
+ const next = raw.map((option) => {
627
+ if (!option || typeof option !== 'object') {
628
+ return option;
629
+ }
630
+ const label = option.label;
631
+ if (typeof label !== 'string') {
632
+ return option;
633
+ }
634
+ const resolved = resolveTokens(label, values, fallbacks);
635
+ if (resolved === label) {
636
+ return option;
637
+ }
638
+ changed = true;
639
+ return { ...option, label: resolved };
640
+ });
641
+ return changed ? next : null;
642
+ };
643
+ /**
644
+ * Text props with merge fields substituted; null when nothing changed.
645
+ * Shared by the SDK dispatcher and the builder preview — a second copy of this
646
+ * is the bug this feature fixes.
647
+ */
648
+ const resolveProps = (props, values) => {
649
+ if (!props) {
650
+ return null;
651
+ }
652
+ const fallbacks = props['tokenFallbacks'];
653
+ let next = null;
654
+ for (const field of TOKEN_TEXT_PROPS) {
655
+ const value = props[field];
656
+ if (typeof value !== 'string') {
657
+ continue;
658
+ }
659
+ const resolved = resolveTokens(value, values, fallbacks);
660
+ if (resolved === value) {
661
+ continue;
662
+ }
663
+ next !== null && next !== void 0 ? next : (next = { ...props });
664
+ next[field] = resolved;
665
+ }
666
+ const options = resolveOptionLabels(props['options'], values, fallbacks);
667
+ if (options) {
668
+ next !== null && next !== void 0 ? next : (next = { ...props });
669
+ next['options'] = options;
670
+ }
671
+ return next;
672
+ };
673
+ /** `resolveProps` for a whole block; returns the original when unchanged. */
674
+ const resolveBlockProps = (block, values) => {
675
+ const next = resolveProps(block.props, values);
676
+ return next ? { ...block, props: next } : block;
677
+ };
678
+ /** Every shopper-visible string on a props bag. */
679
+ const tokenTextsOf = (props) => {
680
+ if (!props) {
681
+ return [];
682
+ }
683
+ const texts = [];
684
+ for (const field of TOKEN_TEXT_PROPS) {
685
+ const value = props[field];
686
+ if (typeof value === 'string') {
687
+ texts.push(value);
688
+ }
689
+ }
690
+ const options = props['options'];
691
+ if (Array.isArray(options)) {
692
+ for (const option of options) {
693
+ if (option && typeof option === 'object') {
694
+ const label = option.label;
695
+ if (typeof label === 'string') {
696
+ texts.push(label);
697
+ }
698
+ }
699
+ }
700
+ }
701
+ return texts;
702
+ };
703
+ const blockTexts = (blocks, into) => {
704
+ for (const block of blocks) {
705
+ into.push(...tokenTextsOf(block.props));
706
+ if (block.type === 'container' && block.children) {
707
+ blockTexts(block.children, into);
708
+ }
709
+ }
710
+ };
711
+ /** Every shopper-visible string in a rule. */
712
+ const ruleTexts = (rule) => {
713
+ var _a, _b, _c, _d;
714
+ const texts = [];
715
+ const contents = [
716
+ rule.content,
717
+ ...((_a = rule.variants) !== null && _a !== void 0 ? _a : []).map((v) => v.contentOverride),
718
+ ];
719
+ for (const content of contents) {
720
+ for (const step of (_b = content === null || content === void 0 ? void 0 : content.steps) !== null && _b !== void 0 ? _b : []) {
721
+ blockTexts((_c = step.blocks) !== null && _c !== void 0 ? _c : [], texts);
722
+ }
723
+ }
724
+ if ((_d = rule.teaser) === null || _d === void 0 ? void 0 : _d.text) {
725
+ texts.push(rule.teaser.text);
726
+ }
727
+ return texts;
728
+ };
729
+ /** Known tokens a rule references, across steps, variants and teaser. */
730
+ const collectRuleTokens = (rule) => {
731
+ const found = new Set();
732
+ for (const text of ruleTexts(rule)) {
733
+ for (const id of collectTokens(text)) {
734
+ found.add(id);
735
+ }
736
+ }
737
+ return [...found];
738
+ };
739
+ const tokensInTier = (ids, tier) => ids.filter((id) => { var _a; return ((_a = getToken(id)) === null || _a === void 0 ? void 0 : _a.tier) === tier; });
740
+ /** Signal-tier values. Absent signals are omitted so the token falls back. */
741
+ const signalTokenValues = (signals) => {
742
+ const values = {};
743
+ for (const token of TOKENS) {
744
+ if (token.tier !== 'signal' || !token.signalId) {
745
+ continue;
746
+ }
747
+ const value = signals[token.signalId];
748
+ if (value !== undefined && value !== null && value !== '') {
749
+ values[token.id] = String(value);
750
+ }
751
+ }
752
+ return values;
753
+ };
754
+
320
755
  const DEFAULT_THEME = {
321
756
  brand: { primary: '#0f172a', secondary: '#475569', accent: '#3b82f6' },
322
757
  font: { family: 'system-ui, sans-serif', baseSize: '16px' },
@@ -442,6 +877,7 @@ const DISPLAY_FORMATS = [
442
877
  'bar',
443
878
  'floatingBox',
444
879
  'fullscreenTakeover',
880
+ 'inline',
445
881
  ];
446
882
  const MODAL_POSITIONS = [
447
883
  'center',
@@ -482,6 +918,17 @@ const TRIGGER_TYPES = ['click'];
482
918
  * the SDK opened it on page load.
483
919
  */
484
920
  const isTriggerDriven = (rule) => rule.trigger !== undefined;
921
+ /**
922
+ * The matching answer to "is this rule a section of the merchant's page rather
923
+ * than something shown over it?", and it lives here for the same reason: the
924
+ * edge and the browser have to agree.
925
+ *
926
+ * An inline rule is placed in the theme, so nothing that decides *whether* to
927
+ * show a popup applies to it. The edge must not prune it by path, and the SDK
928
+ * must keep it out of the static gate, the trigger engine and the public open
929
+ * API. Asking the question separately in each place is how the two drift.
930
+ */
931
+ const isInlineRule = (rule) => rule.display.format === 'inline';
485
932
  const RULE_OPERATORS = ['AND', 'OR'];
486
933
 
487
934
  const uiActions = new Set([
@@ -571,6 +1018,7 @@ new Set(ENUM_OPERATORS);
571
1018
  new Set(NUMBER_SIGNAL_IDS);
572
1019
  new Set(NUMBER_OPERATORS);
573
1020
  new Set(IDENTITY_SIGNAL_IDS);
1021
+ new Set(SIGN_IN_SIGNAL_IDS);
574
1022
  new Set(PAGE_TYPES);
575
1023
  new Set(DEVICE_TYPES);
576
1024
  new Set(TEASER_POSITIONS);
@@ -638,7 +1086,7 @@ const expand = (str) => str.split(',').flatMap((entry) => {
638
1086
  * .map(cell => cell.textContent.trim()).join(',')
639
1087
  * ```
640
1088
  */
641
- new Set([
1089
+ const invalidNANPAreaCodes = new Set([
642
1090
  ...expand('200,211,221,222,230,232,233,235,237-238,241,243,244,245,247,255,257,258-259,261,265,266,271,273,274,275,277,278,280,282,283,285-287,288,290-299'),
643
1091
  ...expand('300,311,322,324,327,328,333,335,338,342,344,348-349,353,355,356,357-359,362,366,369,370-379,381,382,383-384,387,388,389,390-399'),
644
1092
  ...expand('400,411,420,421-422,426-427,428,429,433,439,444,446,449,451-454,455,456,457,459,460,461-462,465,466,467,471,476,477,481-483,485-486,487,488,489,490-499'),
@@ -648,6 +1096,89 @@ new Set([
648
1096
  ...expand('811,821,822,823-824,827,834,836,841-842,846,851,852-853,871,874-875,879,880-887,889,890-899'),
649
1097
  ...expand('911,921,922,923,924,926,927,932,933,935,942,944,946,950,953,955,957-958,960-969,974,975,976,977,981-982,987,988,990-999'),
650
1098
  ]);
1099
+ const isValidZone1AreaCode = (num) => {
1100
+ if (!/^[2-9]\d{2}$/.test(num)) {
1101
+ return false;
1102
+ }
1103
+ return !invalidNANPAreaCodes.has(num);
1104
+ };
1105
+
1106
+ // North America; assume local numbers as NANP
1107
+ const ZONE_1 = /^[+]1([2-9][0-8][0-9])[2-9][0-9]{6}$/;
1108
+ // Africa
1109
+ const ZONE_2 = /^[+]2([07][0-9]{4,13}|(1[12368]|[234][0-9]|5[0-8]|6[0-9]|9[01789])[0-9]{4,12})$/;
1110
+ // Europe
1111
+ const EU_TWO_DIGIT = `(3[0-469]|4[013-9])[0-9]{4,15}`;
1112
+ const EU_THREE_DIGIT = `((3[578]|42)[0-9])[0-9]{4,12}`;
1113
+ const ZONE_3_4 = new RegExp(`^[+](${EU_TWO_DIGIT}|${EU_THREE_DIGIT})$`);
1114
+ // South America
1115
+ const ZONE_5 = /^[+]5([1-8][0-9]{4,13}|[09][0-9][0-9]{4,12})$/;
1116
+ // Southeast Asia & Oceania
1117
+ const ZONE_6 = /^[+]6([0-6][0-9]{4,13}|(7[02-9]|8[0-35-9]|9[0-2])[0-9]{4,12})$/;
1118
+ // Russia & Kazakhstan
1119
+ const ZONE_7 = /^[+]7([1-9])[0-9]{4,13}$/;
1120
+ // East & South Asia
1121
+ const ZONE_8 = /^[+]8([1246][0-9]{4,13}|(0[08]|5[02356]|70|8[0-36])[0-9]{4,12})$/;
1122
+ // Middle East, West & Central Asia, South Asia, Eastern Europe
1123
+ const ZONE_9 = /^[+]9([0123458][0-9]{4,13}|(6[0-8]|7[0-79]|9[2-8])[0-9]{4,12})$/;
1124
+ const checkers = [
1125
+ (num) => {
1126
+ const match = num.match(ZONE_1);
1127
+ if (!match) {
1128
+ return false;
1129
+ }
1130
+ return isValidZone1AreaCode(match[1]);
1131
+ },
1132
+ (num) => ZONE_2.test(num),
1133
+ (num) => ZONE_3_4.test(num),
1134
+ (num) => ZONE_5.test(num),
1135
+ (num) => ZONE_6.test(num),
1136
+ (num) => ZONE_7.test(num),
1137
+ (num) => ZONE_8.test(num),
1138
+ (num) => ZONE_9.test(num),
1139
+ ];
1140
+ /**
1141
+ * Returns a boolean indicating whether or not a phone number conforms to a
1142
+ * plausible E.164 phone number. It does not guarantee validity as each national
1143
+ * operator may have various phone number lengths per area code or national
1144
+ * scheme. It only validates currently active country codes and length
1145
+ * restrictions.
1146
+ *
1147
+ * > *NOTE:* `E.164` format requires a leading plus sign, so you must set
1148
+ * > `keepPlus` to `true` when normalising numbers:
1149
+ *
1150
+ * @example
1151
+ * ```ts
1152
+ * const number = isPlausibleE164Number(normalizePhoneNumber(str, true))
1153
+ * ```
1154
+ */
1155
+ const isPlausibleE164Number = (str) => str.startsWith('+') && checkers.some((check) => check(str));
1156
+ const INTL_PREFIX = /^00|[+]+/;
1157
+ /**
1158
+ * Attempts to convert a given phone number string into an E.164 formatted
1159
+ * number. In order to check whether the number is plausibly a real number, it
1160
+ * must be checked with `isPlausibleE164Number` after normalising.
1161
+ */
1162
+ const normalizePhoneNumber = (str, keepPlus = false) => {
1163
+ if (!str) {
1164
+ return '';
1165
+ }
1166
+ let normalized = str;
1167
+ // assume non-international numbers are US numbers
1168
+ if (!INTL_PREFIX.test(normalized)) {
1169
+ normalized = `+1${normalized}`;
1170
+ }
1171
+ normalized = normalized.replace(/[^+0-9]/g, '').replace(INTL_PREFIX, '+');
1172
+ return keepPlus ? normalized : normalized.slice(1);
1173
+ };
1174
+
1175
+ const EMAIL_RE = /^[\w!#$%&'*+/=?^`{|}~-]+(:?\.[\w!#$%&'*+/=?^`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;
1176
+ const isValidEmail = (email) => {
1177
+ if (!email) {
1178
+ return false;
1179
+ }
1180
+ return EMAIL_RE.test(email);
1181
+ };
651
1182
 
652
1183
  /**
653
1184
  * ISO-3166 2-leter country codes and their names
@@ -1470,8 +2001,9 @@ const isInSchedule = (schedule) => {
1470
2001
  };
1471
2002
 
1472
2003
  // eslint-disable-next-line @nx/enforce-module-boundaries
1473
- // Signals not decidable before the server read: identity (resolved server-side),
1474
- // behavior (collected after init) and cart (read after init). Conditions on
2004
+ // Signals not decidable before the server read: identity (resolved
2005
+ // server-side), behavior (collected after init), cart (read after init) and
2006
+ // sign-in (the store global behind it may not be written yet). Conditions on
1475
2007
  // these are skipped here.
1476
2008
  //
1477
2009
  // Spread from the config tuples rather than listed by hand. `cart.hasItems` is
@@ -1484,6 +2016,7 @@ const NON_LOCAL_SIGNALS = new Set([
1484
2016
  ...NUMBER_SIGNAL_IDS,
1485
2017
  ...BEHAVIOR_SIGNAL_IDS,
1486
2018
  ...CART_SIGNAL_IDS,
2019
+ ...SIGN_IN_SIGNAL_IDS,
1487
2020
  ]);
1488
2021
  // False only when a rule provably cannot fire without server data: out of
1489
2022
  // schedule, or an AND rule with a locally-decidable condition that is false.
@@ -1818,20 +2351,292 @@ const createPopupPacing = (now = Date.now) => {
1818
2351
  };
1819
2352
  };
1820
2353
 
2354
+ const INTERNAL_EVENTS = new Set(['dismiss', 'gotostep']);
2355
+ const triggerDismiss = (popupRoot, source = 'closeButton') => {
2356
+ try {
2357
+ popupRoot.dispatchEvent(new CustomEvent('blotoutPopup:dismiss', { detail: { source } }));
2358
+ }
2359
+ finally {
2360
+ // An inline form is a section of the merchant's page, not a dismissible
2361
+ // surface, so removing it would tear a hole where that section was. Guarded
2362
+ // here rather than at each caller because every dismissal path ends up in
2363
+ // this one `remove()`: the `closePopup` action, a close-button block a
2364
+ // merchant dragged onto the canvas before switching the rule to inline, and
2365
+ // the post-submit auto-close.
2366
+ if (popupRoot.getAttribute('data-format') !== 'inline') {
2367
+ popupRoot.remove();
2368
+ }
2369
+ }
2370
+ };
2371
+ const dispatchPopupEvent = (popupRoot, type, detail) => {
2372
+ const isInternal = INTERNAL_EVENTS.has(type);
2373
+ popupRoot.dispatchEvent(new CustomEvent(`blotoutPopup:${type}`, {
2374
+ detail,
2375
+ bubbles: !isInternal,
2376
+ composed: !isInternal,
2377
+ }));
2378
+ };
2379
+
2380
+ /**
2381
+ * The merchant's selection as a `ProvidersConfig`, or `null` for "send nothing".
2382
+ *
2383
+ * Off is the default and it has three spellings, all of which land here as
2384
+ * `null`: no `eventChannels` at all, `enabled: false`, or the toggle on with
2385
+ * nothing picked yet.
2386
+ */
2387
+ const toProvidersConfig = (targeting) => {
2388
+ var _a;
2389
+ if (!(targeting === null || targeting === void 0 ? void 0 : targeting.enabled)) {
2390
+ return null;
2391
+ }
2392
+ if (targeting.allChannels) {
2393
+ // Not blotoutPopup: the popup's own Analytics Engine write counts
2394
+ // storedUiActions and the two commerce actions, and an outbound Lead is
2395
+ // neither. Letting it through would double-count conversions on our side.
2396
+ return { all: true, blotoutPopup: false };
2397
+ }
2398
+ const config = {};
2399
+ for (const [provider, selection] of Object.entries((_a = targeting.providers) !== null && _a !== void 0 ? _a : {})) {
2400
+ // Same reason as the allChannels branch above: the popup tag stores an
2401
+ // inbound blotoutPopupImpression, so picking it double-counts impressions.
2402
+ if (provider === 'blotoutPopup') {
2403
+ continue;
2404
+ }
2405
+ if (selection === 'all') {
2406
+ config[provider] = { all: true };
2407
+ continue;
2408
+ }
2409
+ if (!Array.isArray(selection) || selection.length === 0) {
2410
+ continue;
2411
+ }
2412
+ // Keyed by name, not scriptId: the edge matches a selection against
2413
+ // `variable.tagName`. The scriptId rides along in the stored pick so the
2414
+ // selection stays traceable to the channel it was made from.
2415
+ config[provider] = Object.fromEntries(selection.map((pick) => [pick.name, true]));
2416
+ }
2417
+ return Object.keys(config).length > 0 ? config : null;
2418
+ };
2419
+ /**
2420
+ * Sends the popup event a second time, to the merchant's channels.
2421
+ *
2422
+ * Deliberately `window.edgetag('tag', …)` rather than the provider `sendTag`
2423
+ * every provider is handed. That `sendTag` posts straight to the edge and never
2424
+ * runs `processTag`, so it fires no browser pixel — which would leave Meta with
2425
+ * a CAPI-only event and nothing to deduplicate against.
2426
+ */
2427
+ const emitToChannels = (rule, baseUrl, eventName, data) => {
2428
+ const providers = toProvidersConfig(rule.eventChannels);
2429
+ if (!providers) {
2430
+ return;
2431
+ }
2432
+ try {
2433
+ if (typeof window.edgetag !== 'function') {
2434
+ return;
2435
+ }
2436
+ // No eventId here on purpose. processTag generates one and gives the same
2437
+ // value to the browser tag and to the edge payload, which is what makes
2438
+ // Meta's pixel/CAPI deduplication work.
2439
+ //
2440
+ // `destination` is the tag the popup was loaded from, so the event goes to
2441
+ // that tag and no other. Without it `handleTag` fans out to every
2442
+ // initialised destination, which is the same thing on a one-tag page and
2443
+ // the wrong thing on a page carrying two.
2444
+ if (baseUrl) {
2445
+ window.edgetag('tag', eventName, data, providers, {
2446
+ destination: baseUrl,
2447
+ });
2448
+ return;
2449
+ }
2450
+ window.edgetag('tag', eventName, data, providers);
2451
+ }
2452
+ catch {
2453
+ // analytics must never break the popup
2454
+ }
2455
+ };
2456
+
1821
2457
  // eslint-disable-next-line @nx/enforce-module-boundaries
2458
+ // Emits the impression analytics event, stamped with the deterministically
2459
+ // selected variant. Separate from the recording below because an inline form is
2460
+ // analytics-visible but never fatigue-gated: it has no impression cap to spend
2461
+ // and no engagement state to accumulate, so recording one would report an
2462
+ // always-on section as a popup working through its allowance.
2463
+ const emitImpression = (rule, userId, sendTag, baseUrl, popupRoot) => {
2464
+ const { variantId } = selectVariant(rule, userId !== null && userId !== void 0 ? userId : '');
2465
+ const detail = {
2466
+ ruleId: rule.id,
2467
+ variantId,
2468
+ displayFormat: rule.display.format,
2469
+ };
2470
+ // Blotout's own copy. Always sent, and the popup dashboard counts it.
2471
+ sendPopupEvent(sendTag, 'blotoutPopupImpression', detail);
2472
+ // The merchant's channels, only when they have turned this on and picked some.
2473
+ emitToChannels(rule, baseUrl, 'blotoutPopupImpression', detail);
2474
+ if (popupRoot) {
2475
+ dispatchPopupEvent(popupRoot, 'impression', detail);
2476
+ }
2477
+ };
1822
2478
  // Records the local fatigue impression, persists the server-side impression,
1823
2479
  // and emits the analytics event stamped with the deterministically selected
1824
2480
  // variant. Kept out of render.ts so it stays free of the lit/DOM import chain
1825
2481
  // and is unit-testable in jsdom.
1826
- const recordAndEmitImpression = (rule, userId, sendTag, getEdgeData, sendEdgeData) => {
1827
- const { variantId } = selectVariant(rule, userId !== null && userId !== void 0 ? userId : '');
2482
+ const recordAndEmitImpression = (rule, userId, popupRoot, baseUrl, sendTag, getEdgeData, sendEdgeData) => {
1828
2483
  recordImpression(rule);
1829
2484
  persistRuleEvent(rule, 'impression', getEdgeData, sendEdgeData);
1830
- sendPopupEvent(sendTag, 'blotoutPopupImpression', {
1831
- ruleId: rule.id,
1832
- variantId,
1833
- displayFormat: rule.display.format,
1834
- });
2485
+ emitImpression(rule, userId, sendTag, baseUrl, popupRoot);
2486
+ };
2487
+
2488
+ /**
2489
+ * Placing and mounting the inline format.
2490
+ *
2491
+ * Every other format is mounted by `fireRule`, which owns the gates that only
2492
+ * make sense for something that floats over the page: the pacing floor, the
2493
+ * one-popup-at-a-time refusal, fatigue and the impression cap. An inline form
2494
+ * is a permanent part of the merchant's layout, so it takes none of them — it
2495
+ * renders wherever the merchant put its anchor, on every page that has one.
2496
+ *
2497
+ * Kept out of `init.ts` so that file stays the orchestrator it is, and so the
2498
+ * anchor contract has one owner. A Shopify theme app block would emit the same
2499
+ * marker, making it a placement source rather than a change to this module.
2500
+ */
2501
+ /**
2502
+ * The marker a merchant places in their theme. Its value is the rule id, so one
2503
+ * anchor addresses exactly one rule and a page can host several.
2504
+ */
2505
+ const INLINE_ANCHOR_ATTR = 'data-blotout-popup-inline';
2506
+ const anchorsOnPage = () => Array.from(document.querySelectorAll(`[${INLINE_ANCHOR_ATTR}]`));
2507
+ /**
2508
+ * Rule ids whose anchor currently holds a mounted form.
2509
+ *
2510
+ * Read from the DOM rather than tracked, for the same reason `fillAnchors`
2511
+ * asks the anchor whether it is filled: a theme that re-renders its footer
2512
+ * takes the form with it without telling us.
2513
+ */
2514
+ const mountedInlineRuleIds = () => anchorsOnPage()
2515
+ .filter((anchor) => anchor.querySelector(POPUP_TAG))
2516
+ .map((anchor) => anchor.getAttribute(INLINE_ANCHOR_ATTR))
2517
+ .filter((id) => !!id);
2518
+ const fillAnchors = (params) => {
2519
+ // One form per rule per page. Two anchors for the same rule would each render
2520
+ // an independently submittable form, so the shopper could send the same lead
2521
+ // twice — while the impression is counted once, quietly skewing the ratio.
2522
+ // Seeded from what is already mounted so a re-render refills its own anchor.
2523
+ const placed = new Set(mountedInlineRuleIds());
2524
+ for (const anchor of anchorsOnPage()) {
2525
+ // Already filled. Asked of the anchor rather than tracked in a set, because
2526
+ // a theme that re-renders its footer hands back a fresh, empty anchor that
2527
+ // a set would consider done.
2528
+ if (anchor.querySelector(POPUP_TAG)) {
2529
+ continue;
2530
+ }
2531
+ const ruleId = anchor.getAttribute(INLINE_ANCHOR_ATTR);
2532
+ const rule = params.rules.find((r) => r.id === ruleId);
2533
+ if (!rule) {
2534
+ logger.info(`BlotoutPopup SDK: no inline rule '${ruleId}' for the anchor on this page`);
2535
+ continue;
2536
+ }
2537
+ if (placed.has(rule.id)) {
2538
+ logger.info(`BlotoutPopup SDK: inline rule '${rule.id}' is already placed on this page; extra anchor left empty`);
2539
+ continue;
2540
+ }
2541
+ const host = params.render(rule);
2542
+ if (!host) {
2543
+ continue;
2544
+ }
2545
+ anchor.replaceChildren(host);
2546
+ placed.add(rule.id);
2547
+ params.onMount(rule, host);
2548
+ }
2549
+ };
2550
+ const holdsAnchor = (nodes) =>
2551
+ // `Array.from` rather than a spread: NodeList is ArrayLike here but not
2552
+ // iterable, the same reason `fillAnchors` wraps its querySelectorAll.
2553
+ Array.from(nodes).some((node) => node instanceof Element &&
2554
+ (node.hasAttribute(INLINE_ANCHOR_ATTR) ||
2555
+ node.querySelector(`[${INLINE_ANCHOR_ATTR}]`) !== null));
2556
+ /** True when a mutation could have left an anchor on this page unfilled. */
2557
+ const touchesAnchor = (record) => {
2558
+ // A whole section carrying an anchor was swapped in or out — the Shopify
2559
+ // section rendering case, where the replacement arrives empty.
2560
+ if (holdsAnchor(record.addedNodes) || holdsAnchor(record.removedNodes)) {
2561
+ return true;
2562
+ }
2563
+ // Or a theme emptied an anchor that stayed where it was, taking the mounted
2564
+ // form with it. Removals only: a fill that lands in an empty anchor is pure
2565
+ // addition and must not re-arm the scan it just satisfied.
2566
+ return (record.removedNodes.length > 0 &&
2567
+ record.target instanceof Element &&
2568
+ record.target.closest(`[${INLINE_ANCHOR_ATTR}]`) !== null);
2569
+ };
2570
+ /**
2571
+ * Fills every anchor on the page and keeps filling them.
2572
+ *
2573
+ * Returns a rescan so the caller can also drive it from a page-view boundary,
2574
+ * and a stop so the observer does not outlive its caller — the same handle
2575
+ * shape `startClickTriggers` and `startDeferredRules` hand back.
2576
+ */
2577
+ const startInlineForms = (params) => {
2578
+ const rescan = () => fillAnchors(params);
2579
+ let observer;
2580
+ let stopped = false;
2581
+ const start = () => {
2582
+ if (stopped) {
2583
+ return;
2584
+ }
2585
+ rescan();
2586
+ // A one-shot scan is not enough: themes render footers and drawers after
2587
+ // the tag runs, and Shopify's section rendering API swaps a whole section
2588
+ // for a fresh copy, taking the mounted form with it and leaving an empty
2589
+ // anchor.
2590
+ let queued = false;
2591
+ observer = new MutationObserver((records) => {
2592
+ // Coalesced to one scan per frame. The observer sees the page's own churn
2593
+ // plus the mutation each fill makes, so scanning per record would walk the
2594
+ // document far more often than anything changed for us.
2595
+ if (queued) {
2596
+ return;
2597
+ }
2598
+ // Most of what this observer sees on a real storefront is someone else's
2599
+ // churn — a chat widget, a carousel, a sticky header — and walking the
2600
+ // whole document for it is pure cost. A batch only matters if it moved an
2601
+ // anchor, so the document scan is spent on the batch that changed
2602
+ // something for us rather than on every batch for the whole visit.
2603
+ //
2604
+ // Cheaper than a rescan even when it matches, because it walks only the
2605
+ // nodes that actually moved. A fill into an empty anchor is pure addition
2606
+ // and does not match; one that replaced merchant placeholder content
2607
+ // matches once and finds the anchor already filled.
2608
+ if (!records.some(touchesAnchor)) {
2609
+ return;
2610
+ }
2611
+ queued = true;
2612
+ requestAnimationFrame(() => {
2613
+ queued = false;
2614
+ rescan();
2615
+ });
2616
+ });
2617
+ observer.observe(document.body, { childList: true, subtree: true });
2618
+ };
2619
+ // The tag can be loaded from `<head>`, where there is no `document.body` to
2620
+ // observe yet and `observe` would throw. That throw reaches init's catch and
2621
+ // takes every remaining popup down with it, not just the inline forms — and
2622
+ // there is nothing to scan before the body exists anyway. A missing body
2623
+ // means the parser is still running, so DOMContentLoaded is still to come.
2624
+ if (document.body) {
2625
+ start();
2626
+ }
2627
+ else {
2628
+ document.addEventListener('DOMContentLoaded', start, { once: true });
2629
+ }
2630
+ return {
2631
+ rescan,
2632
+ stop: () => {
2633
+ // Latched, because `start` may still be pending on DOMContentLoaded and
2634
+ // would otherwise attach an observer nothing holds a reference to.
2635
+ stopped = true;
2636
+ observer === null || observer === void 0 ? void 0 : observer.disconnect();
2637
+ observer = undefined;
2638
+ },
2639
+ };
1835
2640
  };
1836
2641
 
1837
2642
  const installPublicApi = (params) => {
@@ -1968,11 +2773,158 @@ const renderBodyBlock = (block) => {
1968
2773
  return wrapWithLink(el, (_a = block.props.textStyle) === null || _a === void 0 ? void 0 : _a.link);
1969
2774
  };
1970
2775
 
2776
+ // Dispatched by the submit action so every managed field reveals its message at
2777
+ // once. Without it the browser surfaces only the first failure, in a bubble.
2778
+ const REVEAL_ERRORS_EVENT = 'blotoutPopup:revealerrors';
2779
+ const INTERNATIONAL_PREFIX = /^(\+|00)/;
2780
+ /**
2781
+ * The trunk prefix a shopper dials inside their own country, which E.164 drops.
2782
+ * Most countries use a single `0`. Italy and the Vatican share +39 and San
2783
+ * Marino has +378; all keep the zero, so they have no prefix to strip. The
2784
+ * others are the known non-`0` prefixes: `8` in Russia and Kazakhstan, `8 0` in
2785
+ * Belarus and `06` in Hungary. The `8` is only a prefix on a number one digit
2786
+ * longer than a national one, because Russian area codes start with 8 too.
2787
+ */
2788
+ const TRUNK_PREFIXES = {
2789
+ '7': /^8(?=\d{10}$)/,
2790
+ '36': /^06?/,
2791
+ '39': null,
2792
+ '375': /^8?0(?=\d{9}$)/,
2793
+ '378': null,
2794
+ };
2795
+ const DEFAULT_TRUNK_PREFIX = /^0/;
2796
+ // `+44 (0)7911 123456` marks the trunk zero a caller from abroad must skip. It
2797
+ // is not part of the number, except where the zero is kept.
2798
+ const OPTIONAL_TRUNK_ZERO = /\(0\)/g;
2799
+ const KEEPS_ZERO = /^(\+|00)\s*(39|378)/;
2800
+ let errorSeq = 0;
2801
+ /**
2802
+ * Joins the picked dial code to what the shopper typed, unless they typed a
2803
+ * country code themselves — an explicit `+44` or `0044` always wins over the
2804
+ * selector, so a shopper who pastes a full international number is not given a
2805
+ * second country code.
2806
+ *
2807
+ * Never call `normalizePhoneNumber` on a bare local number without doing this
2808
+ * first: it assumes NANP and prefixes `+1`, which turns a Mexico City number
2809
+ * into a valid New Jersey one.
2810
+ */
2811
+ const toE164 = (raw, dial) => {
2812
+ const typed = raw.trim();
2813
+ if (!typed) {
2814
+ return '';
2815
+ }
2816
+ if (INTERNATIONAL_PREFIX.test(typed)) {
2817
+ return normalizePhoneNumber(KEEPS_ZERO.test(typed) ? typed : typed.replace(OPTIONAL_TRUNK_ZERO, ''), true);
2818
+ }
2819
+ // With no country to read it against, a bare number cannot be made E.164.
2820
+ if (!dial) {
2821
+ return '';
2822
+ }
2823
+ // `07911 123456` is how a London shopper writes their own number, and the
2824
+ // trunk prefix has to go before the country code goes on — `+4407911123456`
2825
+ // is not their number, and it is long enough to pass a plausibility check,
2826
+ // so it would be wrong rather than rejected.
2827
+ const trunk = dial in TRUNK_PREFIXES ? TRUNK_PREFIXES[dial] : DEFAULT_TRUNK_PREFIX;
2828
+ const digits = typed.replace(/\D/g, '');
2829
+ const national = trunk ? digits.replace(trunk, '') : digits;
2830
+ return normalizePhoneNumber(`+${dial}${national}`, true);
2831
+ };
2832
+ const isValidPhone = (raw, dial) => isPlausibleE164Number(toE164(raw, dial));
2833
+ const emailCheck = (message) => (value) => {
2834
+ const email = value.trim();
2835
+ if (!email || isValidEmail(email)) {
2836
+ return null;
2837
+ }
2838
+ return message || 'Enter a valid email address';
2839
+ };
2840
+ const phoneCheck = (getDial, message, required = false) => (value) => {
2841
+ // The browser does not trim a `type=tel` value, so native `required`
2842
+ // accepts a field holding nothing but spaces and the lead goes through
2843
+ // with no phone. A genuinely empty field is still the browser's job.
2844
+ const acceptable = value.trim()
2845
+ ? isValidPhone(value, getDial())
2846
+ : !(required && value);
2847
+ return acceptable ? null : message || 'Enter a valid phone number';
2848
+ };
2849
+ /**
2850
+ * Wires one input to a format check.
2851
+ *
2852
+ * `setCustomValidity` is what does the blocking: the submit action already
2853
+ * calls `checkValidity()` on every input, so a field that reports itself
2854
+ * invalid stops the form without the action layer knowing this exists.
2855
+ *
2856
+ * The message is computed on every keystroke but only shown once the shopper
2857
+ * has left the field or tried to submit — telling someone their address is
2858
+ * invalid while they are still typing the first letter of it is noise. Once
2859
+ * shown it updates live, so it clears the moment the value is fixed.
2860
+ */
2861
+ const attachFieldValidation = (options) => {
2862
+ const { input, wrapper, root, check, onValue } = options;
2863
+ let revealed = false;
2864
+ let error;
2865
+ const showError = (message) => {
2866
+ if (!error) {
2867
+ error = document.createElement('p');
2868
+ error.id = `bop-field-error-${++errorSeq}`;
2869
+ error.setAttribute('role', 'alert');
2870
+ applyStyles(error, {
2871
+ margin: '0.2em 0 0',
2872
+ 'font-size': '0.75em',
2873
+ 'line-height': '1.3',
2874
+ color: '#b3252b',
2875
+ });
2876
+ wrapper.appendChild(error);
2877
+ }
2878
+ error.textContent = message;
2879
+ error.hidden = false;
2880
+ };
2881
+ const run = () => {
2882
+ const message = check(input.value);
2883
+ input.setCustomValidity(message !== null && message !== void 0 ? message : '');
2884
+ onValue === null || onValue === void 0 ? void 0 : onValue(input.value);
2885
+ if (message && revealed) {
2886
+ input.setAttribute('aria-invalid', 'true');
2887
+ showError(message);
2888
+ if (error) {
2889
+ input.setAttribute('aria-describedby', error.id);
2890
+ }
2891
+ return;
2892
+ }
2893
+ input.removeAttribute('aria-invalid');
2894
+ input.removeAttribute('aria-describedby');
2895
+ if (error) {
2896
+ error.hidden = true;
2897
+ }
2898
+ };
2899
+ input.addEventListener('input', run);
2900
+ input.addEventListener('blur', () => {
2901
+ revealed = true;
2902
+ run();
2903
+ });
2904
+ // The popup root outlives a step change, which replaces the block DOM, so a
2905
+ // multi-step popup leaves handlers behind holding detached inputs. Each one
2906
+ // drops itself the first time it sees its own input is gone, so a later
2907
+ // submit neither acts on a field nobody can see nor walks a growing list.
2908
+ const onReveal = () => {
2909
+ if (!input.isConnected) {
2910
+ root.removeEventListener(REVEAL_ERRORS_EVENT, onReveal);
2911
+ return;
2912
+ }
2913
+ revealed = true;
2914
+ run();
2915
+ };
2916
+ root.addEventListener(REVEAL_ERRORS_EVENT, onReveal);
2917
+ run();
2918
+ };
2919
+
1971
2920
  const buildLeadBody = (input) => {
1972
2921
  const { formData, ruleId, stepId, variantId, pageUrl, referrer, eventId, submittedAt, } = input;
1973
2922
  const fields = {};
1974
2923
  for (const [key, value] of Object.entries(formData)) {
1975
- if (key === 'email' || key === 'phone' || key === 'consentGiven') {
2924
+ if (key === 'email' ||
2925
+ key === 'phone' ||
2926
+ key === 'consentGiven' ||
2927
+ key === 'smsConsentGiven') {
1976
2928
  continue;
1977
2929
  }
1978
2930
  if (typeof value === 'string' || typeof value === 'boolean') {
@@ -1984,6 +2936,9 @@ const buildLeadBody = (input) => {
1984
2936
  const consentGiven = typeof formData['consentGiven'] === 'boolean'
1985
2937
  ? formData['consentGiven']
1986
2938
  : null;
2939
+ const smsConsentGiven = typeof formData['smsConsentGiven'] === 'boolean'
2940
+ ? formData['smsConsentGiven']
2941
+ : null;
1987
2942
  return {
1988
2943
  eventId,
1989
2944
  ruleId,
@@ -1993,12 +2948,45 @@ const buildLeadBody = (input) => {
1993
2948
  phone,
1994
2949
  fields,
1995
2950
  consentGiven,
2951
+ smsConsentGiven,
1996
2952
  pageUrl,
1997
2953
  referrer,
1998
2954
  submittedAt,
1999
2955
  };
2000
2956
  };
2001
2957
 
2958
+ /**
2959
+ * The dedupe key for one submit, or `null` when there is nothing to send.
2960
+ *
2961
+ * Excludes eventId/submittedAt so a double-click or an identical resubmit lands
2962
+ * on the same key. Exported because the identity push and the outbound `Lead`
2963
+ * share this guard: `run-action` computes the key once for all three sends.
2964
+ *
2965
+ * The placeholders below are exactly the fields the key ignores, so building a
2966
+ * throwaway body is how the key stays in step with `buildLeadBody`.
2967
+ */
2968
+ const leadSendKey = (stepId, formData) => {
2969
+ const body = buildLeadBody({
2970
+ formData,
2971
+ ruleId: '',
2972
+ stepId,
2973
+ pageUrl: '',
2974
+ referrer: '',
2975
+ eventId: '',
2976
+ submittedAt: 0,
2977
+ });
2978
+ if (!body.email && !body.phone) {
2979
+ return null;
2980
+ }
2981
+ return JSON.stringify([
2982
+ stepId,
2983
+ body.email,
2984
+ body.phone,
2985
+ body.consentGiven,
2986
+ body.smsConsentGiven,
2987
+ body.fields,
2988
+ ]);
2989
+ };
2002
2990
  // Fire-and-forget forward of the captured lead to the blotout-popup CDN, which
2003
2991
  // enriches and posts it to the leads backend. Never throws into the popup flow.
2004
2992
  const sendLead = (input) => {
@@ -2007,6 +2995,13 @@ const sendLead = (input) => {
2007
2995
  if (!baseUrl) {
2008
2996
  return;
2009
2997
  }
2998
+ const sendKey = leadSendKey(stepId, formData);
2999
+ if (!sendKey) {
3000
+ return;
3001
+ }
3002
+ if (state && state.lastSentKey === sendKey) {
3003
+ return;
3004
+ }
2010
3005
  const body = buildLeadBody({
2011
3006
  formData,
2012
3007
  ruleId,
@@ -2017,20 +3012,6 @@ const sendLead = (input) => {
2017
3012
  eventId: crypto.randomUUID(),
2018
3013
  submittedAt: Date.now(),
2019
3014
  });
2020
- if (!body.email && !body.phone) {
2021
- return;
2022
- }
2023
- // Key excludes eventId/submittedAt so double-clicks and identical resubmits dedupe.
2024
- const sendKey = JSON.stringify([
2025
- stepId,
2026
- body.email,
2027
- body.phone,
2028
- body.consentGiven,
2029
- body.fields,
2030
- ]);
2031
- if (state && state.lastSentKey === sendKey) {
2032
- return;
2033
- }
2034
3015
  // EdgeTagUserId + credentials carry the visitor identity so the CDN stamps
2035
3016
  // the real visitorId/sessionId instead of minting a new user (shop-gpt parity).
2036
3017
  const headers = new Headers({ 'Content-Type': 'application/json' });
@@ -2054,6 +3035,53 @@ const sendLead = (input) => {
2054
3035
  }
2055
3036
  };
2056
3037
 
3038
+ // Identity fields the popup can plausibly capture, named to match `UserData`
3039
+ // on the edge (`libs/cdn/types/src/api.ts:148`). Anything else the form
3040
+ // collects stays a lead field and is not part of the visitor's identity.
3041
+ const IDENTITY_FIELDS = ['email', 'phone', 'firstName', 'lastName'];
3042
+ /**
3043
+ * Stores the submitted identity on the visitor's EdgeTag profile.
3044
+ *
3045
+ * Without this the email never reaches the edge's user store, and every channel
3046
+ * that identifies a person before it will accept an event bails out: Klaviyo
3047
+ * logs "User needs email or phone number first." and drops the event, and
3048
+ * Listrak and Omnisend do the same. The lead itself still lands in Blotout's
3049
+ * leads backend, so the popup looks like it worked.
3050
+ *
3051
+ * Called before the outbound `Lead`, the same order the Shopify custom pixel
3052
+ * uses (`apps/edgetag/app-api/src/app/api/shopify/templates/custom-pixel.ts:535`):
3053
+ * `edgetag('data', …)` first, then the event.
3054
+ */
3055
+ const sendUserData = (formData, baseUrl) => {
3056
+ try {
3057
+ if (typeof window.edgetag !== 'function') {
3058
+ return;
3059
+ }
3060
+ const userData = {};
3061
+ for (const field of IDENTITY_FIELDS) {
3062
+ const value = formData[field];
3063
+ if (typeof value === 'string' && value.trim().length > 0) {
3064
+ userData[field] = value.trim();
3065
+ }
3066
+ }
3067
+ // A name on its own identifies nobody, and the providers this exists for
3068
+ // key on email or phone.
3069
+ if (!userData['email'] && !userData['phone']) {
3070
+ return;
3071
+ }
3072
+ // Same destination as the event that follows, so the identity lands on the
3073
+ // tag the popup belongs to rather than on every tag on the page.
3074
+ if (baseUrl) {
3075
+ window.edgetag('data', userData, undefined, { destination: baseUrl });
3076
+ return;
3077
+ }
3078
+ window.edgetag('data', userData);
3079
+ }
3080
+ catch {
3081
+ // identity must never break the popup
3082
+ }
3083
+ };
3084
+
2057
3085
  const collectFormData = (popupRoot) => {
2058
3086
  var _a;
2059
3087
  const fields = {};
@@ -2080,27 +3108,10 @@ const collectFormData = (popupRoot) => {
2080
3108
  return fields;
2081
3109
  };
2082
3110
 
2083
- const INTERNAL_EVENTS = new Set(['dismiss', 'gotostep']);
2084
- const triggerDismiss = (popupRoot, source = 'closeButton') => {
2085
- try {
2086
- popupRoot.dispatchEvent(new CustomEvent('blotoutPopup:dismiss', { detail: { source } }));
2087
- }
2088
- finally {
2089
- popupRoot.remove();
2090
- }
2091
- };
2092
- const dispatchPopupEvent = (popupRoot, type, detail) => {
2093
- const isInternal = INTERNAL_EVENTS.has(type);
2094
- popupRoot.dispatchEvent(new CustomEvent(`blotoutPopup:${type}`, {
2095
- detail,
2096
- bubbles: !isInternal,
2097
- composed: !isInternal,
2098
- }));
2099
- };
2100
-
3111
+ // eslint-disable-next-line @nx/enforce-module-boundaries
2101
3112
  const SHOP_GPT_REGISTRY_KEY = Symbol.for('shop-gpt');
2102
3113
  const runAction = (action, ctx) => {
2103
- var _a, _b, _c, _d;
3114
+ var _a, _b, _c, _d, _e;
2104
3115
  sendPopupEvent(ctx.sendTag, 'blotoutPopupCtaClick', {
2105
3116
  ruleId: ctx.rule.id,
2106
3117
  variantId: ctx.variantId,
@@ -2131,10 +3142,28 @@ const runAction = (action, ctx) => {
2131
3142
  return;
2132
3143
  }
2133
3144
  case 'submitForm': {
3145
+ // An inline form has no close: when its last step has no `next` to a
3146
+ // confirmation, submitting leaves the filled form sitting in the page.
3147
+ // Without this the shopper clicks again, sends a second lead and fires a
3148
+ // second convert. Only inline, because every other format is either gone
3149
+ // or dismissible by the time this could happen.
3150
+ if (isInlineRule(ctx.rule) && isConverted(ctx.rule.id)) {
3151
+ return;
3152
+ }
2134
3153
  const inputs = Array.from((_c = (_b = ctx.popupRoot.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('input, select')) !== null && _c !== void 0 ? _c : []);
3154
+ // Ask every managed field to show its own message first, so a form with
3155
+ // two bad fields surfaces both instead of the browser bubbling only the
3156
+ // first one it finds.
3157
+ ctx.popupRoot.dispatchEvent(new CustomEvent(REVEAL_ERRORS_EVENT));
2135
3158
  const invalid = inputs.find((input) => !input.checkValidity());
2136
3159
  if (invalid) {
2137
- invalid.reportValidity();
3160
+ invalid.focus();
3161
+ // A field with an inline message has already said its piece; anything
3162
+ // else — a required checkbox, a merchant's own input — still needs the
3163
+ // native bubble.
3164
+ if (invalid.getAttribute('aria-invalid') !== 'true') {
3165
+ invalid.reportValidity();
3166
+ }
2138
3167
  return;
2139
3168
  }
2140
3169
  const formData = collectFormData(ctx.popupRoot);
@@ -2148,15 +3177,28 @@ const runAction = (action, ctx) => {
2148
3177
  const leadData = ctx.leadState
2149
3178
  ? Object.assign(ctx.leadState.data, formData)
2150
3179
  : formData;
2151
- sendLead({
2152
- baseUrl: ctx.baseUrl,
2153
- userId: ctx.userId,
2154
- ruleId: ctx.rule.id,
2155
- stepId: ctx.currentStep.id,
2156
- variantId: ctx.variantId,
2157
- formData: leadData,
2158
- state: ctx.leadState,
2159
- });
3180
+ // One guard for all three sends. A step whose `transition` is undefined
3181
+ // or 'submit' leaves the popup mounted with a live click listener, so a
3182
+ // second click re-enters this branch. `sendLead` deduped on its own key;
3183
+ // the identity push and the outbound `Lead` did not, and `emitToChannels`
3184
+ // mints a fresh eventId per call, so Meta had nothing to dedupe on.
3185
+ const sendKey = leadSendKey(ctx.currentStep.id, leadData);
3186
+ const isResend = sendKey !== null && ((_d = ctx.leadState) === null || _d === void 0 ? void 0 : _d.lastSentKey) === sendKey;
3187
+ // Identity first, then the lead and the outbound event: the edge has to
3188
+ // already hold the email when the `Lead` arrives, or Klaviyo and friends
3189
+ // drop it for want of an identifier.
3190
+ if (!isResend) {
3191
+ sendUserData(leadData, ctx.baseUrl);
3192
+ sendLead({
3193
+ baseUrl: ctx.baseUrl,
3194
+ userId: ctx.userId,
3195
+ ruleId: ctx.rule.id,
3196
+ stepId: ctx.currentStep.id,
3197
+ variantId: ctx.variantId,
3198
+ formData: leadData,
3199
+ state: ctx.leadState,
3200
+ });
3201
+ }
2160
3202
  const transition = ctx.currentStep.transition;
2161
3203
  const nextStep = transition === 'next' && currentIdx >= 0
2162
3204
  ? steps[currentIdx + 1]
@@ -2168,26 +3210,50 @@ const runAction = (action, ctx) => {
2168
3210
  ? ['cta', 'convert']
2169
3211
  : ['convert'];
2170
3212
  persistRuleEvent(ctx.rule, events, ctx.getEdgeData, ctx.sendEdgeData);
2171
- sendPopupEvent(ctx.sendTag, 'blotoutPopupConvert', {
3213
+ const convertDetail = {
2172
3214
  ruleId: ctx.rule.id,
2173
3215
  variantId: ctx.variantId,
2174
3216
  displayFormat: ctx.rule.display.format,
2175
3217
  contentVersion: ctx.rule.contentVersion,
2176
3218
  stepId: ctx.currentStep.id,
2177
- consentGiven: typeof formData['consentGiven'] === 'boolean'
2178
- ? formData['consentGiven']
2179
- : false,
3219
+ };
3220
+ sendPopupEvent(ctx.sendTag, 'blotoutPopupConvert', {
3221
+ ...convertDetail,
3222
+ // Any consent the shopper gave, not the email box specifically —
3223
+ // an SMS-only popup has no `consentGiven` field at all, and before
3224
+ // consent carried a channel its single box was always this one. The
3225
+ // per-channel record lives on the lead; this stays "did they agree
3226
+ // to something" so the existing metric keeps its meaning.
3227
+ consentGiven: [
3228
+ formData['consentGiven'],
3229
+ formData['smsConsentGiven'],
3230
+ ].some((value) => value === true),
2180
3231
  });
2181
- }
2182
- if (transition === 'close') {
2183
- triggerDismiss(ctx.popupRoot, 'auto');
2184
- return;
3232
+ // Sent as `Lead`: a Meta standard event, and GA4 maps it to
3233
+ // `generate_lead`, so the merchant can optimise on it without either
3234
+ // provider needing to know what a popup is. `consentGiven` is the
3235
+ // merchant's marketing checkbox, not a routing signal, so it stays out.
3236
+ if (!isResend) {
3237
+ emitToChannels(ctx.rule, ctx.baseUrl, 'Lead', convertDetail);
3238
+ }
3239
+ dispatchPopupEvent(ctx.popupRoot, 'convert', convertDetail);
2185
3240
  }
2186
3241
  if (nextStep) {
2187
3242
  dispatchPopupEvent(ctx.popupRoot, 'gotostep', {
2188
3243
  ruleId: ctx.rule.id,
2189
3244
  stepId: nextStep.id,
2190
3245
  });
3246
+ return;
3247
+ }
3248
+ // A submit with nowhere left to go ends the flow, so close. Only a step
3249
+ // that hands off to another one stays open: `transition` is unset on the
3250
+ // last step of every template, and a popup still sitting there after a
3251
+ // successful submit reads to the shopper as a submit that failed.
3252
+ // Closing an inline form would tear a hole in the merchant's page where
3253
+ // a permanent section used to be, so its last step stays on screen as the
3254
+ // confirmation. The lead and the conversion above are already recorded.
3255
+ if (!isInlineRule(ctx.rule)) {
3256
+ triggerDismiss(ctx.popupRoot, 'auto');
2191
3257
  }
2192
3258
  return;
2193
3259
  }
@@ -2202,7 +3268,7 @@ const runAction = (action, ctx) => {
2202
3268
  ? ctx.codes.get(action.couponBlockId)
2203
3269
  : [...ctx.codes.values()][0];
2204
3270
  if (code) {
2205
- (_d = navigator.clipboard) === null || _d === void 0 ? void 0 : _d.writeText(code);
3271
+ (_e = navigator.clipboard) === null || _e === void 0 ? void 0 : _e.writeText(code);
2206
3272
  dispatchPopupEvent(ctx.popupRoot, 'couponcopied', {
2207
3273
  ruleId: ctx.rule.id,
2208
3274
  code,
@@ -2312,7 +3378,11 @@ const renderConsentBlock = (block) => {
2312
3378
  });
2313
3379
  const checkbox = document.createElement('input');
2314
3380
  checkbox.type = 'checkbox';
2315
- checkbox.name = 'consentGiven';
3381
+ // An SMS block submits under its own name so agreeing to email is never read
3382
+ // as agreeing to texts. No channel means email, which is what every rule
3383
+ // saved before this existed carries.
3384
+ checkbox.name =
3385
+ block.props.channel === 'sms' ? 'smsConsentGiven' : 'consentGiven';
2316
3386
  checkbox.required = block.props.required;
2317
3387
  applyStyles(checkbox, { 'margin-top': '0.2em' });
2318
3388
  const text = document.createElement('span');
@@ -2695,6 +3765,12 @@ const renderEmailInputBlock = (block, ctx) => {
2695
3765
  ...getInputStyles(ctx.theme),
2696
3766
  });
2697
3767
  wrapper.appendChild(input);
3768
+ attachFieldValidation({
3769
+ input,
3770
+ wrapper,
3771
+ root: ctx.popupRoot,
3772
+ check: emailCheck(),
3773
+ });
2698
3774
  return wrapper;
2699
3775
  };
2700
3776
 
@@ -2703,10 +3779,23 @@ const renderFloatingImageBlock = (block) => {
2703
3779
  if (!block.props.url || !isSafeImageUrl(block.props.url)) {
2704
3780
  return null;
2705
3781
  }
3782
+ // Out of flow for the same reason as the image block, and because floating
3783
+ // is the point: it overlaps its neighbours rather than growing the rows and
3784
+ // pushing them down. The wrapper is the grid item, so it carries the z-index.
3785
+ const wrapper = document.createElement('div');
3786
+ applyStyles(wrapper, {
3787
+ position: 'relative',
3788
+ width: '100%',
3789
+ height: '100%',
3790
+ 'z-index': block.props.zIndex != null ? String(block.props.zIndex) : undefined,
3791
+ });
2706
3792
  const img = document.createElement('img');
2707
3793
  img.src = block.props.url;
2708
3794
  img.alt = (_a = block.props.alt) !== null && _a !== void 0 ? _a : '';
2709
3795
  applyStyles(img, {
3796
+ position: 'absolute',
3797
+ top: '0',
3798
+ left: '0',
2710
3799
  width: (_b = block.props.width) !== null && _b !== void 0 ? _b : '100%',
2711
3800
  height: (_c = block.props.height) !== null && _c !== void 0 ? _c : 'auto',
2712
3801
  display: 'block',
@@ -2715,12 +3804,13 @@ const renderFloatingImageBlock = (block) => {
2715
3804
  transform: block.props.rotation != null
2716
3805
  ? `rotate(${block.props.rotation}deg)`
2717
3806
  : undefined,
2718
- 'z-index': block.props.zIndex != null ? String(block.props.zIndex) : undefined,
2719
3807
  'box-shadow': block.props.shadow,
2720
3808
  });
2721
- return img;
3809
+ wrapper.appendChild(img);
3810
+ return wrapper;
2722
3811
  };
2723
3812
 
3813
+ // eslint-disable-next-line @nx/enforce-module-boundaries
2724
3814
  const TYPE_MAP = {
2725
3815
  text: 'text',
2726
3816
  email: 'email',
@@ -2728,8 +3818,8 @@ const TYPE_MAP = {
2728
3818
  number: 'number',
2729
3819
  date: 'date',
2730
3820
  };
2731
- const renderFormInputBlock = (block) => {
2732
- var _a, _b, _c, _d, _e, _f, _g, _h;
3821
+ const renderFormInputBlock = (block, ctx) => {
3822
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
2733
3823
  const wrapper = document.createElement('div');
2734
3824
  applyStyles(wrapper, { margin: (_a = block.props.margin) !== null && _a !== void 0 ? _a : '0 0 0.5em' });
2735
3825
  if (block.props.label) {
@@ -2770,6 +3860,46 @@ const renderFormInputBlock = (block) => {
2770
3860
  'font-size': '0.875em',
2771
3861
  });
2772
3862
  wrapper.appendChild(input);
3863
+ // The generic block is a second route to an email or phone field, so it gets
3864
+ // the same checks. It has no country picker of its own, so the shopper's own
3865
+ // country is what a bare number is read as. With no geo there is none, and
3866
+ // falling back to US would store a plausible wrong number, so only an
3867
+ // explicit international number is accepted.
3868
+ if (block.props.fieldType === 'email') {
3869
+ attachFieldValidation({
3870
+ input,
3871
+ wrapper,
3872
+ root: ctx.popupRoot,
3873
+ check: emailCheck(),
3874
+ });
3875
+ }
3876
+ else if (block.props.fieldType === 'phone') {
3877
+ const geo = resolveCountry(ctx.geoCountry);
3878
+ const dial = geo === ((_j = ctx.geoCountry) === null || _j === void 0 ? void 0 : _j.trim().toUpperCase()) ? dialCode(geo) : '';
3879
+ // Submitted from a hidden field like the dedicated phone block, so this
3880
+ // route cannot send a bare local number the lead route would refuse. The
3881
+ // visible input gives up its name to the hidden one to make that the only
3882
+ // value collected.
3883
+ let canonical;
3884
+ if (block.props.name) {
3885
+ canonical = document.createElement('input');
3886
+ canonical.type = 'hidden';
3887
+ canonical.name = block.props.name;
3888
+ input.removeAttribute('name');
3889
+ wrapper.appendChild(canonical);
3890
+ }
3891
+ attachFieldValidation({
3892
+ input,
3893
+ wrapper,
3894
+ root: ctx.popupRoot,
3895
+ check: phoneCheck(() => dial, dial ? undefined : 'Include your country code, e.g. +44', block.props.required),
3896
+ onValue: (value) => {
3897
+ if (canonical) {
3898
+ canonical.value = toE164(value, dial);
3899
+ }
3900
+ },
3901
+ });
3902
+ }
2773
3903
  return wrapper;
2774
3904
  };
2775
3905
 
@@ -2794,7 +3924,7 @@ const renderHeadingBlock = (block) => {
2794
3924
  return wrapWithLink(el, (_a = block.props.textStyle) === null || _a === void 0 ? void 0 : _a.link);
2795
3925
  };
2796
3926
 
2797
- var css_248z = "/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-900: oklch(39.6% 0.141 25.723);\n --color-red-950: oklch(25.8% 0.092 26.042);\n --color-orange-50: #f25c2b;\n --color-orange-100: #520c03;\n --color-orange-200: oklch(90.1% 0.076 70.697);\n --color-orange-300: oklch(83.7% 0.128 66.29);\n --color-orange-400: oklch(75% 0.183 55.934);\n --color-orange-500: oklch(70.5% 0.213 47.604);\n --color-orange-600: oklch(64.6% 0.222 41.116);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-orange-800: oklch(47% 0.157 37.304);\n --color-orange-950: oklch(26.6% 0.079 36.259);\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-100: oklch(96.2% 0.059 95.617);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-300: oklch(87.9% 0.169 91.605);\n --color-amber-400: oklch(82.8% 0.189 84.429);\n --color-amber-500: oklch(76.9% 0.188 70.08);\n --color-amber-600: oklch(66.6% 0.179 58.318);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-800: oklch(47.3% 0.137 46.201);\n --color-amber-900: oklch(41.4% 0.112 45.904);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n --color-yellow-50: oklch(98.7% 0.026 102.212);\n --color-yellow-100: oklch(97.3% 0.071 103.193);\n --color-yellow-200: oklch(94.5% 0.129 101.54);\n --color-yellow-300: oklch(90.5% 0.182 98.111);\n --color-yellow-400: oklch(85.2% 0.199 91.936);\n --color-yellow-500: oklch(79.5% 0.184 86.047);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-yellow-800: oklch(47.6% 0.114 61.907);\n --color-yellow-900: oklch(42.1% 0.095 57.708);\n --color-green-50: oklch(98.2% 0.018 155.826);\n --color-green-100: oklch(96.2% 0.044 156.743);\n --color-green-200: oklch(92.5% 0.084 155.995);\n --color-green-300: oklch(87.1% 0.15 154.449);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-500: oklch(72.3% 0.219 149.579);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-green-700: oklch(52.7% 0.154 150.069);\n --color-green-800: oklch(44.8% 0.119 151.328);\n --color-green-900: oklch(39.3% 0.095 152.535);\n --color-green-950: oklch(26.6% 0.065 152.934);\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-300: oklch(84.5% 0.143 164.978);\n --color-emerald-500: oklch(69.6% 0.17 162.48);\n --color-emerald-600: oklch(59.6% 0.145 163.225);\n --color-emerald-700: oklch(50.8% 0.118 165.612);\n --color-emerald-900: oklch(37.8% 0.077 168.94);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n --color-teal-50: oklch(98.4% 0.014 180.72);\n --color-teal-100: oklch(95.3% 0.051 180.801);\n --color-teal-400: oklch(77.7% 0.152 181.912);\n --color-teal-500: oklch(70.4% 0.14 182.503);\n --color-teal-600: oklch(60% 0.118 184.704);\n --color-teal-700: oklch(51.1% 0.096 186.391);\n --color-teal-900: oklch(38.6% 0.063 188.416);\n --color-teal-950: oklch(27.7% 0.046 192.524);\n --color-cyan-500: oklch(71.5% 0.143 215.221);\n --color-cyan-950: oklch(30.2% 0.056 229.695);\n --color-sky-500: oklch(68.5% 0.169 237.323);\n --color-sky-600: oklch(58.8% 0.158 241.966);\n --color-sky-700: oklch(50% 0.134 242.749);\n --color-blue-50: #3b82f6;\n --color-blue-100: #172554;\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n --color-indigo-50: oklch(96.2% 0.018 272.314);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-400: oklch(67.3% 0.182 276.935);\n --color-indigo-500: oklch(58.5% 0.233 277.117);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-violet-50: oklch(96.9% 0.016 293.756);\n --color-violet-100: oklch(94.3% 0.029 294.588);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-300: oklch(81.1% 0.111 293.571);\n --color-violet-500: oklch(60.6% 0.25 292.717);\n --color-violet-600: oklch(54.1% 0.281 293.009);\n --color-violet-700: oklch(49.1% 0.27 292.581);\n --color-violet-800: oklch(43.2% 0.232 292.759);\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-100: oklch(94.6% 0.033 307.174);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-300: oklch(82.7% 0.119 306.383);\n --color-purple-400: oklch(71.4% 0.203 305.504);\n --color-purple-500: oklch(62.7% 0.265 303.9);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-purple-800: oklch(43.8% 0.218 303.724);\n --color-purple-900: oklch(38.1% 0.176 304.987);\n --color-purple-950: oklch(29.1% 0.149 302.717);\n --color-fuchsia-500: oklch(66.7% 0.295 322.15);\n --color-pink-600: oklch(59.2% 0.249 0.584);\n --color-rose-50: oklch(96.9% 0.015 12.422);\n --color-rose-200: oklch(89.2% 0.058 10.001);\n --color-rose-500: oklch(64.5% 0.246 16.439);\n --color-rose-600: oklch(58.6% 0.253 17.585);\n --color-rose-700: oklch(51.4% 0.222 16.935);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-zinc-100: oklch(96.7% 0.001 286.375);\n --color-zinc-200: oklch(92% 0.004 286.32);\n --color-zinc-300: oklch(87.1% 0.006 286.286);\n --color-zinc-500: oklch(55.2% 0.016 285.938);\n --color-zinc-600: oklch(44.2% 0.017 285.786);\n --color-zinc-800: oklch(27.4% 0.006 286.033);\n --color-zinc-900: oklch(21% 0.006 285.885);\n --color-neutral-50: #8799af;\n --color-neutral-100: #172a41;\n --color-neutral-200: oklch(92.2% 0 0);\n --color-neutral-300: oklch(87% 0 0);\n --color-neutral-400: oklch(70.8% 0 0);\n --color-neutral-500: oklch(55.6% 0 0);\n --color-neutral-600: oklch(43.9% 0 0);\n --color-neutral-700: oklch(37.1% 0 0);\n --color-neutral-800: oklch(26.9% 0 0);\n --color-neutral-900: oklch(20.5% 0 0);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-6xl: 72rem;\n --container-7xl: 80rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --font-weight-black: 900;\n --tracking-tight: -0.025em;\n --tracking-normal: 0em;\n --tracking-wide: 0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --radius-xs: 0.125rem;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --animate-bounce: bounce 1s infinite;\n --blur-sm: 8px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --blur-3xl: 64px;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-primary: #18181b;\n --color-primary-foreground: #fafafa;\n --color-secondary: #f4f4f5;\n --color-secondary-foreground: #18181b;\n --color-destructive: #dc2626;\n --color-destructive-foreground: #fef2f2;\n --color-background: #ffffff;\n --color-input: #e4e4e7;\n --color-accent: #f4f4f5;\n --color-accent-foreground: #18181b;\n --color-card: #ffffff;\n --color-card-foreground: #09090b;\n --color-border: #e4e4e7;\n --color-sidebar-ring: #a1a1aa;\n --color-muted: #f7f7f6;\n --color-muted-foreground: #74716e;\n --color-orange-10: #fff3e6;\n --color-orange-20: #ffdfbf;\n --color-orange-30: #ffb47f;\n --color-orange-40: #ff8446;\n --color-orange-60: #cd4b27;\n --color-orange-70: #b03719;\n --color-orange-80: #892c0f;\n --color-orange-90: #61170d;\n --color-neutral-10: #f1f4f8;\n --color-neutral-20: #dbe2eb;\n --color-neutral-30: #bfccda;\n --color-neutral-40: #a3b2c6;\n --color-neutral-60: #677c95;\n --color-neutral-70: #4e647f;\n --color-neutral-80: #394d66;\n --color-neutral-90: #293b51;\n --color-blue-10: #dbeafe;\n --color-blue-20: #bfdbfe;\n --color-blue-30: #93c5fd;\n --color-blue-40: #60a5fa;\n --color-blue-60: #2563eb;\n --color-blue-70: #1d4ed8;\n --color-blue-80: #1e40af;\n --color-blue-90: #1e3a8a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .\\@container\\/card-header {\n container-type: inline-size;\n container-name: card-header;\n }\n .\\@container\\/strip {\n container-type: inline-size;\n container-name: strip;\n }\n .\\@container {\n container-type: inline-size;\n }\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .collapse {\n visibility: collapse;\n }\n .invisible {\n visibility: hidden;\n }\n .visible {\n visibility: visible;\n }\n .visible\\! {\n visibility: visible !important;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .sticky {\n position: sticky;\n }\n .-inset-6 {\n inset: calc(var(--spacing) * -6);\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n .\\!top-0 {\n top: calc(var(--spacing) * 0) !important;\n }\n .-top-0\\.5 {\n top: calc(var(--spacing) * -0.5);\n }\n .-top-1\\.5 {\n top: calc(var(--spacing) * -1.5);\n }\n .-top-2 {\n top: calc(var(--spacing) * -2);\n }\n .-top-2\\.5 {\n top: calc(var(--spacing) * -2.5);\n }\n .-top-4 {\n top: calc(var(--spacing) * -4);\n }\n .-top-5 {\n top: calc(var(--spacing) * -5);\n }\n .-top-\\[3px\\] {\n top: calc(3px * -1);\n }\n .-top-\\[7px\\] {\n top: calc(7px * -1);\n }\n .-top-\\[100px\\] {\n top: calc(100px * -1);\n }\n .-top-\\[200px\\] {\n top: calc(200px * -1);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-1 {\n top: calc(var(--spacing) * 1);\n }\n .top-1\\.5 {\n top: calc(var(--spacing) * 1.5);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-2 {\n top: calc(var(--spacing) * 2);\n }\n .top-3 {\n top: calc(var(--spacing) * 3);\n }\n .top-3\\.5 {\n top: calc(var(--spacing) * 3.5);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .top-5 {\n top: calc(var(--spacing) * 5);\n }\n .top-6 {\n top: calc(var(--spacing) * 6);\n }\n .top-8 {\n top: calc(var(--spacing) * 8);\n }\n .top-9 {\n top: calc(var(--spacing) * 9);\n }\n .top-10 {\n top: calc(var(--spacing) * 10);\n }\n .top-20 {\n top: calc(var(--spacing) * 20);\n }\n .top-24 {\n top: calc(var(--spacing) * 24);\n }\n .top-50 {\n top: calc(var(--spacing) * 50);\n }\n .top-200 {\n top: calc(var(--spacing) * 200);\n }\n .top-\\[-2px\\] {\n top: -2px;\n }\n .top-\\[2px\\] {\n top: 2px;\n }\n .top-\\[5px\\] {\n top: 5px;\n }\n .top-\\[6px\\] {\n top: 6px;\n }\n .top-\\[7px\\] {\n top: 7px;\n }\n .top-\\[10px\\] {\n top: 10px;\n }\n .top-\\[15px\\] {\n top: 15px;\n }\n .top-\\[16px\\] {\n top: 16px;\n }\n .top-\\[50\\%\\] {\n top: 50%;\n }\n .top-\\[50px\\] {\n top: 50px;\n }\n .top-\\[96px\\] {\n top: 96px;\n }\n .top-\\[176px\\] {\n top: 176px;\n }\n .top-\\[340px\\] {\n top: 340px;\n }\n .top-full {\n top: 100%;\n }\n .-right-0\\.5 {\n right: calc(var(--spacing) * -0.5);\n }\n .-right-4 {\n right: calc(var(--spacing) * -4);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n .right-1\\.5 {\n right: calc(var(--spacing) * 1.5);\n }\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .right-2\\.5 {\n right: calc(var(--spacing) * 2.5);\n }\n .right-3 {\n right: calc(var(--spacing) * 3);\n }\n .right-3\\.5 {\n right: calc(var(--spacing) * 3.5);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .right-5 {\n right: calc(var(--spacing) * 5);\n }\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n .right-12 {\n right: calc(var(--spacing) * 12);\n }\n .right-16 {\n right: calc(var(--spacing) * 16);\n }\n .right-30 {\n right: calc(var(--spacing) * 30);\n }\n .right-\\[-100px\\] {\n right: -100px;\n }\n .right-\\[-390px\\] {\n right: -390px;\n }\n .right-\\[8px\\] {\n right: 8px;\n }\n .right-\\[10px\\] {\n right: 10px;\n }\n .right-\\[12px\\] {\n right: 12px;\n }\n .right-\\[14px\\] {\n right: 14px;\n }\n .right-\\[40px\\] {\n right: 40px;\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .bottom-2 {\n bottom: calc(var(--spacing) * 2);\n }\n .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .bottom-\\[-2px\\] {\n bottom: -2px;\n }\n .bottom-\\[-32px\\] {\n bottom: -32px;\n }\n .bottom-\\[5px\\] {\n bottom: 5px;\n }\n .bottom-\\[7px\\] {\n bottom: 7px;\n }\n .bottom-\\[10px\\] {\n bottom: 10px;\n }\n .bottom-\\[12px\\] {\n bottom: 12px;\n }\n .bottom-full {\n bottom: 100%;\n }\n .\\!left-0 {\n left: calc(var(--spacing) * 0) !important;\n }\n .-left-\\[7px\\] {\n left: calc(7px * -1);\n }\n .-left-\\[9px\\] {\n left: calc(9px * -1);\n }\n .-left-\\[26px\\] {\n left: calc(26px * -1);\n }\n .-left-\\[200px\\] {\n left: calc(200px * -1);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1 {\n left: calc(var(--spacing) * 1);\n }\n .left-1\\.5 {\n left: calc(var(--spacing) * 1.5);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-2\\.5 {\n left: calc(var(--spacing) * 2.5);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .left-\\[2px\\] {\n left: 2px;\n }\n .left-\\[4\\.5px\\] {\n left: 4.5px;\n }\n .left-\\[9px\\] {\n left: 9px;\n }\n .left-\\[11px\\] {\n left: 11px;\n }\n .left-\\[12px\\] {\n left: 12px;\n }\n .left-\\[14px\\] {\n left: 14px;\n }\n .left-\\[18px\\] {\n left: 18px;\n }\n .left-\\[30\\%\\] {\n left: 30%;\n }\n .left-\\[50\\%\\] {\n left: 50%;\n }\n .left-\\[80px\\] {\n left: 80px;\n }\n .left-\\[680px\\] {\n left: 680px;\n }\n .left-full {\n left: 100%;\n }\n .isolate {\n isolation: isolate;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-5 {\n z-index: 5;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-30 {\n z-index: 30;\n }\n .z-40 {\n z-index: 40;\n }\n .z-50 {\n z-index: 50;\n }\n .z-55 {\n z-index: 55;\n }\n .z-\\[1\\] {\n z-index: 1;\n }\n .z-\\[3\\] {\n z-index: 3;\n }\n .z-\\[5\\] {\n z-index: 5;\n }\n .z-\\[50\\] {\n z-index: 50;\n }\n .z-\\[55\\] {\n z-index: 55;\n }\n .z-\\[60\\] {\n z-index: 60;\n }\n .z-\\[70\\] {\n z-index: 70;\n }\n .z-\\[200\\] {\n z-index: 200;\n }\n .z-\\[1000\\] {\n z-index: 1000;\n }\n .z-\\[9200\\] {\n z-index: 9200;\n }\n .z-\\[9999\\] {\n z-index: 9999;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-9 {\n order: 9;\n }\n .order-10 {\n order: 10;\n }\n .order-42 {\n order: 42;\n }\n .order-77 {\n order: 77;\n }\n .order-123 {\n order: 123;\n }\n .order-456 {\n order: 456;\n }\n .order-9749 {\n order: 9749;\n }\n .order-12345 {\n order: 12345;\n }\n .col-span-1 {\n grid-column: span 1 / span 1;\n }\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n .col-span-6 {\n grid-column: span 6 / span 6;\n }\n .col-span-full {\n grid-column: 1 / -1;\n }\n .col-start-1 {\n grid-column-start: 1;\n }\n .col-start-2 {\n grid-column-start: 2;\n }\n .col-end-1 {\n grid-column-end: 1;\n }\n .col-end-2 {\n grid-column-end: 2;\n }\n .row-auto {\n grid-row: auto;\n }\n .row-span-2 {\n grid-row: span 2 / span 2;\n }\n .row-span-full {\n grid-row: 1 / -1;\n }\n .row-start-1 {\n grid-row-start: 1;\n }\n .float-left {\n float: left;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .-m-2\\.5 {\n margin: calc(var(--spacing) * -2.5);\n }\n .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .m-1 {\n margin: calc(var(--spacing) * 1);\n }\n .m-2 {\n margin: calc(var(--spacing) * 2);\n }\n .m-4 {\n margin: calc(var(--spacing) * 4);\n }\n .m-8 {\n margin: calc(var(--spacing) * 8);\n }\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n .-mx-1\\.5 {\n margin-inline: calc(var(--spacing) * -1.5);\n }\n .-mx-2 {\n margin-inline: calc(var(--spacing) * -2);\n }\n .-mx-4 {\n margin-inline: calc(var(--spacing) * -4);\n }\n .-mx-6 {\n margin-inline: calc(var(--spacing) * -6);\n }\n .-mx-\\[2px\\] {\n margin-inline: calc(2px * -1);\n }\n .-mx-\\[16px\\] {\n margin-inline: calc(16px * -1);\n }\n .-mx-\\[17px\\] {\n margin-inline: calc(17px * -1);\n }\n .mx-0 {\n margin-inline: calc(var(--spacing) * 0);\n }\n .mx-0\\.5 {\n margin-inline: calc(var(--spacing) * 0.5);\n }\n .mx-1 {\n margin-inline: calc(var(--spacing) * 1);\n }\n .mx-2 {\n margin-inline: calc(var(--spacing) * 2);\n }\n .mx-3 {\n margin-inline: calc(var(--spacing) * 3);\n }\n .mx-3\\.5 {\n margin-inline: calc(var(--spacing) * 3.5);\n }\n .mx-4 {\n margin-inline: calc(var(--spacing) * 4);\n }\n .mx-5 {\n margin-inline: calc(var(--spacing) * 5);\n }\n .mx-\\[2px\\] {\n margin-inline: 2px;\n }\n .mx-\\[6px\\] {\n margin-inline: 6px;\n }\n .mx-\\[20px\\] {\n margin-inline: 20px;\n }\n .mx-\\[22px\\] {\n margin-inline: 22px;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .-my-1\\.5 {\n margin-block: calc(var(--spacing) * -1.5);\n }\n .-my-2 {\n margin-block: calc(var(--spacing) * -2);\n }\n .-my-3 {\n margin-block: calc(var(--spacing) * -3);\n }\n .-my-5 {\n margin-block: calc(var(--spacing) * -5);\n }\n .my-0 {\n margin-block: calc(var(--spacing) * 0);\n }\n .my-0\\.5 {\n margin-block: calc(var(--spacing) * 0.5);\n }\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n .my-3 {\n margin-block: calc(var(--spacing) * 3);\n }\n .my-4 {\n margin-block: calc(var(--spacing) * 4);\n }\n .my-5 {\n margin-block: calc(var(--spacing) * 5);\n }\n .my-6 {\n margin-block: calc(var(--spacing) * 6);\n }\n .my-10 {\n margin-block: calc(var(--spacing) * 10);\n }\n .my-\\[1px\\] {\n margin-block: 1px;\n }\n .my-\\[10px\\] {\n margin-block: 10px;\n }\n .-mt-0\\.5 {\n margin-top: calc(var(--spacing) * -0.5);\n }\n .-mt-1 {\n margin-top: calc(var(--spacing) * -1);\n }\n .-mt-2 {\n margin-top: calc(var(--spacing) * -2);\n }\n .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n .-mt-6 {\n margin-top: calc(var(--spacing) * -6);\n }\n .-mt-\\[6px\\] {\n margin-top: calc(6px * -1);\n }\n .mt-0 {\n margin-top: calc(var(--spacing) * 0);\n }\n .mt-0\\.5 {\n margin-top: calc(var(--spacing) * 0.5);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-1\\.5 {\n margin-top: calc(var(--spacing) * 1.5);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-2\\.5 {\n margin-top: calc(var(--spacing) * 2.5);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mt-3\\.5 {\n margin-top: calc(var(--spacing) * 3.5);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mt-7 {\n margin-top: calc(var(--spacing) * 7);\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n .mt-9 {\n margin-top: calc(var(--spacing) * 9);\n }\n .mt-10 {\n margin-top: calc(var(--spacing) * 10);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mt-12 {\n margin-top: calc(var(--spacing) * 12);\n }\n .mt-14 {\n margin-top: calc(var(--spacing) * 14);\n }\n .mt-\\[-2px\\] {\n margin-top: -2px;\n }\n .mt-\\[1px\\] {\n margin-top: 1px;\n }\n .mt-\\[2px\\] {\n margin-top: 2px;\n }\n .mt-\\[3px\\] {\n margin-top: 3px;\n }\n .mt-\\[4px\\] {\n margin-top: 4px;\n }\n .mt-\\[5px\\] {\n margin-top: 5px;\n }\n .mt-\\[6px\\] {\n margin-top: 6px;\n }\n .mt-\\[7px\\] {\n margin-top: 7px;\n }\n .mt-\\[8px\\] {\n margin-top: 8px;\n }\n .mt-\\[10px\\] {\n margin-top: 10px;\n }\n .mt-\\[11px\\] {\n margin-top: 11px;\n }\n .mt-\\[12px\\] {\n margin-top: 12px;\n }\n .mt-\\[14px\\] {\n margin-top: 14px;\n }\n .mt-\\[16px\\] {\n margin-top: 16px;\n }\n .mt-\\[18px\\] {\n margin-top: 18px;\n }\n .mt-\\[20px\\] {\n margin-top: 20px;\n }\n .mt-\\[22px\\] {\n margin-top: 22px;\n }\n .mt-auto {\n margin-top: auto;\n }\n .mt-px {\n margin-top: 1px;\n }\n .-mr-4 {\n margin-right: calc(var(--spacing) * -4);\n }\n .-mr-px {\n margin-right: -1px;\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-0\\.5 {\n margin-right: calc(var(--spacing) * 0.5);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-1\\.5 {\n margin-right: calc(var(--spacing) * 1.5);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mr-2\\.5 {\n margin-right: calc(var(--spacing) * 2.5);\n }\n .mr-3 {\n margin-right: calc(var(--spacing) * 3);\n }\n .mr-4 {\n margin-right: calc(var(--spacing) * 4);\n }\n .mr-16 {\n margin-right: calc(var(--spacing) * 16);\n }\n .mr-\\[4px\\] {\n margin-right: 4px;\n }\n .mr-\\[6px\\] {\n margin-right: 6px;\n }\n .mr-\\[7px\\] {\n margin-right: 7px;\n }\n .mr-\\[24px\\] {\n margin-right: 24px;\n }\n .mr-auto {\n margin-right: auto;\n }\n .-mb-\\[1\\.5px\\] {\n margin-bottom: calc(1.5px * -1);\n }\n .-mb-\\[16px\\] {\n margin-bottom: calc(16px * -1);\n }\n .-mb-px {\n margin-bottom: -1px;\n }\n .mb-0 {\n margin-bottom: calc(var(--spacing) * 0);\n }\n .mb-0\\.5 {\n margin-bottom: calc(var(--spacing) * 0.5);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-2\\.5 {\n margin-bottom: calc(var(--spacing) * 2.5);\n }\n .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n .mb-3\\.5 {\n margin-bottom: calc(var(--spacing) * 3.5);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-5 {\n margin-bottom: calc(var(--spacing) * 5);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .mb-7 {\n margin-bottom: calc(var(--spacing) * 7);\n }\n .mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n }\n .mb-10 {\n margin-bottom: calc(var(--spacing) * 10);\n }\n .mb-\\[1px\\] {\n margin-bottom: 1px;\n }\n .mb-\\[2px\\] {\n margin-bottom: 2px;\n }\n .mb-\\[3px\\] {\n margin-bottom: 3px;\n }\n .mb-\\[4px\\] {\n margin-bottom: 4px;\n }\n .mb-\\[5px\\] {\n margin-bottom: 5px;\n }\n .mb-\\[6px\\] {\n margin-bottom: 6px;\n }\n .mb-\\[7px\\] {\n margin-bottom: 7px;\n }\n .mb-\\[8px\\] {\n margin-bottom: 8px;\n }\n .mb-\\[9px\\] {\n margin-bottom: 9px;\n }\n .mb-\\[10px\\] {\n margin-bottom: 10px;\n }\n .mb-\\[11px\\] {\n margin-bottom: 11px;\n }\n .mb-\\[12px\\] {\n margin-bottom: 12px;\n }\n .mb-\\[14px\\] {\n margin-bottom: 14px;\n }\n .mb-\\[16px\\] {\n margin-bottom: 16px;\n }\n .mb-\\[18px\\] {\n margin-bottom: 18px;\n }\n .mb-\\[20px\\] {\n margin-bottom: 20px;\n }\n .mb-\\[24px\\] {\n margin-bottom: 24px;\n }\n .mb-\\[32px\\] {\n margin-bottom: 32px;\n }\n .-ml-0\\.5 {\n margin-left: calc(var(--spacing) * -0.5);\n }\n .-ml-1 {\n margin-left: calc(var(--spacing) * -1);\n }\n .-ml-2 {\n margin-left: calc(var(--spacing) * -2);\n }\n .-ml-\\[3px\\] {\n margin-left: calc(3px * -1);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-0\\.5 {\n margin-left: calc(var(--spacing) * 0.5);\n }\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n .ml-1\\.5 {\n margin-left: calc(var(--spacing) * 1.5);\n }\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n .ml-3 {\n margin-left: calc(var(--spacing) * 3);\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .ml-5 {\n margin-left: calc(var(--spacing) * 5);\n }\n .ml-6 {\n margin-left: calc(var(--spacing) * 6);\n }\n .ml-7 {\n margin-left: calc(var(--spacing) * 7);\n }\n .ml-10 {\n margin-left: calc(var(--spacing) * 10);\n }\n .ml-28 {\n margin-left: calc(var(--spacing) * 28);\n }\n .ml-43 {\n margin-left: calc(var(--spacing) * 43);\n }\n .ml-\\[2px\\] {\n margin-left: 2px;\n }\n .ml-\\[4px\\] {\n margin-left: 4px;\n }\n .ml-\\[5px\\] {\n margin-left: 5px;\n }\n .ml-\\[6px\\] {\n margin-left: 6px;\n }\n .ml-\\[7px\\] {\n margin-left: 7px;\n }\n .ml-\\[8px\\] {\n margin-left: 8px;\n }\n .ml-\\[18px\\] {\n margin-left: 18px;\n }\n .ml-\\[28px\\] {\n margin-left: 28px;\n }\n .ml-\\[40px\\] {\n margin-left: 40px;\n }\n .ml-auto {\n margin-left: auto;\n }\n .box-border {\n box-sizing: border-box;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .contents\\! {\n display: contents !important;\n }\n .flex {\n display: flex;\n }\n .flow-root {\n display: flow-root;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .list-item {\n display: list-item;\n }\n .table {\n display: table;\n }\n .table-caption {\n display: table-caption;\n }\n .table-cell {\n display: table-cell;\n }\n .table-row {\n display: table-row;\n }\n .field-sizing-content {\n field-sizing: content;\n }\n .aspect-\\[4\\/5\\] {\n aspect-ratio: 4/5;\n }\n .aspect-\\[5\\/2\\] {\n aspect-ratio: 5/2;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .size-1\\.5 {\n width: calc(var(--spacing) * 1.5);\n height: calc(var(--spacing) * 1.5);\n }\n .size-2 {\n width: calc(var(--spacing) * 2);\n height: calc(var(--spacing) * 2);\n }\n .size-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n .size-3 {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n .size-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .size-5 {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n .size-6 {\n width: calc(var(--spacing) * 6);\n height: calc(var(--spacing) * 6);\n }\n .size-7 {\n width: calc(var(--spacing) * 7);\n height: calc(var(--spacing) * 7);\n }\n .size-8 {\n width: calc(var(--spacing) * 8);\n height: calc(var(--spacing) * 8);\n }\n .size-9 {\n width: calc(var(--spacing) * 9);\n height: calc(var(--spacing) * 9);\n }\n .size-10 {\n width: calc(var(--spacing) * 10);\n height: calc(var(--spacing) * 10);\n }\n .size-12 {\n width: calc(var(--spacing) * 12);\n height: calc(var(--spacing) * 12);\n }\n .size-14 {\n width: calc(var(--spacing) * 14);\n height: calc(var(--spacing) * 14);\n }\n .size-\\[6px\\] {\n width: 6px;\n height: 6px;\n }\n .size-\\[7px\\] {\n width: 7px;\n height: 7px;\n }\n .size-\\[8px\\] {\n width: 8px;\n height: 8px;\n }\n .size-\\[9px\\] {\n width: 9px;\n height: 9px;\n }\n .size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .size-\\[11px\\] {\n width: 11px;\n height: 11px;\n }\n .size-\\[12px\\] {\n width: 12px;\n height: 12px;\n }\n .size-\\[13px\\] {\n width: 13px;\n height: 13px;\n }\n .size-\\[14px\\] {\n width: 14px;\n height: 14px;\n }\n .size-\\[15px\\] {\n width: 15px;\n height: 15px;\n }\n .size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .size-\\[20px\\] {\n width: 20px;\n height: 20px;\n }\n .size-\\[22px\\] {\n width: 22px;\n height: 22px;\n }\n .size-\\[30px\\] {\n width: 30px;\n height: 30px;\n }\n .size-\\[40px\\] {\n width: 40px;\n height: 40px;\n }\n .size-\\[44px\\] {\n width: 44px;\n height: 44px;\n }\n .size-\\[60px\\] {\n width: 60px;\n height: 60px;\n }\n .size-full {\n width: 100%;\n height: 100%;\n }\n .\\!h-screen {\n height: 100vh !important;\n }\n .h-0 {\n height: calc(var(--spacing) * 0);\n }\n .h-0\\.5 {\n height: calc(var(--spacing) * 0.5);\n }\n .h-1 {\n height: calc(var(--spacing) * 1);\n }\n .h-1\\.5 {\n height: calc(var(--spacing) * 1.5);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-2\\.5 {\n height: calc(var(--spacing) * 2.5);\n }\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-4\\.5 {\n height: calc(var(--spacing) * 4.5);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-11 {\n height: calc(var(--spacing) * 11);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-20 {\n height: calc(var(--spacing) * 20);\n }\n .h-24 {\n height: calc(var(--spacing) * 24);\n }\n .h-28 {\n height: calc(var(--spacing) * 28);\n }\n .h-32 {\n height: calc(var(--spacing) * 32);\n }\n .h-40 {\n height: calc(var(--spacing) * 40);\n }\n .h-44 {\n height: calc(var(--spacing) * 44);\n }\n .h-48 {\n height: calc(var(--spacing) * 48);\n }\n .h-64 {\n height: calc(var(--spacing) * 64);\n }\n .h-72 {\n height: calc(var(--spacing) * 72);\n }\n .h-80 {\n height: calc(var(--spacing) * 80);\n }\n .h-96 {\n height: calc(var(--spacing) * 96);\n }\n .h-\\[2\\.5px\\] {\n height: 2.5px;\n }\n .h-\\[2px\\] {\n height: 2px;\n }\n .h-\\[3px\\] {\n height: 3px;\n }\n .h-\\[4px\\] {\n height: 4px;\n }\n .h-\\[5px\\] {\n height: 5px;\n }\n .h-\\[6px\\] {\n height: 6px;\n }\n .h-\\[7px\\] {\n height: 7px;\n }\n .h-\\[8px\\] {\n height: 8px;\n }\n .h-\\[9px\\] {\n height: 9px;\n }\n .h-\\[10px\\] {\n height: 10px;\n }\n .h-\\[11px\\] {\n height: 11px;\n }\n .h-\\[12px\\] {\n height: 12px;\n }\n .h-\\[13px\\] {\n height: 13px;\n }\n .h-\\[14px\\] {\n height: 14px;\n }\n .h-\\[15\\.33px\\] {\n height: 15.33px;\n }\n .h-\\[15px\\] {\n height: 15px;\n }\n .h-\\[16px\\] {\n height: 16px;\n }\n .h-\\[17px\\] {\n height: 17px;\n }\n .h-\\[18px\\] {\n height: 18px;\n }\n .h-\\[20px\\] {\n height: 20px;\n }\n .h-\\[22px\\] {\n height: 22px;\n }\n .h-\\[24px\\] {\n height: 24px;\n }\n .h-\\[25px\\] {\n height: 25px;\n }\n .h-\\[26px\\] {\n height: 26px;\n }\n .h-\\[28px\\] {\n height: 28px;\n }\n .h-\\[29px\\] {\n height: 29px;\n }\n .h-\\[30px\\] {\n height: 30px;\n }\n .h-\\[32px\\] {\n height: 32px;\n }\n .h-\\[34px\\] {\n height: 34px;\n }\n .h-\\[35px\\] {\n height: 35px;\n }\n .h-\\[36px\\] {\n height: 36px;\n }\n .h-\\[38px\\] {\n height: 38px;\n }\n .h-\\[40px\\] {\n height: 40px;\n }\n .h-\\[41px\\] {\n height: 41px;\n }\n .h-\\[42px\\] {\n height: 42px;\n }\n .h-\\[48px\\] {\n height: 48px;\n }\n .h-\\[50px\\] {\n height: 50px;\n }\n .h-\\[52px\\] {\n height: 52px;\n }\n .h-\\[53px\\] {\n height: 53px;\n }\n .h-\\[54px\\] {\n height: 54px;\n }\n .h-\\[60px\\] {\n height: 60px;\n }\n .h-\\[60vh\\] {\n height: 60vh;\n }\n .h-\\[64px\\] {\n height: 64px;\n }\n .h-\\[68px\\] {\n height: 68px;\n }\n .h-\\[70px\\] {\n height: 70px;\n }\n .h-\\[70vh\\] {\n height: 70vh;\n }\n .h-\\[74px\\] {\n height: 74px;\n }\n .h-\\[85vh\\] {\n height: 85vh;\n }\n .h-\\[90px\\] {\n height: 90px;\n }\n .h-\\[92vh\\] {\n height: 92vh;\n }\n .h-\\[100vh\\] {\n height: 100vh;\n }\n .h-\\[108px\\] {\n height: 108px;\n }\n .h-\\[110px\\] {\n height: 110px;\n }\n .h-\\[150px\\] {\n height: 150px;\n }\n .h-\\[162px\\] {\n height: 162px;\n }\n .h-\\[180px\\] {\n height: 180px;\n }\n .h-\\[190px\\] {\n height: 190px;\n }\n .h-\\[200px\\] {\n height: 200px;\n }\n .h-\\[225px\\] {\n height: 225px;\n }\n .h-\\[250px\\] {\n height: 250px;\n }\n .h-\\[260px\\] {\n height: 260px;\n }\n .h-\\[262px\\] {\n height: 262px;\n }\n .h-\\[280px\\] {\n height: 280px;\n }\n .h-\\[300px\\] {\n height: 300px;\n }\n .h-\\[320px\\] {\n height: 320px;\n }\n .h-\\[340px\\] {\n height: 340px;\n }\n .h-\\[390px\\] {\n height: 390px;\n }\n .h-\\[400px\\] {\n height: 400px;\n }\n .h-\\[500px\\] {\n height: 500px;\n }\n .h-\\[600px\\] {\n height: 600px;\n }\n .h-\\[640px\\] {\n height: 640px;\n }\n .h-\\[720px\\] {\n height: 720px;\n }\n .h-\\[800px\\] {\n height: 800px;\n }\n .h-\\[calc-size\\(max-content\\,size\\)\\] {\n height: calc-size(max-content,size);\n }\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n .h-auto {\n height: auto;\n }\n .h-fit {\n height: fit-content;\n }\n .h-full {\n height: 100%;\n }\n .h-px {\n height: 1px;\n }\n .h-screen {\n height: 100vh;\n }\n .h-svh {\n height: 100svh;\n }\n .max-h-0 {\n max-height: calc(var(--spacing) * 0);\n }\n .max-h-4 {\n max-height: calc(var(--spacing) * 4);\n }\n .max-h-40 {\n max-height: calc(var(--spacing) * 40);\n }\n .max-h-48 {\n max-height: calc(var(--spacing) * 48);\n }\n .max-h-56 {\n max-height: calc(var(--spacing) * 56);\n }\n .max-h-60 {\n max-height: calc(var(--spacing) * 60);\n }\n .max-h-64 {\n max-height: calc(var(--spacing) * 64);\n }\n .max-h-72 {\n max-height: calc(var(--spacing) * 72);\n }\n .max-h-80 {\n max-height: calc(var(--spacing) * 80);\n }\n .max-h-96 {\n max-height: calc(var(--spacing) * 96);\n }\n .max-h-\\[--radix-select-content-available-height\\] {\n max-height: --radix-select-content-available-height;\n }\n .max-h-\\[20\\.5rem\\] {\n max-height: 20.5rem;\n }\n .max-h-\\[28px\\] {\n max-height: 28px;\n }\n .max-h-\\[40em\\] {\n max-height: 40em;\n }\n .max-h-\\[40vh\\] {\n max-height: 40vh;\n }\n .max-h-\\[45vh\\] {\n max-height: 45vh;\n }\n .max-h-\\[56vh\\] {\n max-height: 56vh;\n }\n .max-h-\\[60vh\\] {\n max-height: 60vh;\n }\n .max-h-\\[75vh\\] {\n max-height: 75vh;\n }\n .max-h-\\[80vh\\] {\n max-height: 80vh;\n }\n .max-h-\\[85vh\\] {\n max-height: 85vh;\n }\n .max-h-\\[86vh\\] {\n max-height: 86vh;\n }\n .max-h-\\[90vh\\] {\n max-height: 90vh;\n }\n .max-h-\\[92vh\\] {\n max-height: 92vh;\n }\n .max-h-\\[95vh\\] {\n max-height: 95vh;\n }\n .max-h-\\[180px\\] {\n max-height: 180px;\n }\n .max-h-\\[190px\\] {\n max-height: 190px;\n }\n .max-h-\\[200px\\] {\n max-height: 200px;\n }\n .max-h-\\[206px\\] {\n max-height: 206px;\n }\n .max-h-\\[248px\\] {\n max-height: 248px;\n }\n .max-h-\\[260px\\] {\n max-height: 260px;\n }\n .max-h-\\[280px\\] {\n max-height: 280px;\n }\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n .max-h-\\[420px\\] {\n max-height: 420px;\n }\n .max-h-\\[460px\\] {\n max-height: 460px;\n }\n .max-h-\\[611px\\] {\n max-height: 611px;\n }\n .max-h-\\[612px\\] {\n max-height: 612px;\n }\n .max-h-\\[700px\\] {\n max-height: 700px;\n }\n .max-h-\\[calc\\(100vh-320px\\)\\] {\n max-height: calc(100vh - 320px);\n }\n .max-h-\\[var\\(--radix-dropdown-menu-content-available-height\\)\\] {\n max-height: var(--radix-dropdown-menu-content-available-height);\n }\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .min-h-6 {\n min-height: calc(var(--spacing) * 6);\n }\n .min-h-8 {\n min-height: calc(var(--spacing) * 8);\n }\n .min-h-9 {\n min-height: calc(var(--spacing) * 9);\n }\n .min-h-10 {\n min-height: calc(var(--spacing) * 10);\n }\n .min-h-16 {\n min-height: calc(var(--spacing) * 16);\n }\n .min-h-48 {\n min-height: calc(var(--spacing) * 48);\n }\n .min-h-\\[1rem\\] {\n min-height: 1rem;\n }\n .min-h-\\[2\\.25rem\\] {\n min-height: 2.25rem;\n }\n .min-h-\\[7rem\\] {\n min-height: 7rem;\n }\n .min-h-\\[24px\\] {\n min-height: 24px;\n }\n .min-h-\\[28px\\] {\n min-height: 28px;\n }\n .min-h-\\[32px\\] {\n min-height: 32px;\n }\n .min-h-\\[48px\\] {\n min-height: 48px;\n }\n .min-h-\\[50vh\\] {\n min-height: 50vh;\n }\n .min-h-\\[60px\\] {\n min-height: 60px;\n }\n .min-h-\\[60vh\\] {\n min-height: 60vh;\n }\n .min-h-\\[120px\\] {\n min-height: 120px;\n }\n .min-h-\\[180px\\] {\n min-height: 180px;\n }\n .min-h-\\[190px\\] {\n min-height: 190px;\n }\n .min-h-\\[220px\\] {\n min-height: 220px;\n }\n .min-h-\\[300px\\] {\n min-height: 300px;\n }\n .min-h-\\[360px\\] {\n min-height: 360px;\n }\n .min-h-\\[400px\\] {\n min-height: 400px;\n }\n .min-h-\\[420px\\] {\n min-height: 420px;\n }\n .min-h-\\[600px\\] {\n min-height: 600px;\n }\n .min-h-\\[calc\\(100svh-20px\\)\\] {\n min-height: calc(100svh - 20px);\n }\n .min-h-\\[calc\\(100vh-56px\\)\\] {\n min-height: calc(100vh - 56px);\n }\n .min-h-full {\n min-height: 100%;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .min-h-svh {\n min-height: 100svh;\n }\n .\\!w-screen {\n width: 100vw !important;\n }\n .w-\\(--radix-dropdown-menu-trigger-width\\) {\n width: var(--radix-dropdown-menu-trigger-width);\n }\n .w-\\(--sidebar-width\\) {\n width: var(--sidebar-width);\n }\n .w-1 {\n width: calc(var(--spacing) * 1);\n }\n .w-1\\.5 {\n width: calc(var(--spacing) * 1.5);\n }\n .w-1\\/2 {\n width: calc(1/2 * 100%);\n }\n .w-1\\/4 {\n width: calc(1/4 * 100%);\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n }\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n .w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n }\n .w-3\\/4 {\n width: calc(3/4 * 100%);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-4\\.5 {\n width: calc(var(--spacing) * 4.5);\n }\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-7 {\n width: calc(var(--spacing) * 7);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n .w-11 {\n width: calc(var(--spacing) * 11);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-13 {\n width: calc(var(--spacing) * 13);\n }\n .w-14 {\n width: calc(var(--spacing) * 14);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-28 {\n width: calc(var(--spacing) * 28);\n }\n .w-30 {\n width: calc(var(--spacing) * 30);\n }\n .w-32 {\n width: calc(var(--spacing) * 32);\n }\n .w-36 {\n width: calc(var(--spacing) * 36);\n }\n .w-40 {\n width: calc(var(--spacing) * 40);\n }\n .w-44 {\n width: calc(var(--spacing) * 44);\n }\n .w-48 {\n width: calc(var(--spacing) * 48);\n }\n .w-55 {\n width: calc(var(--spacing) * 55);\n }\n .w-56 {\n width: calc(var(--spacing) * 56);\n }\n .w-60 {\n width: calc(var(--spacing) * 60);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n .w-80 {\n width: calc(var(--spacing) * 80);\n }\n .w-96 {\n width: calc(var(--spacing) * 96);\n }\n .w-240 {\n width: calc(var(--spacing) * 240);\n }\n .w-\\[--radix-popover-trigger-width\\] {\n width: --radix-popover-trigger-width;\n }\n .w-\\[1\\%\\] {\n width: 1%;\n }\n .w-\\[1\\.5px\\] {\n width: 1.5px;\n }\n .w-\\[1px\\] {\n width: 1px;\n }\n .w-\\[2\\.5px\\] {\n width: 2.5px;\n }\n .w-\\[2px\\] {\n width: 2px;\n }\n .w-\\[3px\\] {\n width: 3px;\n }\n .w-\\[5px\\] {\n width: 5px;\n }\n .w-\\[7px\\] {\n width: 7px;\n }\n .w-\\[8px\\] {\n width: 8px;\n }\n .w-\\[9px\\] {\n width: 9px;\n }\n .w-\\[10px\\] {\n width: 10px;\n }\n .w-\\[11px\\] {\n width: 11px;\n }\n .w-\\[12px\\] {\n width: 12px;\n }\n .w-\\[13px\\] {\n width: 13px;\n }\n .w-\\[14\\.8\\%\\] {\n width: 14.8%;\n }\n .w-\\[14px\\] {\n width: 14px;\n }\n .w-\\[15\\.33px\\] {\n width: 15.33px;\n }\n .w-\\[15px\\] {\n width: 15px;\n }\n .w-\\[16px\\] {\n width: 16px;\n }\n .w-\\[18px\\] {\n width: 18px;\n }\n .w-\\[20px\\] {\n width: 20px;\n }\n .w-\\[22px\\] {\n width: 22px;\n }\n .w-\\[24px\\] {\n width: 24px;\n }\n .w-\\[26\\%\\] {\n width: 26%;\n }\n .w-\\[26px\\] {\n width: 26px;\n }\n .w-\\[28px\\] {\n width: 28px;\n }\n .w-\\[30\\%\\] {\n width: 30%;\n }\n .w-\\[30px\\] {\n width: 30px;\n }\n .w-\\[35px\\] {\n width: 35px;\n }\n .w-\\[38\\%\\] {\n width: 38%;\n }\n .w-\\[38px\\] {\n width: 38px;\n }\n .w-\\[40px\\] {\n width: 40px;\n }\n .w-\\[42px\\] {\n width: 42px;\n }\n .w-\\[44px\\] {\n width: 44px;\n }\n .w-\\[45\\%\\] {\n width: 45%;\n }\n .w-\\[46px\\] {\n width: 46px;\n }\n .w-\\[48px\\] {\n width: 48px;\n }\n .w-\\[50px\\] {\n width: 50px;\n }\n .w-\\[52px\\] {\n width: 52px;\n }\n .w-\\[54px\\] {\n width: 54px;\n }\n .w-\\[60px\\] {\n width: 60px;\n }\n .w-\\[62px\\] {\n width: 62px;\n }\n .w-\\[64px\\] {\n width: 64px;\n }\n .w-\\[66px\\] {\n width: 66px;\n }\n .w-\\[70\\%\\] {\n width: 70%;\n }\n .w-\\[70px\\] {\n width: 70px;\n }\n .w-\\[72px\\] {\n width: 72px;\n }\n .w-\\[74px\\] {\n width: 74px;\n }\n .w-\\[75px\\] {\n width: 75px;\n }\n .w-\\[80px\\] {\n width: 80px;\n }\n .w-\\[84px\\] {\n width: 84px;\n }\n .w-\\[86px\\] {\n width: 86px;\n }\n .w-\\[88px\\] {\n width: 88px;\n }\n .w-\\[90px\\] {\n width: 90px;\n }\n .w-\\[95vw\\] {\n width: 95vw;\n }\n .w-\\[96px\\] {\n width: 96px;\n }\n .w-\\[100px\\] {\n width: 100px;\n }\n .w-\\[100vw\\] {\n width: 100vw;\n }\n .w-\\[110px\\] {\n width: 110px;\n }\n .w-\\[112px\\] {\n width: 112px;\n }\n .w-\\[120px\\] {\n width: 120px;\n }\n .w-\\[124px\\] {\n width: 124px;\n }\n .w-\\[126px\\] {\n width: 126px;\n }\n .w-\\[128px\\] {\n width: 128px;\n }\n .w-\\[130px\\] {\n width: 130px;\n }\n .w-\\[132px\\] {\n width: 132px;\n }\n .w-\\[140px\\] {\n width: 140px;\n }\n .w-\\[145px\\] {\n width: 145px;\n }\n .w-\\[148px\\] {\n width: 148px;\n }\n .w-\\[150px\\] {\n width: 150px;\n }\n .w-\\[158px\\] {\n width: 158px;\n }\n .w-\\[160px\\] {\n width: 160px;\n }\n .w-\\[165px\\] {\n width: 165px;\n }\n .w-\\[168px\\] {\n width: 168px;\n }\n .w-\\[170px\\] {\n width: 170px;\n }\n .w-\\[178px\\] {\n width: 178px;\n }\n .w-\\[180px\\] {\n width: 180px;\n }\n .w-\\[190px\\] {\n width: 190px;\n }\n .w-\\[200px\\] {\n width: 200px;\n }\n .w-\\[210px\\] {\n width: 210px;\n }\n .w-\\[220px\\] {\n width: 220px;\n }\n .w-\\[230px\\] {\n width: 230px;\n }\n .w-\\[240px\\] {\n width: 240px;\n }\n .w-\\[250px\\] {\n width: 250px;\n }\n .w-\\[260px\\] {\n width: 260px;\n }\n .w-\\[268px\\] {\n width: 268px;\n }\n .w-\\[280px\\] {\n width: 280px;\n }\n .w-\\[300px\\] {\n width: 300px;\n }\n .w-\\[301px\\] {\n width: 301px;\n }\n .w-\\[320px\\] {\n width: 320px;\n }\n .w-\\[333px\\] {\n width: 333px;\n }\n .w-\\[336px\\] {\n width: 336px;\n }\n .w-\\[340px\\] {\n width: 340px;\n }\n .w-\\[370px\\] {\n width: 370px;\n }\n .w-\\[380px\\] {\n width: 380px;\n }\n .w-\\[400px\\] {\n width: 400px;\n }\n .w-\\[420px\\] {\n width: 420px;\n }\n .w-\\[440px\\] {\n width: 440px;\n }\n .w-\\[480px\\] {\n width: 480px;\n }\n .w-\\[492px\\] {\n width: 492px;\n }\n .w-\\[500px\\] {\n width: 500px;\n }\n .w-\\[520px\\] {\n width: 520px;\n }\n .w-\\[540px\\] {\n width: 540px;\n }\n .w-\\[544px\\] {\n width: 544px;\n }\n .w-\\[573px\\] {\n width: 573px;\n }\n .w-\\[600px\\] {\n width: 600px;\n }\n .w-\\[688px\\] {\n width: 688px;\n }\n .w-\\[880px\\] {\n width: 880px;\n }\n .w-\\[1080px\\] {\n width: 1080px;\n }\n .w-\\[calc\\(100\\%\\+0\\.5rem\\)\\] {\n width: calc(100% + 0.5rem);\n }\n .w-auto {\n width: auto;\n }\n .w-auto\\! {\n width: auto !important;\n }\n .w-fit {\n width: fit-content;\n }\n .w-full {\n width: 100%;\n }\n .w-max {\n width: max-content;\n }\n .w-min {\n width: min-content;\n }\n .w-px {\n width: 1px;\n }\n .w-screen {\n width: 100vw;\n }\n .\\!max-w-\\[860px\\] {\n max-width: 860px !important;\n }\n .\\!max-w-none {\n max-width: none !important;\n }\n .max-w-\\(--skeleton-width\\) {\n max-width: var(--skeleton-width);\n }\n .max-w-0 {\n max-width: calc(var(--spacing) * 0);\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-3xl {\n max-width: var(--container-3xl);\n }\n .max-w-4 {\n max-width: calc(var(--spacing) * 4);\n }\n .max-w-4xl {\n max-width: var(--container-4xl);\n }\n .max-w-5xl {\n max-width: var(--container-5xl);\n }\n .max-w-5xl\\! {\n max-width: var(--container-5xl) !important;\n }\n .max-w-6xl {\n max-width: var(--container-6xl);\n }\n .max-w-7xl {\n max-width: var(--container-7xl);\n }\n .max-w-12 {\n max-width: calc(var(--spacing) * 12);\n }\n .max-w-80 {\n max-width: calc(var(--spacing) * 80);\n }\n .max-w-\\[10rem\\] {\n max-width: 10rem;\n }\n .max-w-\\[12rem\\] {\n max-width: 12rem;\n }\n .max-w-\\[30px\\] {\n max-width: 30px;\n }\n .max-w-\\[40px\\] {\n max-width: 40px;\n }\n .max-w-\\[50\\%\\] {\n max-width: 50%;\n }\n .max-w-\\[60\\%\\] {\n max-width: 60%;\n }\n .max-w-\\[62\\%\\] {\n max-width: 62%;\n }\n .max-w-\\[65ch\\] {\n max-width: 65ch;\n }\n .max-w-\\[78\\%\\] {\n max-width: 78%;\n }\n .max-w-\\[80\\%\\] {\n max-width: 80%;\n }\n .max-w-\\[92\\%\\] {\n max-width: 92%;\n }\n .max-w-\\[92vw\\] {\n max-width: 92vw;\n }\n .max-w-\\[95vw\\] {\n max-width: 95vw;\n }\n .max-w-\\[100\\%\\] {\n max-width: 100%;\n }\n .max-w-\\[130px\\] {\n max-width: 130px;\n }\n .max-w-\\[140px\\] {\n max-width: 140px;\n }\n .max-w-\\[150px\\] {\n max-width: 150px;\n }\n .max-w-\\[160px\\] {\n max-width: 160px;\n }\n .max-w-\\[170px\\] {\n max-width: 170px;\n }\n .max-w-\\[177px\\] {\n max-width: 177px;\n }\n .max-w-\\[180px\\] {\n max-width: 180px;\n }\n .max-w-\\[190px\\] {\n max-width: 190px;\n }\n .max-w-\\[200px\\] {\n max-width: 200px;\n }\n .max-w-\\[220px\\] {\n max-width: 220px;\n }\n .max-w-\\[240px\\] {\n max-width: 240px;\n }\n .max-w-\\[250px\\] {\n max-width: 250px;\n }\n .max-w-\\[260px\\] {\n max-width: 260px;\n }\n .max-w-\\[280px\\] {\n max-width: 280px;\n }\n .max-w-\\[320px\\] {\n max-width: 320px;\n }\n .max-w-\\[354px\\] {\n max-width: 354px;\n }\n .max-w-\\[380px\\] {\n max-width: 380px;\n }\n .max-w-\\[384px\\] {\n max-width: 384px;\n }\n .max-w-\\[400px\\] {\n max-width: 400px;\n }\n .max-w-\\[420px\\] {\n max-width: 420px;\n }\n .max-w-\\[440px\\] {\n max-width: 440px;\n }\n .max-w-\\[450px\\] {\n max-width: 450px;\n }\n .max-w-\\[460px\\] {\n max-width: 460px;\n }\n .max-w-\\[480px\\] {\n max-width: 480px;\n }\n .max-w-\\[500px\\] {\n max-width: 500px;\n }\n .max-w-\\[512px\\] {\n max-width: 512px;\n }\n .max-w-\\[520px\\] {\n max-width: 520px;\n }\n .max-w-\\[540px\\] {\n max-width: 540px;\n }\n .max-w-\\[544px\\] {\n max-width: 544px;\n }\n .max-w-\\[560px\\] {\n max-width: 560px;\n }\n .max-w-\\[580px\\] {\n max-width: 580px;\n }\n .max-w-\\[600px\\] {\n max-width: 600px;\n }\n .max-w-\\[640px\\] {\n max-width: 640px;\n }\n .max-w-\\[660px\\] {\n max-width: 660px;\n }\n .max-w-\\[680px\\] {\n max-width: 680px;\n }\n .max-w-\\[700px\\] {\n max-width: 700px;\n }\n .max-w-\\[720px\\] {\n max-width: 720px;\n }\n .max-w-\\[760px\\] {\n max-width: 760px;\n }\n .max-w-\\[791px\\] {\n max-width: 791px;\n }\n .max-w-\\[800px\\] {\n max-width: 800px;\n }\n .max-w-\\[960px\\] {\n max-width: 960px;\n }\n .max-w-\\[1080px\\] {\n max-width: 1080px;\n }\n .max-w-\\[1180px\\] {\n max-width: 1180px;\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n }\n .max-w-\\[min\\(100\\%\\,11rem\\)\\] {\n max-width: min(100%, 11rem);\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-lg {\n max-width: var(--container-lg);\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .max-w-none {\n max-width: none;\n }\n .max-w-sm {\n max-width: var(--container-sm);\n }\n .max-w-xl {\n max-width: var(--container-xl);\n }\n .max-w-xs {\n max-width: var(--container-xs);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .min-w-5 {\n min-width: calc(var(--spacing) * 5);\n }\n .min-w-7 {\n min-width: calc(var(--spacing) * 7);\n }\n .min-w-8 {\n min-width: calc(var(--spacing) * 8);\n }\n .min-w-9 {\n min-width: calc(var(--spacing) * 9);\n }\n .min-w-24 {\n min-width: calc(var(--spacing) * 24);\n }\n .min-w-56 {\n min-width: calc(var(--spacing) * 56);\n }\n .min-w-60 {\n min-width: calc(var(--spacing) * 60);\n }\n .min-w-\\[3px\\] {\n min-width: 3px;\n }\n .min-w-\\[4px\\] {\n min-width: 4px;\n }\n .min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .min-w-\\[20px\\] {\n min-width: 20px;\n }\n .min-w-\\[22px\\] {\n min-width: 22px;\n }\n .min-w-\\[34px\\] {\n min-width: 34px;\n }\n .min-w-\\[44px\\] {\n min-width: 44px;\n }\n .min-w-\\[48px\\] {\n min-width: 48px;\n }\n .min-w-\\[60px\\] {\n min-width: 60px;\n }\n .min-w-\\[85px\\] {\n min-width: 85px;\n }\n .min-w-\\[86px\\] {\n min-width: 86px;\n }\n .min-w-\\[88px\\] {\n min-width: 88px;\n }\n .min-w-\\[96px\\] {\n min-width: 96px;\n }\n .min-w-\\[104px\\] {\n min-width: 104px;\n }\n .min-w-\\[120px\\] {\n min-width: 120px;\n }\n .min-w-\\[140px\\] {\n min-width: 140px;\n }\n .min-w-\\[150px\\] {\n min-width: 150px;\n }\n .min-w-\\[160px\\] {\n min-width: 160px;\n }\n .min-w-\\[168px\\] {\n min-width: 168px;\n }\n .min-w-\\[170px\\] {\n min-width: 170px;\n }\n .min-w-\\[180px\\] {\n min-width: 180px;\n }\n .min-w-\\[200px\\] {\n min-width: 200px;\n }\n .min-w-\\[220px\\] {\n min-width: 220px;\n }\n .min-w-\\[240px\\] {\n min-width: 240px;\n }\n .min-w-\\[270px\\] {\n min-width: 270px;\n }\n .min-w-\\[320px\\] {\n min-width: 320px;\n }\n .min-w-\\[600px\\] {\n min-width: 600px;\n }\n .min-w-\\[700px\\] {\n min-width: 700px;\n }\n .min-w-\\[860px\\] {\n min-width: 860px;\n }\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n .min-w-fit {\n min-width: fit-content;\n }\n .min-w-full {\n min-width: 100%;\n }\n .min-w-max {\n min-width: max-content;\n }\n .min-w-xs {\n min-width: var(--container-xs);\n }\n .flex-0 {\n flex: 0;\n }\n .flex-1 {\n flex: 1;\n }\n .flex-2 {\n flex: 2;\n }\n .flex-\\[0\\] {\n flex: 0;\n }\n .flex-none {\n flex: none;\n }\n .\\!shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-shrink {\n flex-shrink: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .shrink {\n flex-shrink: 1;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .\\!grow-0 {\n flex-grow: 0 !important;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .grow {\n flex-grow: 1;\n }\n .\\!basis-auto {\n flex-basis: auto !important;\n }\n .table-auto {\n table-layout: auto;\n }\n .table-fixed {\n table-layout: fixed;\n }\n .caption-bottom {\n caption-side: bottom;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .border-separate {\n border-collapse: separate;\n }\n .border-spacing-0 {\n --tw-border-spacing-x: calc(var(--spacing) * 0);\n --tw-border-spacing-y: calc(var(--spacing) * 0);\n border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);\n }\n .border-spacing-\\[2px\\] {\n --tw-border-spacing-x: 2px;\n --tw-border-spacing-y: 2px;\n border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);\n }\n .origin-\\(--radix-tooltip-content-transform-origin\\) {\n transform-origin: var(--radix-tooltip-content-transform-origin);\n }\n .origin-\\[--radix-dropdown-menu-content-transform-origin\\] {\n transform-origin: --radix-dropdown-menu-content-transform-origin;\n }\n .origin-\\[--radix-popover-content-transform-origin\\] {\n transform-origin: --radix-popover-content-transform-origin;\n }\n .origin-\\[--radix-select-content-transform-origin\\] {\n transform-origin: --radix-select-content-transform-origin;\n }\n .origin-bottom-right {\n transform-origin: 100% 100%;\n }\n .\\!translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * 0) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-2 {\n --tw-translate-x: calc(var(--spacing) * -2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-full {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-px {\n --tw-translate-x: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-1 {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-1\\/2 {\n --tw-translate-x: calc(1/2 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-6 {\n --tw-translate-x: calc(var(--spacing) * 6);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-full {\n --tw-translate-x: 100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-px {\n --tw-translate-x: 1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .\\!translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-2\\/3 {\n --tw-translate-y: calc(calc(2/3 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0\\.5 {\n --tw-translate-y: calc(var(--spacing) * 0.5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-2 {\n --tw-translate-y: calc(var(--spacing) * 2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[6px\\] {\n --tw-translate-y: 6px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[calc\\(-50\\%_-_2px\\)\\] {\n --tw-translate-y: calc(-50% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-75 {\n --tw-scale-x: 75%;\n --tw-scale-y: 75%;\n --tw-scale-z: 75%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-95 {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .rotate-0 {\n rotate: 0deg;\n }\n .rotate-45 {\n rotate: 45deg;\n }\n .rotate-90 {\n rotate: 90deg;\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-\\[slide-in-from-left_0\\.22s_ease-out\\] {\n animation: slide-in-from-left 0.22s ease-out;\n }\n .animate-\\[slide-in-from-right_0\\.22s_ease-out\\] {\n animation: slide-in-from-right 0.22s ease-out;\n }\n .animate-bounce {\n animation: var(--animate-bounce);\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-col-resize {\n cursor: col-resize;\n }\n .cursor-crosshair {\n cursor: crosshair;\n }\n .cursor-default {\n cursor: default;\n }\n .cursor-grab {\n cursor: grab;\n }\n .cursor-help {\n cursor: help;\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .cursor-zoom-in {\n cursor: zoom-in;\n }\n .touch-none {\n touch-action: none;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .resize-y {\n resize: vertical;\n }\n .snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n }\n .snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n }\n .list-inside {\n list-style-position: inside;\n }\n .list-decimal {\n list-style-type: decimal;\n }\n .list-disc {\n list-style-type: disc;\n }\n .list-none {\n list-style-type: none;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-flow-row {\n grid-auto-flow: row;\n }\n .auto-rows-min {\n grid-auto-rows: min-content;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .grid-cols-\\[0\\.75rem_minmax\\(7rem\\,9rem\\)_minmax\\(8rem\\,12rem\\)_1fr\\] {\n grid-template-columns: 0.75rem minmax(7rem,9rem) minmax(8rem,12rem) 1fr;\n }\n .grid-cols-\\[1fr_2fr\\] {\n grid-template-columns: 1fr 2fr;\n }\n .grid-cols-\\[1fr_auto\\] {\n grid-template-columns: 1fr auto;\n }\n .grid-cols-\\[1fr_auto_auto\\] {\n grid-template-columns: 1fr auto auto;\n }\n .grid-cols-\\[1fr_auto_auto_auto\\] {\n grid-template-columns: 1fr auto auto auto;\n }\n .grid-cols-\\[12rem_1fr\\] {\n grid-template-columns: 12rem 1fr;\n }\n .grid-cols-\\[16px_1fr\\] {\n grid-template-columns: 16px 1fr;\n }\n .grid-cols-\\[96px_1fr_auto\\] {\n grid-template-columns: 96px 1fr auto;\n }\n .grid-cols-\\[132px_1fr_48px\\] {\n grid-template-columns: 132px 1fr 48px;\n }\n .grid-cols-\\[auto_1fr_auto\\] {\n grid-template-columns: auto 1fr auto;\n }\n .grid-cols-\\[auto_1fr_auto_auto\\] {\n grid-template-columns: auto 1fr auto auto;\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-rows-\\[0fr\\] {\n grid-template-rows: 0fr;\n }\n .grid-rows-\\[1fr\\] {\n grid-template-rows: 1fr;\n }\n .grid-rows-\\[auto_auto\\] {\n grid-template-rows: auto auto;\n }\n .grid-rows-\\[repeat\\(6\\,auto\\)\\] {\n grid-template-rows: repeat(6,auto);\n }\n .grid-rows-subgrid {\n grid-template-rows: subgrid;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .place-items-center {\n place-items: center;\n }\n .\\!items-start {\n align-items: flex-start !important;\n }\n .items-baseline {\n align-items: baseline;\n }\n .items-center {\n align-items: center;\n }\n .items-end {\n align-items: flex-end;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .\\!justify-start {\n justify-content: flex-start !important;\n }\n .justify-around {\n justify-content: space-around;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .justify-stretch {\n justify-content: stretch;\n }\n .\\!gap-0 {\n gap: calc(var(--spacing) * 0) !important;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-3\\.5 {\n gap: calc(var(--spacing) * 3.5);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-4\\.5 {\n gap: calc(var(--spacing) * 4.5);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n .gap-10 {\n gap: calc(var(--spacing) * 10);\n }\n .gap-12 {\n gap: calc(var(--spacing) * 12);\n }\n .gap-14 {\n gap: calc(var(--spacing) * 14);\n }\n .gap-20 {\n gap: calc(var(--spacing) * 20);\n }\n .gap-\\[--spacing\\(var\\(--gap\\)\\)\\] {\n gap: calc(var(--spacing) * var(--gap));\n }\n .gap-\\[1px\\] {\n gap: 1px;\n }\n .gap-\\[2px\\] {\n gap: 2px;\n }\n .gap-\\[3px\\] {\n gap: 3px;\n }\n .gap-\\[4px\\] {\n gap: 4px;\n }\n .gap-\\[5px\\] {\n gap: 5px;\n }\n .gap-\\[6px\\] {\n gap: 6px;\n }\n .gap-\\[7px\\] {\n gap: 7px;\n }\n .gap-\\[8px\\] {\n gap: 8px;\n }\n .gap-\\[9px\\] {\n gap: 9px;\n }\n .gap-\\[10px\\] {\n gap: 10px;\n }\n .gap-\\[11px\\] {\n gap: 11px;\n }\n .gap-\\[12px\\] {\n gap: 12px;\n }\n .gap-\\[14px\\] {\n gap: 14px;\n }\n .gap-\\[15px\\] {\n gap: 15px;\n }\n .gap-\\[16px\\] {\n gap: 16px;\n }\n .gap-\\[18px\\] {\n gap: 18px;\n }\n .gap-\\[20px\\] {\n gap: 20px;\n }\n .gap-\\[24px\\] {\n gap: 24px;\n }\n .gap-\\[40px\\] {\n gap: 40px;\n }\n .gap-px {\n gap: 1px;\n }\n .space-y-0 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-0\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-1 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-1\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-8 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-\\[6px\\] {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(6px * var(--tw-space-y-reverse));\n margin-block-end: calc(6px * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-\\[7px\\] {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(7px * var(--tw-space-y-reverse));\n margin-block-end: calc(7px * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-\\[12px\\] {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(12px * var(--tw-space-y-reverse));\n margin-block-end: calc(12px * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-\\[14px\\] {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(14px * var(--tw-space-y-reverse));\n margin-block-end: calc(14px * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .gap-x-1\\.5 {\n column-gap: calc(var(--spacing) * 1.5);\n }\n .gap-x-2 {\n column-gap: calc(var(--spacing) * 2);\n }\n .gap-x-2\\.5 {\n column-gap: calc(var(--spacing) * 2.5);\n }\n .gap-x-3 {\n column-gap: calc(var(--spacing) * 3);\n }\n .gap-x-4 {\n column-gap: calc(var(--spacing) * 4);\n }\n .gap-x-5 {\n column-gap: calc(var(--spacing) * 5);\n }\n .gap-x-6 {\n column-gap: calc(var(--spacing) * 6);\n }\n .gap-x-12 {\n column-gap: calc(var(--spacing) * 12);\n }\n .gap-x-\\[12px\\] {\n column-gap: 12px;\n }\n .gap-x-\\[14px\\] {\n column-gap: 14px;\n }\n .gap-x-\\[18px\\] {\n column-gap: 18px;\n }\n .-space-x-4 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * -4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * -4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .-space-x-px {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(-1px * var(--tw-space-x-reverse));\n margin-inline-end: calc(-1px * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-3 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-4 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-5 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 5) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-6 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .gap-y-1 {\n row-gap: calc(var(--spacing) * 1);\n }\n .gap-y-1\\.5 {\n row-gap: calc(var(--spacing) * 1.5);\n }\n .gap-y-2 {\n row-gap: calc(var(--spacing) * 2);\n }\n .gap-y-3 {\n row-gap: calc(var(--spacing) * 3);\n }\n .gap-y-4 {\n row-gap: calc(var(--spacing) * 4);\n }\n .gap-y-5 {\n row-gap: calc(var(--spacing) * 5);\n }\n .gap-y-6 {\n row-gap: calc(var(--spacing) * 6);\n }\n .gap-y-7 {\n row-gap: calc(var(--spacing) * 7);\n }\n .gap-y-8 {\n row-gap: calc(var(--spacing) * 8);\n }\n .gap-y-\\[2px\\] {\n row-gap: 2px;\n }\n .gap-y-\\[4px\\] {\n row-gap: 4px;\n }\n .gap-y-\\[6px\\] {\n row-gap: 6px;\n }\n .gap-y-\\[10px\\] {\n row-gap: 10px;\n }\n .divide-y {\n :where(& > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n }\n .divide-border {\n :where(& > :not(:last-child)) {\n border-color: var(--color-border);\n }\n }\n .divide-gray-100 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-100);\n }\n }\n .divide-gray-200 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-200);\n }\n }\n .divide-gray-300 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-300);\n }\n }\n .self-center {\n align-self: center;\n }\n .self-end {\n align-self: flex-end;\n }\n .self-start {\n align-self: flex-start;\n }\n .self-stretch {\n align-self: stretch;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .overscroll-contain {\n overscroll-behavior: contain;\n }\n .\\!rounded-none {\n border-radius: 0 !important;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n .rounded-\\[2px\\] {\n border-radius: 2px;\n }\n .rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n .rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .rounded-\\[9px\\] {\n border-radius: 9px;\n }\n .rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .rounded-\\[11px\\] {\n border-radius: 11px;\n }\n .rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .rounded-\\[13px_13px_4px_13px\\] {\n border-radius: 13px 13px 4px 13px;\n }\n .rounded-\\[13px_13px_13px_4px\\] {\n border-radius: 13px 13px 13px 4px;\n }\n .rounded-\\[14px\\] {\n border-radius: 14px;\n }\n .rounded-\\[16px\\] {\n border-radius: 16px;\n }\n .rounded-\\[18px\\] {\n border-radius: 18px;\n }\n .rounded-\\[18px_18px_4px_18px\\] {\n border-radius: 18px 18px 4px 18px;\n }\n .rounded-\\[50px\\] {\n border-radius: 50px;\n }\n .rounded-\\[100\\%\\] {\n border-radius: 100%;\n }\n .rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\] {\n border-radius: min(var(--radius-md), 12px);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n .rounded-xs {\n border-radius: var(--radius-xs);\n }\n .rounded-t {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .rounded-t-2xl {\n border-top-left-radius: var(--radius-2xl);\n border-top-right-radius: var(--radius-2xl);\n }\n .rounded-t-\\[3px\\] {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n }\n .rounded-t-lg {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n }\n .rounded-t-sm {\n border-top-left-radius: var(--radius-sm);\n border-top-right-radius: var(--radius-sm);\n }\n .rounded-l-full {\n border-top-left-radius: calc(infinity * 1px);\n border-bottom-left-radius: calc(infinity * 1px);\n }\n .rounded-l-md {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n .rounded-l-none {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .rounded-tl-xl {\n border-top-left-radius: var(--radius-xl);\n }\n .rounded-r-\\[2px\\] {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n .rounded-r-\\[3px\\] {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n }\n .rounded-r-\\[10px\\] {\n border-top-right-radius: 10px;\n border-bottom-right-radius: 10px;\n }\n .rounded-r-full {\n border-top-right-radius: calc(infinity * 1px);\n border-bottom-right-radius: calc(infinity * 1px);\n }\n .rounded-r-md {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n .rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .rounded-b-\\[14px\\] {\n border-bottom-right-radius: 14px;\n border-bottom-left-radius: 14px;\n }\n .rounded-b-lg {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n .rounded-bl-xl {\n border-bottom-left-radius: var(--radius-xl);\n }\n .\\!border-0 {\n border-style: var(--tw-border-style) !important;\n border-width: 0px !important;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-1 {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-3 {\n border-style: var(--tw-border-style);\n border-width: 3px;\n }\n .border-4 {\n border-style: var(--tw-border-style);\n border-width: 4px;\n }\n .border-\\[0\\.2px\\] {\n border-style: var(--tw-border-style);\n border-width: 0.2px;\n }\n .border-\\[0\\.5\\] {\n border-style: var(--tw-border-style);\n border-width: 0.5;\n }\n .border-\\[0\\.5px\\] {\n border-style: var(--tw-border-style);\n border-width: 0.5px;\n }\n .border-\\[0px\\] {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-\\[1\\.5px\\] {\n border-style: var(--tw-border-style);\n border-width: 1.5px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-1 {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n .border-r-1 {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-0 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n .border-b-1 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-b-3 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 3px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-l-0 {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n .border-l-2 {\n border-left-style: var(--tw-border-style);\n border-left-width: 2px;\n }\n .border-l-\\[3px\\] {\n border-left-style: var(--tw-border-style);\n border-left-width: 3px;\n }\n .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-\\[\\#0d1f35\\] {\n border-color: #0d1f35;\n }\n .border-\\[\\#1e3556\\] {\n border-color: #1e3556;\n }\n .border-\\[\\#22c55e\\]\\/35 {\n border-color: color-mix(in oklab, #22c55e 35%, transparent);\n }\n .border-\\[\\#86efac\\] {\n border-color: #86efac;\n }\n .border-\\[\\#1877F2\\] {\n border-color: #1877F2;\n }\n .border-\\[\\#2563eb\\] {\n border-color: #2563eb;\n }\n .border-\\[\\#18181b\\] {\n border-color: #18181b;\n }\n .border-\\[\\#707070\\] {\n border-color: #707070;\n }\n .border-\\[\\#747775\\] {\n border-color: #747775;\n }\n .border-\\[\\#DBE2EB\\] {\n border-color: #DBE2EB;\n }\n .border-\\[\\#E4E4E7\\] {\n border-color: #E4E4E7;\n }\n .border-\\[\\#E88B00\\] {\n border-color: #E88B00;\n }\n .border-\\[\\#bbf7d0\\] {\n border-color: #bbf7d0;\n }\n .border-\\[\\#cbd5e1\\] {\n border-color: #cbd5e1;\n }\n .border-\\[\\#d1d5db\\] {\n border-color: #d1d5db;\n }\n .border-\\[\\#d6e3ff\\] {\n border-color: #d6e3ff;\n }\n .border-\\[\\#dbe4f3\\] {\n border-color: #dbe4f3;\n }\n .border-\\[\\#e2e4e9\\] {\n border-color: #e2e4e9;\n }\n .border-\\[\\#e2e6ea\\] {\n border-color: #e2e6ea;\n }\n .border-\\[\\#e4e4e7\\] {\n border-color: #e4e4e7;\n }\n .border-\\[\\#eef2f7\\] {\n border-color: #eef2f7;\n }\n .border-\\[\\#f0f0f0\\] {\n border-color: #f0f0f0;\n }\n .border-\\[\\#f4f6f8\\] {\n border-color: #f4f6f8;\n }\n .border-\\[\\#f8f9fa\\] {\n border-color: #f8f9fa;\n }\n .border-\\[\\#fcd34d\\] {\n border-color: #fcd34d;\n }\n .border-\\[color\\:var\\(--ob-bd\\)\\] {\n border-color: var(--ob-bd);\n }\n .border-\\[var\\(--bc-text-color\\,\\#18181B\\)\\] {\n border-color: var(--bc-text-color,#18181B);\n }\n .border-accent {\n border-color: var(--color-accent);\n }\n .border-accent\\/30 {\n border-color: color-mix(in srgb, #f4f4f5 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-accent) 30%, transparent);\n }\n }\n .border-accent\\/40 {\n border-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n .border-amber-200 {\n border-color: var(--color-amber-200);\n }\n .border-amber-300 {\n border-color: var(--color-amber-300);\n }\n .border-amber-300\\/60 {\n border-color: color-mix(in srgb, oklch(87.9% 0.169 91.605) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-300) 60%, transparent);\n }\n }\n .border-amber-400 {\n border-color: var(--color-amber-400);\n }\n .border-amber-500\\/40 {\n border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-500) 40%, transparent);\n }\n }\n .border-amber-500\\/50 {\n border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);\n }\n }\n .border-black {\n border-color: var(--color-black);\n }\n .border-black\\/12 {\n border-color: color-mix(in srgb, #000 12%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-black) 12%, transparent);\n }\n }\n .border-blue-100 {\n border-color: var(--color-blue-100);\n }\n .border-blue-200 {\n border-color: var(--color-blue-200);\n }\n .border-blue-300 {\n border-color: var(--color-blue-300);\n }\n .border-blue-500 {\n border-color: var(--color-blue-500);\n }\n .border-blue-600 {\n border-color: var(--color-blue-600);\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-border\\/30 {\n border-color: color-mix(in srgb, #e4e4e7 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-border) 30%, transparent);\n }\n }\n .border-border\\/60 {\n border-color: color-mix(in srgb, #e4e4e7 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-border) 60%, transparent);\n }\n }\n .border-border\\/80 {\n border-color: color-mix(in srgb, #e4e4e7 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-border) 80%, transparent);\n }\n }\n .border-current {\n border-color: currentcolor;\n }\n .border-current\\/30 {\n border-color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, currentcolor 30%, transparent);\n }\n }\n .border-destructive {\n border-color: var(--color-destructive);\n }\n .border-destructive\\/30 {\n border-color: color-mix(in srgb, #dc2626 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 30%, transparent);\n }\n }\n .border-destructive\\/50 {\n border-color: color-mix(in srgb, #dc2626 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n .border-emerald-200 {\n border-color: var(--color-emerald-200);\n }\n .border-emerald-300 {\n border-color: var(--color-emerald-300);\n }\n .border-emerald-500 {\n border-color: var(--color-emerald-500);\n }\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n .border-gray-900\\/5 {\n border-color: color-mix(in srgb, oklch(21% 0.034 264.665) 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-gray-900) 5%, transparent);\n }\n }\n .border-gray-900\\/25 {\n border-color: color-mix(in srgb, oklch(21% 0.034 264.665) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-gray-900) 25%, transparent);\n }\n }\n .border-green-200 {\n border-color: var(--color-green-200);\n }\n .border-green-300 {\n border-color: var(--color-green-300);\n }\n .border-green-400 {\n border-color: var(--color-green-400);\n }\n .border-green-500 {\n border-color: var(--color-green-500);\n }\n .border-indigo-200 {\n border-color: var(--color-indigo-200);\n }\n .border-indigo-300 {\n border-color: var(--color-indigo-300);\n }\n .border-input {\n border-color: var(--color-input);\n }\n .border-muted-foreground\\/40 {\n border-color: color-mix(in srgb, #74716e 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-muted-foreground) 40%, transparent);\n }\n }\n .border-neutral-10 {\n border-color: var(--color-neutral-10);\n }\n .border-neutral-20 {\n border-color: var(--color-neutral-20);\n }\n .border-neutral-40 {\n border-color: var(--color-neutral-40);\n }\n .border-neutral-200 {\n border-color: var(--color-neutral-200);\n }\n .border-orange-100 {\n border-color: var(--color-orange-100);\n }\n .border-orange-200 {\n border-color: var(--color-orange-200);\n }\n .border-orange-300 {\n border-color: var(--color-orange-300);\n }\n .border-orange-400 {\n border-color: var(--color-orange-400);\n }\n .border-primary {\n border-color: var(--color-primary);\n }\n .border-primary\\/30 {\n border-color: color-mix(in srgb, #18181b 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);\n }\n }\n .border-primary\\/50 {\n border-color: color-mix(in srgb, #18181b 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);\n }\n }\n .border-purple-100 {\n border-color: var(--color-purple-100);\n }\n .border-purple-200 {\n border-color: var(--color-purple-200);\n }\n .border-purple-300 {\n border-color: var(--color-purple-300);\n }\n .border-purple-500 {\n border-color: var(--color-purple-500);\n }\n .border-red-200 {\n border-color: var(--color-red-200);\n }\n .border-red-300 {\n border-color: var(--color-red-300);\n }\n .border-red-400 {\n border-color: var(--color-red-400);\n }\n .border-red-500 {\n border-color: var(--color-red-500);\n }\n .border-red-600 {\n border-color: var(--color-red-600);\n }\n .border-rose-200 {\n border-color: var(--color-rose-200);\n }\n .border-sidebar-ring {\n border-color: var(--color-sidebar-ring);\n }\n .border-slate-100 {\n border-color: var(--color-slate-100);\n }\n .border-slate-200 {\n border-color: var(--color-slate-200);\n }\n .border-slate-300 {\n border-color: var(--color-slate-300);\n }\n .border-slate-400 {\n border-color: var(--color-slate-400);\n }\n .border-slate-500 {\n border-color: var(--color-slate-500);\n }\n .border-slate-900 {\n border-color: var(--color-slate-900);\n }\n .border-teal-600\\/30 {\n border-color: color-mix(in srgb, oklch(60% 0.118 184.704) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-teal-600) 30%, transparent);\n }\n }\n .border-transparent {\n border-color: transparent;\n }\n .border-violet-100 {\n border-color: var(--color-violet-100);\n }\n .border-violet-300 {\n border-color: var(--color-violet-300);\n }\n .border-violet-600 {\n border-color: var(--color-violet-600);\n }\n .border-white {\n border-color: var(--color-white);\n }\n .border-white\\/10 {\n border-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n .border-white\\/20 {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n .border-white\\/30 {\n border-color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n .border-yellow-200 {\n border-color: var(--color-yellow-200);\n }\n .border-zinc-200 {\n border-color: var(--color-zinc-200);\n }\n .border-zinc-900 {\n border-color: var(--color-zinc-900);\n }\n .border-t-accent {\n border-top-color: var(--color-accent);\n }\n .border-t-gray-900 {\n border-top-color: var(--color-gray-900);\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .border-t-white {\n border-top-color: var(--color-white);\n }\n .border-b-\\[\\#e2e4e9\\] {\n border-bottom-color: #e2e4e9;\n }\n .border-b-blue-20 {\n border-bottom-color: var(--color-blue-20);\n }\n .border-b-neutral-20 {\n border-bottom-color: var(--color-neutral-20);\n }\n .border-b-transparent {\n border-bottom-color: transparent;\n }\n .border-b-zinc-300 {\n border-bottom-color: var(--color-zinc-300);\n }\n .border-l-blue-500\\/40 {\n border-left-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-left-color: color-mix(in oklab, var(--color-blue-500) 40%, transparent);\n }\n }\n .border-l-primary {\n border-left-color: var(--color-primary);\n }\n .\\!bg-\\[\\#1877F2\\] {\n background-color: #1877F2 !important;\n }\n .\\!bg-\\[\\#ff7a59\\] {\n background-color: #ff7a59 !important;\n }\n .\\!bg-\\[var\\(--b-tooltip-bg\\)\\] {\n background-color: var(--b-tooltip-bg) !important;\n }\n .bg-\\[\\#\\.\\.\\.\\] {\n background-color: #...;\n }\n .bg-\\[\\#0d1b2a\\] {\n background-color: #0d1b2a;\n }\n .bg-\\[\\#0001\\] {\n background-color: #0001;\n }\n .bg-\\[\\#2A9D90\\] {\n background-color: #2A9D90;\n }\n .bg-\\[\\#16a34a\\] {\n background-color: #16a34a;\n }\n .bg-\\[\\#22c55e\\] {\n background-color: #22c55e;\n }\n .bg-\\[\\#22c55e\\]\\/15 {\n background-color: color-mix(in oklab, #22c55e 15%, transparent);\n }\n .bg-\\[\\#1877F2\\] {\n background-color: #1877F2;\n }\n .bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .bg-\\[\\#18181b\\] {\n background-color: #18181b;\n }\n .bg-\\[\\#222831\\] {\n background-color: #222831;\n }\n .bg-\\[\\#DBE2EB\\] {\n background-color: #DBE2EB;\n }\n .bg-\\[\\#E0E6EE\\] {\n background-color: #E0E6EE;\n }\n .bg-\\[\\#F1F4F8\\] {\n background-color: #F1F4F8;\n }\n .bg-\\[\\#FF9900\\] {\n background-color: #FF9900;\n }\n .bg-\\[\\#dbeafe\\] {\n background-color: #dbeafe;\n }\n .bg-\\[\\#e2e6ea\\] {\n background-color: #e2e6ea;\n }\n .bg-\\[\\#e76d4e\\] {\n background-color: #e76d4e;\n }\n .bg-\\[\\#eaf1ff\\] {\n background-color: #eaf1ff;\n }\n .bg-\\[\\#eff6ff\\] {\n background-color: #eff6ff;\n }\n .bg-\\[\\#f0fdf4\\] {\n background-color: #f0fdf4;\n }\n .bg-\\[\\#f1f4f8\\] {\n background-color: #f1f4f8;\n }\n .bg-\\[\\#f1f5f9\\] {\n background-color: #f1f5f9;\n }\n .bg-\\[\\#f3e8ff\\] {\n background-color: #f3e8ff;\n }\n .bg-\\[\\#f4f4f5\\] {\n background-color: #f4f4f5;\n }\n .bg-\\[\\#f4f4f5\\]\\/60 {\n background-color: color-mix(in oklab, #f4f4f5 60%, transparent);\n }\n .bg-\\[\\#f5f6f8\\] {\n background-color: #f5f6f8;\n }\n .bg-\\[\\#f8f9fa\\] {\n background-color: #f8f9fa;\n }\n .bg-\\[\\#f8fafb\\] {\n background-color: #f8fafb;\n }\n .bg-\\[\\#f9fafb\\] {\n background-color: #f9fafb;\n }\n .bg-\\[\\#f59e0b\\] {\n background-color: #f59e0b;\n }\n .bg-\\[\\#fafafa\\] {\n background-color: #fafafa;\n }\n .bg-\\[\\#fef3c7\\] {\n background-color: #fef3c7;\n }\n .bg-\\[\\#fffa\\] {\n background-color: #fffa;\n }\n .bg-\\[\\#fffbeb\\] {\n background-color: #fffbeb;\n }\n .bg-\\[\\#ffffff\\] {\n background-color: #ffffff;\n }\n .bg-\\[color\\:var\\(--ob-bg\\)\\] {\n background-color: var(--ob-bg);\n }\n .bg-\\[rgb\\(243_244_246\\)\\]\\/90 {\n background-color: color-mix(in oklab, rgb(243 244 246) 90%, transparent);\n }\n .bg-\\[rgba\\(28\\,25\\,23\\,0\\.08\\)\\] {\n background-color: rgba(28,25,23,0.08);\n }\n .bg-\\[var\\(--b-tooltip-bg\\)\\] {\n background-color: var(--b-tooltip-bg);\n }\n .bg-\\[var\\(--bc-primary-button-background-color\\)\\] {\n background-color: var(--bc-primary-button-background-color);\n }\n .bg-\\[var\\(--bc-secondary-button-background-color\\)\\] {\n background-color: var(--bc-secondary-button-background-color);\n }\n .bg-accent {\n background-color: var(--color-accent);\n }\n .bg-accent\\/5 {\n background-color: color-mix(in srgb, #f4f4f5 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 5%, transparent);\n }\n }\n .bg-accent\\/10 {\n background-color: color-mix(in srgb, #f4f4f5 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);\n }\n }\n .bg-accent\\/40 {\n background-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n .bg-accent\\/80 {\n background-color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 80%, transparent);\n }\n }\n .bg-amber-50 {\n background-color: var(--color-amber-50);\n }\n .bg-amber-100 {\n background-color: var(--color-amber-100);\n }\n .bg-amber-500 {\n background-color: var(--color-amber-500);\n }\n .bg-amber-500\\/5 {\n background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-500) 5%, transparent);\n }\n }\n .bg-amber-600 {\n background-color: var(--color-amber-600);\n }\n .bg-background {\n background-color: var(--color-background);\n }\n .bg-background\\/70 {\n background-color: color-mix(in srgb, #ffffff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-background) 70%, transparent);\n }\n }\n .bg-background\\/95 {\n background-color: color-mix(in srgb, #ffffff 95%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-background) 95%, transparent);\n }\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-black\\/0 {\n background-color: color-mix(in srgb, #000 0%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 0%, transparent);\n }\n }\n .bg-black\\/10 {\n background-color: color-mix(in srgb, #000 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n .bg-black\\/30 {\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n }\n .bg-black\\/40 {\n background-color: color-mix(in srgb, #000 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 40%, transparent);\n }\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n .bg-black\\/60 {\n background-color: color-mix(in srgb, #000 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 60%, transparent);\n }\n }\n .bg-black\\/70 {\n background-color: color-mix(in srgb, #000 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 70%, transparent);\n }\n }\n .bg-blue-10 {\n background-color: var(--color-blue-10);\n }\n .bg-blue-20 {\n background-color: var(--color-blue-20);\n }\n .bg-blue-30 {\n background-color: var(--color-blue-30);\n }\n .bg-blue-40 {\n background-color: var(--color-blue-40);\n }\n .bg-blue-50 {\n background-color: var(--color-blue-50);\n }\n .bg-blue-50\\/30 {\n background-color: color-mix(in srgb, #3b82f6 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-50) 30%, transparent);\n }\n }\n .bg-blue-60 {\n background-color: var(--color-blue-60);\n }\n .bg-blue-70 {\n background-color: var(--color-blue-70);\n }\n .bg-blue-80 {\n background-color: var(--color-blue-80);\n }\n .bg-blue-90 {\n background-color: var(--color-blue-90);\n }\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n .bg-blue-200 {\n background-color: var(--color-blue-200);\n }\n .bg-blue-500 {\n background-color: var(--color-blue-500);\n }\n .bg-blue-600 {\n background-color: var(--color-blue-600);\n }\n .bg-border {\n background-color: var(--color-border);\n }\n .bg-card {\n background-color: var(--color-card);\n }\n .bg-card\\/70 {\n background-color: color-mix(in srgb, #ffffff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-card) 70%, transparent);\n }\n }\n .bg-card\\/95 {\n background-color: color-mix(in srgb, #ffffff 95%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-card) 95%, transparent);\n }\n }\n .bg-current {\n background-color: currentcolor;\n }\n .bg-destructive {\n background-color: var(--color-destructive);\n }\n .bg-destructive\\/5 {\n background-color: color-mix(in srgb, #dc2626 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 5%, transparent);\n }\n }\n .bg-destructive\\/10 {\n background-color: color-mix(in srgb, #dc2626 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n .bg-destructive\\/15 {\n background-color: color-mix(in srgb, #dc2626 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 15%, transparent);\n }\n }\n .bg-emerald-50 {\n background-color: var(--color-emerald-50);\n }\n .bg-emerald-500 {\n background-color: var(--color-emerald-500);\n }\n .bg-emerald-600 {\n background-color: var(--color-emerald-600);\n }\n .bg-fuchsia-500 {\n background-color: var(--color-fuchsia-500);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n .bg-gray-400 {\n background-color: var(--color-gray-400);\n }\n .bg-gray-500 {\n background-color: var(--color-gray-500);\n }\n .bg-gray-800 {\n background-color: var(--color-gray-800);\n }\n .bg-gray-900 {\n background-color: var(--color-gray-900);\n }\n .bg-gray-900\\/40 {\n background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-gray-900) 40%, transparent);\n }\n }\n .bg-gray-900\\/80 {\n background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-gray-900) 80%, transparent);\n }\n }\n .bg-green-50 {\n background-color: var(--color-green-50);\n }\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n .bg-green-500 {\n background-color: var(--color-green-500);\n }\n .bg-green-600 {\n background-color: var(--color-green-600);\n }\n .bg-indigo-50 {\n background-color: var(--color-indigo-50);\n }\n .bg-indigo-50\\/70 {\n background-color: color-mix(in srgb, oklch(96.2% 0.018 272.314) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-50) 70%, transparent);\n }\n }\n .bg-indigo-100 {\n background-color: var(--color-indigo-100);\n }\n .bg-indigo-500 {\n background-color: var(--color-indigo-500);\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-muted-foreground {\n background-color: var(--color-muted-foreground);\n }\n .bg-muted\\/20 {\n background-color: color-mix(in srgb, #f7f7f6 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 20%, transparent);\n }\n }\n .bg-muted\\/30 {\n background-color: color-mix(in srgb, #f7f7f6 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 30%, transparent);\n }\n }\n .bg-muted\\/40 {\n background-color: color-mix(in srgb, #f7f7f6 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 40%, transparent);\n }\n }\n .bg-muted\\/50 {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n .bg-muted\\/70 {\n background-color: color-mix(in srgb, #f7f7f6 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 70%, transparent);\n }\n }\n .bg-neutral-10 {\n background-color: var(--color-neutral-10);\n }\n .bg-neutral-20 {\n background-color: var(--color-neutral-20);\n }\n .bg-neutral-30 {\n background-color: var(--color-neutral-30);\n }\n .bg-neutral-40 {\n background-color: var(--color-neutral-40);\n }\n .bg-neutral-50 {\n background-color: var(--color-neutral-50);\n }\n .bg-neutral-60 {\n background-color: var(--color-neutral-60);\n }\n .bg-neutral-70 {\n background-color: var(--color-neutral-70);\n }\n .bg-neutral-80 {\n background-color: var(--color-neutral-80);\n }\n .bg-neutral-90 {\n background-color: var(--color-neutral-90);\n }\n .bg-neutral-100 {\n background-color: var(--color-neutral-100);\n }\n .bg-neutral-200 {\n background-color: var(--color-neutral-200);\n }\n .bg-neutral-800 {\n background-color: var(--color-neutral-800);\n }\n .bg-orange-10 {\n background-color: var(--color-orange-10);\n }\n .bg-orange-20 {\n background-color: var(--color-orange-20);\n }\n .bg-orange-30 {\n background-color: var(--color-orange-30);\n }\n .bg-orange-40 {\n background-color: var(--color-orange-40);\n }\n .bg-orange-50 {\n background-color: var(--color-orange-50);\n }\n .bg-orange-60 {\n background-color: var(--color-orange-60);\n }\n .bg-orange-70 {\n background-color: var(--color-orange-70);\n }\n .bg-orange-80 {\n background-color: var(--color-orange-80);\n }\n .bg-orange-90 {\n background-color: var(--color-orange-90);\n }\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n .bg-orange-400 {\n background-color: var(--color-orange-400);\n }\n .bg-orange-500 {\n background-color: var(--color-orange-500);\n }\n .bg-orange-600 {\n background-color: var(--color-orange-600);\n }\n .bg-pink-600 {\n background-color: var(--color-pink-600);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-primary\\/5 {\n background-color: color-mix(in srgb, #18181b 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 5%, transparent);\n }\n }\n .bg-primary\\/10 {\n background-color: color-mix(in srgb, #18181b 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .bg-purple-50 {\n background-color: var(--color-purple-50);\n }\n .bg-purple-100 {\n background-color: var(--color-purple-100);\n }\n .bg-purple-500 {\n background-color: var(--color-purple-500);\n }\n .bg-purple-600 {\n background-color: var(--color-purple-600);\n }\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n .bg-red-500 {\n background-color: var(--color-red-500);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .bg-rose-50 {\n background-color: var(--color-rose-50);\n }\n .bg-rose-500 {\n background-color: var(--color-rose-500);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-sky-500 {\n background-color: var(--color-sky-500);\n }\n .bg-sky-600 {\n background-color: var(--color-sky-600);\n }\n .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .bg-slate-50\\/60 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);\n }\n }\n .bg-slate-50\\/70 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 70%, transparent);\n }\n }\n .bg-slate-100 {\n background-color: var(--color-slate-100);\n }\n .bg-slate-200 {\n background-color: var(--color-slate-200);\n }\n .bg-slate-700 {\n background-color: var(--color-slate-700);\n }\n .bg-slate-900 {\n background-color: var(--color-slate-900);\n }\n .bg-slate-900\\/20 {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 20%, transparent);\n }\n }\n .bg-teal-50 {\n background-color: var(--color-teal-50);\n }\n .bg-teal-500 {\n background-color: var(--color-teal-500);\n }\n .bg-teal-600 {\n background-color: var(--color-teal-600);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-violet-50 {\n background-color: var(--color-violet-50);\n }\n .bg-violet-100 {\n background-color: var(--color-violet-100);\n }\n .bg-violet-200 {\n background-color: var(--color-violet-200);\n }\n .bg-violet-500 {\n background-color: var(--color-violet-500);\n }\n .bg-violet-600 {\n background-color: var(--color-violet-600);\n }\n .bg-violet-700 {\n background-color: var(--color-violet-700);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-white\\/5 {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n .bg-white\\/10 {\n background-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n .bg-white\\/20 {\n background-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n .bg-white\\/90 {\n background-color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n .bg-yellow-50 {\n background-color: var(--color-yellow-50);\n }\n .bg-yellow-100 {\n background-color: var(--color-yellow-100);\n }\n .bg-yellow-200 {\n background-color: var(--color-yellow-200);\n }\n .bg-yellow-500 {\n background-color: var(--color-yellow-500);\n }\n .bg-yellow-600 {\n background-color: var(--color-yellow-600);\n }\n .bg-zinc-200 {\n background-color: var(--color-zinc-200);\n }\n .bg-zinc-300 {\n background-color: var(--color-zinc-300);\n }\n .bg-zinc-900 {\n background-color: var(--color-zinc-900);\n }\n .bg-linear-to-r {\n --tw-gradient-position: to right;\n @supports (background-image: linear-gradient(in lab, red, red)) {\n --tw-gradient-position: to right in oklab;\n }\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-b {\n --tw-gradient-position: to bottom in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-br {\n --tw-gradient-position: to bottom right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-l {\n --tw-gradient-position: to left in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-r {\n --tw-gradient-position: to right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-t {\n --tw-gradient-position: to top in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-\\[linear-gradient\\(90deg\\,\\#FF0000\\,\\#FFFF00\\,\\#00FF00\\,\\#00FFFF\\,\\#0000FF\\,\\#FF00FF\\,\\#FF0000\\)\\] {\n background-image: linear-gradient(90deg,#FF0000,#FFFF00,#00FF00,#00FFFF,#0000FF,#FF00FF,#FF0000);\n }\n .bg-\\[linear-gradient\\(135deg\\,\\#0d1b2a\\,\\#1a3050\\)\\] {\n background-image: linear-gradient(135deg,#0d1b2a,#1a3050);\n }\n .bg-\\[linear-gradient\\(135deg\\,\\#0d1b2a_0\\%\\,\\#1a2e4a_100\\%\\)\\] {\n background-image: linear-gradient(135deg,#0d1b2a 0%,#1a2e4a 100%);\n }\n .bg-\\[linear-gradient\\(160deg\\,\\#07111f_0\\%\\,\\#0c1e3a_55\\%\\,\\#060e1a_100\\%\\)\\] {\n background-image: linear-gradient(160deg,#07111f 0%,#0c1e3a 55%,#060e1a 100%);\n }\n .bg-\\[linear-gradient\\(160deg\\,\\#07111f_0\\%\\,\\#0d2040_60\\%\\,\\#060e1a_100\\%\\)\\] {\n background-image: linear-gradient(160deg,#07111f 0%,#0d2040 60%,#060e1a 100%);\n }\n .bg-\\[radial-gradient\\(circle\\,\\#cbd5e1_1px\\,transparent_1px\\)\\] {\n background-image: radial-gradient(circle,#cbd5e1 1px,transparent 1px);\n }\n .bg-\\[repeating-linear-gradient\\(-45deg\\,var\\(--card\\)\\,var\\(--card\\)_5px\\,var\\(--card2\\)_5px\\,var\\(--card2\\)_10px\\)\\] {\n background-image: repeating-linear-gradient(-45deg,var(--card),var(--card) 5px,var(--card2) 5px,var(--card2) 10px);\n }\n .bg-none {\n background-image: none;\n }\n .from-\\[\\#2B5876\\] {\n --tw-gradient-from: #2B5876;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#a78bfa\\] {\n --tw-gradient-from: #a78bfa;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#c084fc\\] {\n --tw-gradient-from: #c084fc;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#e76d4e\\] {\n --tw-gradient-from: #e76d4e;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#f5fdf9\\] {\n --tw-gradient-from: #f5fdf9;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#fdba74\\] {\n --tw-gradient-from: #fdba74;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-blue-50 {\n --tw-gradient-from: var(--color-blue-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-cyan-500 {\n --tw-gradient-from: var(--color-cyan-500);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-emerald-50 {\n --tw-gradient-from: var(--color-emerald-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-slate-950 {\n --tw-gradient-from: var(--color-slate-950);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-teal-400 {\n --tw-gradient-from: var(--color-teal-400);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-transparent {\n --tw-gradient-from: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-white {\n --tw-gradient-from: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-white\\/40 {\n --tw-gradient-from: color-mix(in srgb, #fff 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-from: color-mix(in oklab, var(--color-white) 40%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .via-cyan-950 {\n --tw-gradient-via: var(--color-cyan-950);\n --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-via-stops);\n }\n .via-white {\n --tw-gradient-via: var(--color-white);\n --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-via-stops);\n }\n .to-\\[\\#4E4376\\] {\n --tw-gradient-to: #4E4376;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#818cf8\\] {\n --tw-gradient-to: #818cf8;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#6366f1\\] {\n --tw-gradient-to: #6366f1;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#f6c344\\] {\n --tw-gradient-to: #f6c344;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#f472b6\\] {\n --tw-gradient-to: #f472b6;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-black\\/50 {\n --tw-gradient-to: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-blue-500 {\n --tw-gradient-to: var(--color-blue-500);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-indigo-50 {\n --tw-gradient-to: var(--color-indigo-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-indigo-50\\/40 {\n --tw-gradient-to: color-mix(in srgb, oklch(96.2% 0.018 272.314) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-indigo-50) 40%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-slate-950 {\n --tw-gradient-to: var(--color-slate-950);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-white {\n --tw-gradient-to: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-yellow-500\\/40 {\n --tw-gradient-to: color-mix(in srgb, oklch(79.5% 0.184 86.047) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-yellow-500) 40%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .bg-\\[length\\:24px_24px\\] {\n background-size: 24px 24px;\n }\n .bg-cover {\n background-size: cover;\n }\n .bg-clip-text {\n background-clip: text;\n }\n .bg-center {\n background-position: center;\n }\n .bg-no-repeat {\n background-repeat: no-repeat;\n }\n .fill-\\[var\\(--b-tooltip-bg\\)\\] {\n fill: var(--b-tooltip-bg);\n }\n .fill-amber-400 {\n fill: var(--color-amber-400);\n }\n .fill-blue-500 {\n fill: var(--color-blue-500);\n }\n .fill-card {\n fill: var(--color-card);\n }\n .fill-current {\n fill: currentcolor;\n }\n .fill-green-500 {\n fill: var(--color-green-500);\n }\n .fill-primary {\n fill: var(--color-primary);\n }\n .fill-red-500 {\n fill: var(--color-red-500);\n }\n .fill-slate-500 {\n fill: var(--color-slate-500);\n }\n .fill-slate-900 {\n fill: var(--color-slate-900);\n }\n .stroke-card {\n stroke: var(--color-card);\n }\n .stroke-slate-500 {\n stroke: var(--color-slate-500);\n }\n .object-contain {\n object-fit: contain;\n }\n .object-cover {\n object-fit: cover;\n }\n .object-center {\n object-position: center;\n }\n .\\!p-0 {\n padding: calc(var(--spacing) * 0) !important;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-3\\.5 {\n padding: calc(var(--spacing) * 3.5);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .p-7 {\n padding: calc(var(--spacing) * 7);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .p-9 {\n padding: calc(var(--spacing) * 9);\n }\n .p-10 {\n padding: calc(var(--spacing) * 10);\n }\n .p-12 {\n padding: calc(var(--spacing) * 12);\n }\n .p-16 {\n padding: calc(var(--spacing) * 16);\n }\n .p-1234 {\n padding: calc(var(--spacing) * 1234);\n }\n .p-4321 {\n padding: calc(var(--spacing) * 4321);\n }\n .p-9999 {\n padding: calc(var(--spacing) * 9999);\n }\n .p-\\[2px\\] {\n padding: 2px;\n }\n .p-\\[3px\\] {\n padding: 3px;\n }\n .p-\\[4px\\] {\n padding: 4px;\n }\n .p-\\[6px\\] {\n padding: 6px;\n }\n .p-\\[8px\\] {\n padding: 8px;\n }\n .p-\\[8px_10px\\] {\n padding: 8px 10px;\n }\n .p-\\[9\\.7px\\] {\n padding: 9.7px;\n }\n .p-\\[9px\\] {\n padding: 9px;\n }\n .p-\\[9px_10px\\] {\n padding: 9px 10px;\n }\n .p-\\[10px\\] {\n padding: 10px;\n }\n .p-\\[12px\\] {\n padding: 12px;\n }\n .p-\\[14px\\] {\n padding: 14px;\n }\n .p-\\[16px\\] {\n padding: 16px;\n }\n .p-\\[17px\\] {\n padding: 17px;\n }\n .p-\\[18px\\] {\n padding: 18px;\n }\n .p-\\[20px\\] {\n padding: 20px;\n }\n .p-\\[22px\\] {\n padding: 22px;\n }\n .p-\\[24px\\] {\n padding: 24px;\n }\n .p-\\[26px\\] {\n padding: 26px;\n }\n .px-0 {\n padding-inline: calc(var(--spacing) * 0);\n }\n .px-0\\.5 {\n padding-inline: calc(var(--spacing) * 0.5);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-1\\.5 {\n padding-inline: calc(var(--spacing) * 1.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .px-7 {\n padding-inline: calc(var(--spacing) * 7);\n }\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\n }\n .px-9 {\n padding-inline: calc(var(--spacing) * 9);\n }\n .px-10 {\n padding-inline: calc(var(--spacing) * 10);\n }\n .px-11 {\n padding-inline: calc(var(--spacing) * 11);\n }\n .px-123 {\n padding-inline: calc(var(--spacing) * 123);\n }\n .px-\\[2px\\] {\n padding-inline: 2px;\n }\n .px-\\[4px\\] {\n padding-inline: 4px;\n }\n .px-\\[5px\\] {\n padding-inline: 5px;\n }\n .px-\\[6px\\] {\n padding-inline: 6px;\n }\n .px-\\[7px\\] {\n padding-inline: 7px;\n }\n .px-\\[8px\\] {\n padding-inline: 8px;\n }\n .px-\\[9px\\] {\n padding-inline: 9px;\n }\n .px-\\[10px\\] {\n padding-inline: 10px;\n }\n .px-\\[11px\\] {\n padding-inline: 11px;\n }\n .px-\\[12px\\] {\n padding-inline: 12px;\n }\n .px-\\[13px\\] {\n padding-inline: 13px;\n }\n .px-\\[14px\\] {\n padding-inline: 14px;\n }\n .px-\\[15px\\] {\n padding-inline: 15px;\n }\n .px-\\[16px\\] {\n padding-inline: 16px;\n }\n .px-\\[17px\\] {\n padding-inline: 17px;\n }\n .px-\\[18px\\] {\n padding-inline: 18px;\n }\n .px-\\[20px\\] {\n padding-inline: 20px;\n }\n .px-\\[22px\\] {\n padding-inline: 22px;\n }\n .px-\\[26px\\] {\n padding-inline: 26px;\n }\n .px-\\[30px\\] {\n padding-inline: 30px;\n }\n .px-\\[40px\\] {\n padding-inline: 40px;\n }\n .py-0 {\n padding-block: calc(var(--spacing) * 0);\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-3\\.5 {\n padding-block: calc(var(--spacing) * 3.5);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .py-5 {\n padding-block: calc(var(--spacing) * 5);\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6);\n }\n .py-8 {\n padding-block: calc(var(--spacing) * 8);\n }\n .py-9 {\n padding-block: calc(var(--spacing) * 9);\n }\n .py-10 {\n padding-block: calc(var(--spacing) * 10);\n }\n .py-12 {\n padding-block: calc(var(--spacing) * 12);\n }\n .py-14 {\n padding-block: calc(var(--spacing) * 14);\n }\n .py-16 {\n padding-block: calc(var(--spacing) * 16);\n }\n .py-20 {\n padding-block: calc(var(--spacing) * 20);\n }\n .py-24 {\n padding-block: calc(var(--spacing) * 24);\n }\n .py-\\[1\\.5px\\] {\n padding-block: 1.5px;\n }\n .py-\\[1px\\] {\n padding-block: 1px;\n }\n .py-\\[2\\.5px\\] {\n padding-block: 2.5px;\n }\n .py-\\[2px\\] {\n padding-block: 2px;\n }\n .py-\\[3px\\] {\n padding-block: 3px;\n }\n .py-\\[4\\.5px\\] {\n padding-block: 4.5px;\n }\n .py-\\[4px\\] {\n padding-block: 4px;\n }\n .py-\\[5px\\] {\n padding-block: 5px;\n }\n .py-\\[6\\.5px\\] {\n padding-block: 6.5px;\n }\n .py-\\[6px\\] {\n padding-block: 6px;\n }\n .py-\\[7px\\] {\n padding-block: 7px;\n }\n .py-\\[8px\\] {\n padding-block: 8px;\n }\n .py-\\[9px\\] {\n padding-block: 9px;\n }\n .py-\\[10\\.5px\\] {\n padding-block: 10.5px;\n }\n .py-\\[10px\\] {\n padding-block: 10px;\n }\n .py-\\[11px\\] {\n padding-block: 11px;\n }\n .py-\\[12px\\] {\n padding-block: 12px;\n }\n .py-\\[13px\\] {\n padding-block: 13px;\n }\n .py-\\[14px\\] {\n padding-block: 14px;\n }\n .py-\\[15px\\] {\n padding-block: 15px;\n }\n .py-\\[16px\\] {\n padding-block: 16px;\n }\n .py-\\[18px\\] {\n padding-block: 18px;\n }\n .py-\\[20px\\] {\n padding-block: 20px;\n }\n .py-\\[24px\\] {\n padding-block: 24px;\n }\n .py-\\[28px\\] {\n padding-block: 28px;\n }\n .py-\\[30px\\] {\n padding-block: 30px;\n }\n .py-\\[32px\\] {\n padding-block: 32px;\n }\n .py-\\[40px\\] {\n padding-block: 40px;\n }\n .py-\\[46px\\] {\n padding-block: 46px;\n }\n .py-\\[48px\\] {\n padding-block: 48px;\n }\n .py-\\[64px\\] {\n padding-block: 64px;\n }\n .py-\\[80px\\] {\n padding-block: 80px;\n }\n .py-px {\n padding-block: 1px;\n }\n .ps-0 {\n padding-inline-start: calc(var(--spacing) * 0);\n }\n .pt-0 {\n padding-top: calc(var(--spacing) * 0);\n }\n .pt-0\\.5 {\n padding-top: calc(var(--spacing) * 0.5);\n }\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n .pt-1\\.5 {\n padding-top: calc(var(--spacing) * 1.5);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pt-2\\.5 {\n padding-top: calc(var(--spacing) * 2.5);\n }\n .pt-3 {\n padding-top: calc(var(--spacing) * 3);\n }\n .pt-3\\.5 {\n padding-top: calc(var(--spacing) * 3.5);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-5 {\n padding-top: calc(var(--spacing) * 5);\n }\n .pt-6 {\n padding-top: calc(var(--spacing) * 6);\n }\n .pt-7 {\n padding-top: calc(var(--spacing) * 7);\n }\n .pt-8 {\n padding-top: calc(var(--spacing) * 8);\n }\n .pt-10 {\n padding-top: calc(var(--spacing) * 10);\n }\n .pt-11 {\n padding-top: calc(var(--spacing) * 11);\n }\n .pt-12 {\n padding-top: calc(var(--spacing) * 12);\n }\n .pt-14 {\n padding-top: calc(var(--spacing) * 14);\n }\n .pt-16 {\n padding-top: calc(var(--spacing) * 16);\n }\n .pt-24 {\n padding-top: calc(var(--spacing) * 24);\n }\n .pt-\\[2px\\] {\n padding-top: 2px;\n }\n .pt-\\[3px\\] {\n padding-top: 3px;\n }\n .pt-\\[4px\\] {\n padding-top: 4px;\n }\n .pt-\\[5px\\] {\n padding-top: 5px;\n }\n .pt-\\[6px\\] {\n padding-top: 6px;\n }\n .pt-\\[8px\\] {\n padding-top: 8px;\n }\n .pt-\\[10px\\] {\n padding-top: 10px;\n }\n .pt-\\[11px\\] {\n padding-top: 11px;\n }\n .pt-\\[14px\\] {\n padding-top: 14px;\n }\n .pt-\\[18px\\] {\n padding-top: 18px;\n }\n .pt-\\[22px\\] {\n padding-top: 22px;\n }\n .pt-\\[26px\\] {\n padding-top: 26px;\n }\n .pr-0 {\n padding-right: calc(var(--spacing) * 0);\n }\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n .pr-1\\.5 {\n padding-right: calc(var(--spacing) * 1.5);\n }\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n .pr-5 {\n padding-right: calc(var(--spacing) * 5);\n }\n .pr-6 {\n padding-right: calc(var(--spacing) * 6);\n }\n .pr-8 {\n padding-right: calc(var(--spacing) * 8);\n }\n .pr-9 {\n padding-right: calc(var(--spacing) * 9);\n }\n .pr-10 {\n padding-right: calc(var(--spacing) * 10);\n }\n .pr-\\[6px\\] {\n padding-right: 6px;\n }\n .pr-\\[8px\\] {\n padding-right: 8px;\n }\n .pr-\\[10px\\] {\n padding-right: 10px;\n }\n .pr-\\[12px\\] {\n padding-right: 12px;\n }\n .pr-\\[14px\\] {\n padding-right: 14px;\n }\n .pr-\\[16px\\] {\n padding-right: 16px;\n }\n .pr-\\[17px\\] {\n padding-right: 17px;\n }\n .pr-\\[40px\\] {\n padding-right: 40px;\n }\n .pb-0 {\n padding-bottom: calc(var(--spacing) * 0);\n }\n .pb-0\\.5 {\n padding-bottom: calc(var(--spacing) * 0.5);\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1);\n }\n .pb-1\\.5 {\n padding-bottom: calc(var(--spacing) * 1.5);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-2\\.5 {\n padding-bottom: calc(var(--spacing) * 2.5);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-3\\.5 {\n padding-bottom: calc(var(--spacing) * 3.5);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pb-5 {\n padding-bottom: calc(var(--spacing) * 5);\n }\n .pb-6 {\n padding-bottom: calc(var(--spacing) * 6);\n }\n .pb-7 {\n padding-bottom: calc(var(--spacing) * 7);\n }\n .pb-8 {\n padding-bottom: calc(var(--spacing) * 8);\n }\n .pb-\\[3px\\] {\n padding-bottom: 3px;\n }\n .pb-\\[4px\\] {\n padding-bottom: 4px;\n }\n .pb-\\[6px\\] {\n padding-bottom: 6px;\n }\n .pb-\\[8px\\] {\n padding-bottom: 8px;\n }\n .pb-\\[10px\\] {\n padding-bottom: 10px;\n }\n .pb-\\[11px\\] {\n padding-bottom: 11px;\n }\n .pb-\\[12px\\] {\n padding-bottom: 12px;\n }\n .pb-\\[13px\\] {\n padding-bottom: 13px;\n }\n .pb-\\[14px\\] {\n padding-bottom: 14px;\n }\n .pb-\\[16px\\] {\n padding-bottom: 16px;\n }\n .pb-\\[18px\\] {\n padding-bottom: 18px;\n }\n .pb-\\[22px\\] {\n padding-bottom: 22px;\n }\n .pb-\\[24px\\] {\n padding-bottom: 24px;\n }\n .pb-\\[30px\\] {\n padding-bottom: 30px;\n }\n .pb-\\[40px\\] {\n padding-bottom: 40px;\n }\n .pl-0 {\n padding-left: calc(var(--spacing) * 0);\n }\n .pl-0\\.5 {\n padding-left: calc(var(--spacing) * 0.5);\n }\n .pl-1 {\n padding-left: calc(var(--spacing) * 1);\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .pl-5 {\n padding-left: calc(var(--spacing) * 5);\n }\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n .pl-7 {\n padding-left: calc(var(--spacing) * 7);\n }\n .pl-8 {\n padding-left: calc(var(--spacing) * 8);\n }\n .pl-9 {\n padding-left: calc(var(--spacing) * 9);\n }\n .pl-10 {\n padding-left: calc(var(--spacing) * 10);\n }\n .pl-11 {\n padding-left: calc(var(--spacing) * 11);\n }\n .pl-14 {\n padding-left: calc(var(--spacing) * 14);\n }\n .pl-\\[2px\\] {\n padding-left: 2px;\n }\n .pl-\\[4px\\] {\n padding-left: 4px;\n }\n .pl-\\[6px\\] {\n padding-left: 6px;\n }\n .pl-\\[9px\\] {\n padding-left: 9px;\n }\n .pl-\\[10px\\] {\n padding-left: 10px;\n }\n .pl-\\[11px\\] {\n padding-left: 11px;\n }\n .pl-\\[16px\\] {\n padding-left: 16px;\n }\n .pl-\\[17px\\] {\n padding-left: 17px;\n }\n .pl-\\[20px\\] {\n padding-left: 20px;\n }\n .pl-\\[28px\\] {\n padding-left: 28px;\n }\n .pl-\\[32px\\] {\n padding-left: 32px;\n }\n .pl-\\[42px\\] {\n padding-left: 42px;\n }\n .pl-\\[84px\\] {\n padding-left: 84px;\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .text-right {\n text-align: right;\n }\n .text-start {\n text-align: start;\n }\n .align-baseline {\n vertical-align: baseline;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-top {\n vertical-align: top;\n }\n .font-\\[inherit\\] {\n font-family: inherit;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n .text-5xl {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-sm\\/6 {\n font-size: var(--text-sm);\n line-height: calc(var(--spacing) * 6);\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xl\\/7 {\n font-size: var(--text-xl);\n line-height: calc(var(--spacing) * 7);\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-xs\\/5 {\n font-size: var(--text-xs);\n line-height: calc(var(--spacing) * 5);\n }\n .text-\\[0\\.7rem\\] {\n font-size: 0.7rem;\n }\n .text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n }\n .text-\\[0\\.56rem\\] {\n font-size: 0.56rem;\n }\n .text-\\[0\\.85em\\] {\n font-size: 0.85em;\n }\n .text-\\[8\\.5px\\] {\n font-size: 8.5px;\n }\n .text-\\[8px\\] {\n font-size: 8px;\n }\n .text-\\[9\\.5px\\] {\n font-size: 9.5px;\n }\n .text-\\[9px\\] {\n font-size: 9px;\n }\n .text-\\[10\\.5px\\] {\n font-size: 10.5px;\n }\n .text-\\[10px\\] {\n font-size: 10px;\n }\n .text-\\[11\\.5px\\] {\n font-size: 11.5px;\n }\n .text-\\[11px\\] {\n font-size: 11px;\n }\n .text-\\[12\\.5px\\] {\n font-size: 12.5px;\n }\n .text-\\[12px\\] {\n font-size: 12px;\n }\n .text-\\[13\\.5px\\] {\n font-size: 13.5px;\n }\n .text-\\[13px\\] {\n font-size: 13px;\n }\n .text-\\[14px\\] {\n font-size: 14px;\n }\n .text-\\[15px\\] {\n font-size: 15px;\n }\n .text-\\[16px\\] {\n font-size: 16px;\n }\n .text-\\[17px\\] {\n font-size: 17px;\n }\n .text-\\[18px\\] {\n font-size: 18px;\n }\n .text-\\[20px\\] {\n font-size: 20px;\n }\n .text-\\[21px\\] {\n font-size: 21px;\n }\n .text-\\[22px\\] {\n font-size: 22px;\n }\n .text-\\[23px\\] {\n font-size: 23px;\n }\n .text-\\[24px\\] {\n font-size: 24px;\n }\n .text-\\[26px\\] {\n font-size: 26px;\n }\n .text-\\[28px\\] {\n font-size: 28px;\n }\n .text-\\[30px\\] {\n font-size: 30px;\n }\n .text-\\[32px\\] {\n font-size: 32px;\n }\n .text-\\[48px\\] {\n font-size: 48px;\n }\n .leading-1 {\n --tw-leading: calc(var(--spacing) * 1);\n line-height: calc(var(--spacing) * 1);\n }\n .leading-4 {\n --tw-leading: calc(var(--spacing) * 4);\n line-height: calc(var(--spacing) * 4);\n }\n .leading-5 {\n --tw-leading: calc(var(--spacing) * 5);\n line-height: calc(var(--spacing) * 5);\n }\n .leading-6 {\n --tw-leading: calc(var(--spacing) * 6);\n line-height: calc(var(--spacing) * 6);\n }\n .leading-7 {\n --tw-leading: calc(var(--spacing) * 7);\n line-height: calc(var(--spacing) * 7);\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .leading-9 {\n --tw-leading: calc(var(--spacing) * 9);\n line-height: calc(var(--spacing) * 9);\n }\n .leading-\\[1\\.1\\] {\n --tw-leading: 1.1;\n line-height: 1.1;\n }\n .leading-\\[1\\.2\\] {\n --tw-leading: 1.2;\n line-height: 1.2;\n }\n .leading-\\[1\\.3\\] {\n --tw-leading: 1.3;\n line-height: 1.3;\n }\n .leading-\\[1\\.5\\] {\n --tw-leading: 1.5;\n line-height: 1.5;\n }\n .leading-\\[1\\.6\\] {\n --tw-leading: 1.6;\n line-height: 1.6;\n }\n .leading-\\[1\\.7\\] {\n --tw-leading: 1.7;\n line-height: 1.7;\n }\n .leading-\\[1\\.08\\] {\n --tw-leading: 1.08;\n line-height: 1.08;\n }\n .leading-\\[1\\.12\\] {\n --tw-leading: 1.12;\n line-height: 1.12;\n }\n .leading-\\[1\\.15\\] {\n --tw-leading: 1.15;\n line-height: 1.15;\n }\n .leading-\\[1\\.25\\] {\n --tw-leading: 1.25;\n line-height: 1.25;\n }\n .leading-\\[1\\.35\\] {\n --tw-leading: 1.35;\n line-height: 1.35;\n }\n .leading-\\[1\\.55\\] {\n --tw-leading: 1.55;\n line-height: 1.55;\n }\n .leading-\\[1\\.65\\] {\n --tw-leading: 1.65;\n line-height: 1.65;\n }\n .leading-\\[1\\.75\\] {\n --tw-leading: 1.75;\n line-height: 1.75;\n }\n .leading-\\[1\\.95\\] {\n --tw-leading: 1.95;\n line-height: 1.95;\n }\n .leading-\\[1\\] {\n --tw-leading: 1;\n line-height: 1;\n }\n .leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .leading-\\[21px\\] {\n --tw-leading: 21px;\n line-height: 21px;\n }\n .leading-\\[24px\\] {\n --tw-leading: 24px;\n line-height: 24px;\n }\n .leading-\\[32px\\] {\n --tw-leading: 32px;\n line-height: 32px;\n }\n .leading-\\[36px\\] {\n --tw-leading: 36px;\n line-height: 36px;\n }\n .leading-\\[40px\\] {\n --tw-leading: 40px;\n line-height: 40px;\n }\n .leading-\\[56px\\] {\n --tw-leading: 56px;\n line-height: 56px;\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .leading-normal {\n --tw-leading: var(--leading-normal);\n line-height: var(--leading-normal);\n }\n .leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: var(--leading-relaxed);\n }\n .leading-snug {\n --tw-leading: var(--leading-snug);\n line-height: var(--leading-snug);\n }\n .leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n }\n .font-\\[400\\] {\n --tw-font-weight: 400;\n font-weight: 400;\n }\n .font-\\[450\\] {\n --tw-font-weight: 450;\n font-weight: 450;\n }\n .font-\\[500\\] {\n --tw-font-weight: 500;\n font-weight: 500;\n }\n .font-black {\n --tw-font-weight: var(--font-weight-black);\n font-weight: var(--font-weight-black);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-extrabold {\n --tw-font-weight: var(--font-weight-extrabold);\n font-weight: var(--font-weight-extrabold);\n }\n .font-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-\\[-0\\.01em\\] {\n --tw-tracking: -0.01em;\n letter-spacing: -0.01em;\n }\n .tracking-\\[-0\\.02em\\] {\n --tw-tracking: -0.02em;\n letter-spacing: -0.02em;\n }\n .tracking-\\[-0\\.2px\\] {\n --tw-tracking: -0.2px;\n letter-spacing: -0.2px;\n }\n .tracking-\\[-0\\.5px\\] {\n --tw-tracking: -0.5px;\n letter-spacing: -0.5px;\n }\n .tracking-\\[-0\\.6px\\] {\n --tw-tracking: -0.6px;\n letter-spacing: -0.6px;\n }\n .tracking-\\[-0\\.015em\\] {\n --tw-tracking: -0.015em;\n letter-spacing: -0.015em;\n }\n .tracking-\\[-0\\.028em\\] {\n --tw-tracking: -0.028em;\n letter-spacing: -0.028em;\n }\n .tracking-\\[0\\.01em\\] {\n --tw-tracking: 0.01em;\n letter-spacing: 0.01em;\n }\n .tracking-\\[0\\.1em\\] {\n --tw-tracking: 0.1em;\n letter-spacing: 0.1em;\n }\n .tracking-\\[0\\.02em\\] {\n --tw-tracking: 0.02em;\n letter-spacing: 0.02em;\n }\n .tracking-\\[0\\.03em\\] {\n --tw-tracking: 0.03em;\n letter-spacing: 0.03em;\n }\n .tracking-\\[0\\.04em\\] {\n --tw-tracking: 0.04em;\n letter-spacing: 0.04em;\n }\n .tracking-\\[0\\.4px\\] {\n --tw-tracking: 0.4px;\n letter-spacing: 0.4px;\n }\n .tracking-\\[0\\.05em\\] {\n --tw-tracking: 0.05em;\n letter-spacing: 0.05em;\n }\n .tracking-\\[0\\.06em\\] {\n --tw-tracking: 0.06em;\n letter-spacing: 0.06em;\n }\n .tracking-\\[0\\.6px\\] {\n --tw-tracking: 0.6px;\n letter-spacing: 0.6px;\n }\n .tracking-\\[0\\.07em\\] {\n --tw-tracking: 0.07em;\n letter-spacing: 0.07em;\n }\n .tracking-\\[0\\.08em\\] {\n --tw-tracking: 0.08em;\n letter-spacing: 0.08em;\n }\n .tracking-\\[0\\.09em\\] {\n --tw-tracking: 0.09em;\n letter-spacing: 0.09em;\n }\n .tracking-\\[0\\.10em\\] {\n --tw-tracking: 0.10em;\n letter-spacing: 0.10em;\n }\n .tracking-\\[0\\.11em\\] {\n --tw-tracking: 0.11em;\n letter-spacing: 0.11em;\n }\n .tracking-normal {\n --tw-tracking: var(--tracking-normal);\n letter-spacing: var(--tracking-normal);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .tracking-wide {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n }\n .tracking-wider {\n --tw-tracking: var(--tracking-wider);\n letter-spacing: var(--tracking-wider);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .\\[text-wrap\\:wrap\\] {\n text-wrap: wrap;\n }\n .text-balance {\n text-wrap: balance;\n }\n .text-pretty {\n text-wrap: pretty;\n }\n .text-wrap {\n text-wrap: wrap;\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .break-all {\n word-break: break-all;\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .\\!whitespace-normal {\n white-space: normal !important;\n }\n .whitespace-normal {\n white-space: normal;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre {\n white-space: pre;\n }\n .whitespace-pre-line {\n white-space: pre-line;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .\\!text-white {\n color: var(--color-white) !important;\n }\n .text-\\[\\#0d1b2a\\] {\n color: #0d1b2a;\n }\n .text-\\[\\#0f766e\\] {\n color: #0f766e;\n }\n .text-\\[\\#1F1F1F\\] {\n color: #1F1F1F;\n }\n .text-\\[\\#1F9D55\\] {\n color: #1F9D55;\n }\n .text-\\[\\#1FAE9F\\] {\n color: #1FAE9F;\n }\n .text-\\[\\#1d4ed8\\] {\n color: #1d4ed8;\n }\n .text-\\[\\#3b82f6\\] {\n color: #3b82f6;\n }\n .text-\\[\\#4E647F\\] {\n color: #4E647F;\n }\n .text-\\[\\#4b5563\\] {\n color: #4b5563;\n }\n .text-\\[\\#6b7280\\] {\n color: #6b7280;\n }\n .text-\\[\\#7e22ce\\] {\n color: #7e22ce;\n }\n .text-\\[\\#9ca3af\\] {\n color: #9ca3af;\n }\n .text-\\[\\#16a34a\\] {\n color: #16a34a;\n }\n .text-\\[\\#22c55e\\] {\n color: #22c55e;\n }\n .text-\\[\\#94a3b8\\] {\n color: #94a3b8;\n }\n .text-\\[\\#666\\] {\n color: #666;\n }\n .text-\\[\\#2563eb\\] {\n color: #2563eb;\n }\n .text-\\[\\#3763f4\\] {\n color: #3763f4;\n }\n .text-\\[\\#8799AF\\] {\n color: #8799AF;\n }\n .text-\\[\\#09090b\\] {\n color: #09090b;\n }\n .text-\\[\\#18181b\\] {\n color: #18181b;\n }\n .text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .text-\\[\\#71717A\\] {\n color: #71717A;\n }\n .text-\\[\\#71717a\\] {\n color: #71717a;\n }\n .text-\\[\\#92400e\\] {\n color: #92400e;\n }\n .text-\\[\\#111111\\] {\n color: #111111;\n }\n .text-\\[\\#166534\\] {\n color: #166534;\n }\n .text-\\[\\#222831\\] {\n color: #222831;\n }\n .text-\\[\\#334155\\] {\n color: #334155;\n }\n .text-\\[\\#374151\\] {\n color: #374151;\n }\n .text-\\[\\#475569\\] {\n color: #475569;\n }\n .text-\\[\\#979797\\] {\n color: #979797;\n }\n .text-\\[\\#B7791F\\] {\n color: #B7791F;\n }\n .text-\\[\\#D64545\\] {\n color: #D64545;\n }\n .text-\\[\\#d32f2f\\] {\n color: #d32f2f;\n }\n .text-\\[\\#e2e8f0\\] {\n color: #e2e8f0;\n }\n .text-\\[\\#ef4444\\] {\n color: #ef4444;\n }\n .text-\\[color\\:var\\(--dn-fg\\)\\] {\n color: var(--dn-fg);\n }\n .text-\\[color\\:var\\(--ob-fg\\)\\] {\n color: var(--ob-fg);\n }\n .text-\\[rgba\\(17\\,17\\,17\\,0\\.32\\)\\] {\n color: rgba(17,17,17,0.32);\n }\n .text-\\[var\\(--bc-error-color\\,\\#DC2626\\)\\] {\n color: var(--bc-error-color,#DC2626);\n }\n .text-\\[var\\(--bc-link-color\\)\\] {\n color: var(--bc-link-color);\n }\n .text-\\[var\\(--bc-link-color\\,\\#6D28D9\\)\\] {\n color: var(--bc-link-color,#6D28D9);\n }\n .text-\\[var\\(--bc-primary-button-text-color\\)\\] {\n color: var(--bc-primary-button-text-color);\n }\n .text-\\[var\\(--bc-secondary-button-text-color\\)\\] {\n color: var(--bc-secondary-button-text-color);\n }\n .text-\\[var\\(--bc-text-color\\)\\] {\n color: var(--bc-text-color);\n }\n .text-\\[var\\(--bc-text-color\\,\\#18181B\\)\\] {\n color: var(--bc-text-color,#18181B);\n }\n .text-\\[var\\(--ds-text-mid\\)\\] {\n color: var(--ds-text-mid);\n }\n .text-accent {\n color: var(--color-accent);\n }\n .text-accent-foreground {\n color: var(--color-accent-foreground);\n }\n .text-accent\\/80 {\n color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-accent) 80%, transparent);\n }\n }\n .text-amber-300 {\n color: var(--color-amber-300);\n }\n .text-amber-400 {\n color: var(--color-amber-400);\n }\n .text-amber-500 {\n color: var(--color-amber-500);\n }\n .text-amber-600 {\n color: var(--color-amber-600);\n }\n .text-amber-700 {\n color: var(--color-amber-700);\n }\n .text-amber-800 {\n color: var(--color-amber-800);\n }\n .text-amber-900 {\n color: var(--color-amber-900);\n }\n .text-amber-900\\/90 {\n color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-amber-900) 90%, transparent);\n }\n }\n .text-background {\n color: var(--color-background);\n }\n .text-black {\n color: var(--color-black);\n }\n .text-blue-400 {\n color: var(--color-blue-400);\n }\n .text-blue-500 {\n color: var(--color-blue-500);\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n .text-blue-800 {\n color: var(--color-blue-800);\n }\n .text-blue-900 {\n color: var(--color-blue-900);\n }\n .text-card-foreground {\n color: var(--color-card-foreground);\n }\n .text-current {\n color: currentcolor;\n }\n .text-destructive {\n color: var(--color-destructive);\n }\n .text-destructive-foreground {\n color: var(--color-destructive-foreground);\n }\n .text-destructive\\/70 {\n color: color-mix(in srgb, #dc2626 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-destructive) 70%, transparent);\n }\n }\n .text-destructive\\/80 {\n color: color-mix(in srgb, #dc2626 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-destructive) 80%, transparent);\n }\n }\n .text-emerald-300 {\n color: var(--color-emerald-300);\n }\n .text-emerald-500 {\n color: var(--color-emerald-500);\n }\n .text-emerald-600 {\n color: var(--color-emerald-600);\n }\n .text-emerald-700 {\n color: var(--color-emerald-700);\n }\n .text-gray-100 {\n color: var(--color-gray-100);\n }\n .text-gray-300 {\n color: var(--color-gray-300);\n }\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .text-gray-800 {\n color: var(--color-gray-800);\n }\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n .text-green-400 {\n color: var(--color-green-400);\n }\n .text-green-500 {\n color: var(--color-green-500);\n }\n .text-green-600 {\n color: var(--color-green-600);\n }\n .text-green-700 {\n color: var(--color-green-700);\n }\n .text-green-800 {\n color: var(--color-green-800);\n }\n .text-green-900 {\n color: var(--color-green-900);\n }\n .text-indigo-500 {\n color: var(--color-indigo-500);\n }\n .text-indigo-600 {\n color: var(--color-indigo-600);\n }\n .text-indigo-700 {\n color: var(--color-indigo-700);\n }\n .text-inherit {\n color: inherit;\n }\n .text-input {\n color: var(--color-input);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-muted-foreground\\/60 {\n color: color-mix(in srgb, #74716e 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-muted-foreground) 60%, transparent);\n }\n }\n .text-muted-foreground\\/70 {\n color: color-mix(in srgb, #74716e 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-muted-foreground) 70%, transparent);\n }\n }\n .text-neutral-70 {\n color: var(--color-neutral-70);\n }\n .text-neutral-300 {\n color: var(--color-neutral-300);\n }\n .text-neutral-400 {\n color: var(--color-neutral-400);\n }\n .text-neutral-500 {\n color: var(--color-neutral-500);\n }\n .text-neutral-600 {\n color: var(--color-neutral-600);\n }\n .text-neutral-700 {\n color: var(--color-neutral-700);\n }\n .text-neutral-900 {\n color: var(--color-neutral-900);\n }\n .text-orange-500 {\n color: var(--color-orange-500);\n }\n .text-orange-600 {\n color: var(--color-orange-600);\n }\n .text-orange-700 {\n color: var(--color-orange-700);\n }\n .text-orange-800 {\n color: var(--color-orange-800);\n }\n .text-primary {\n color: var(--color-primary);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-primary\\/10 {\n color: color-mix(in srgb, #18181b 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .text-primary\\/40 {\n color: color-mix(in srgb, #18181b 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 40%, transparent);\n }\n }\n .text-primary\\/50 {\n color: color-mix(in srgb, #18181b 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 50%, transparent);\n }\n }\n .text-primary\\/60 {\n color: color-mix(in srgb, #18181b 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 60%, transparent);\n }\n }\n .text-primary\\/70 {\n color: color-mix(in srgb, #18181b 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 70%, transparent);\n }\n }\n .text-purple-500 {\n color: var(--color-purple-500);\n }\n .text-purple-600 {\n color: var(--color-purple-600);\n }\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n .text-purple-800 {\n color: var(--color-purple-800);\n }\n .text-purple-900 {\n color: var(--color-purple-900);\n }\n .text-red-400 {\n color: var(--color-red-400);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-600 {\n color: var(--color-red-600);\n }\n .text-red-700 {\n color: var(--color-red-700);\n }\n .text-red-800 {\n color: var(--color-red-800);\n }\n .text-red-900 {\n color: var(--color-red-900);\n }\n .text-rose-500 {\n color: var(--color-rose-500);\n }\n .text-rose-600 {\n color: var(--color-rose-600);\n }\n .text-rose-700 {\n color: var(--color-rose-700);\n }\n .text-secondary-foreground {\n color: var(--color-secondary-foreground);\n }\n .text-sky-700 {\n color: var(--color-sky-700);\n }\n .text-slate-100 {\n color: var(--color-slate-100);\n }\n .text-slate-300 {\n color: var(--color-slate-300);\n }\n .text-slate-400 {\n color: var(--color-slate-400);\n }\n .text-slate-500 {\n color: var(--color-slate-500);\n }\n .text-slate-600 {\n color: var(--color-slate-600);\n }\n .text-slate-700 {\n color: var(--color-slate-700);\n }\n .text-slate-800 {\n color: var(--color-slate-800);\n }\n .text-slate-900 {\n color: var(--color-slate-900);\n }\n .text-slate-950 {\n color: var(--color-slate-950);\n }\n .text-teal-400 {\n color: var(--color-teal-400);\n }\n .text-teal-700 {\n color: var(--color-teal-700);\n }\n .text-teal-900 {\n color: var(--color-teal-900);\n }\n .text-teal-900\\/70 {\n color: color-mix(in srgb, oklch(38.6% 0.063 188.416) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-900) 70%, transparent);\n }\n }\n .text-teal-900\\/80 {\n color: color-mix(in srgb, oklch(38.6% 0.063 188.416) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-900) 80%, transparent);\n }\n }\n .text-teal-900\\/90 {\n color: color-mix(in srgb, oklch(38.6% 0.063 188.416) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-900) 90%, transparent);\n }\n }\n .text-transparent {\n color: transparent;\n }\n .text-violet-600 {\n color: var(--color-violet-600);\n }\n .text-violet-700 {\n color: var(--color-violet-700);\n }\n .text-violet-800 {\n color: var(--color-violet-800);\n }\n .text-white {\n color: var(--color-white);\n }\n .text-white\\/35 {\n color: color-mix(in srgb, #fff 35%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 35%, transparent);\n }\n }\n .text-white\\/40 {\n color: color-mix(in srgb, #fff 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 40%, transparent);\n }\n }\n .text-white\\/70 {\n color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n .text-yellow-300 {\n color: var(--color-yellow-300);\n }\n .text-yellow-400 {\n color: var(--color-yellow-400);\n }\n .text-yellow-500 {\n color: var(--color-yellow-500);\n }\n .text-yellow-600 {\n color: var(--color-yellow-600);\n }\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n .text-yellow-800 {\n color: var(--color-yellow-800);\n }\n .text-yellow-900 {\n color: var(--color-yellow-900);\n }\n .text-zinc-500 {\n color: var(--color-zinc-500);\n }\n .text-zinc-600 {\n color: var(--color-zinc-600);\n }\n .text-zinc-900 {\n color: var(--color-zinc-900);\n }\n .capitalize {\n text-transform: capitalize;\n }\n .lowercase {\n text-transform: lowercase;\n }\n .normal-case {\n text-transform: none;\n }\n .uppercase {\n text-transform: uppercase;\n }\n .uppercase\\! {\n text-transform: uppercase !important;\n }\n .italic {\n font-style: italic;\n }\n .ordinal {\n --tw-ordinal: ordinal;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .no-underline {\n text-decoration-line: none;\n }\n .underline {\n text-decoration-line: underline;\n }\n .decoration-muted-foreground\\/50 {\n text-decoration-color: color-mix(in srgb, #74716e 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n text-decoration-color: color-mix(in oklab, var(--color-muted-foreground) 50%, transparent);\n }\n }\n .decoration-dotted {\n text-decoration-style: dotted;\n }\n .decoration-solid {\n text-decoration-style: solid;\n }\n .underline-offset-2 {\n text-underline-offset: 2px;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .underline-offset-\\[3px\\] {\n text-underline-offset: 3px;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .caret-red-600 {\n caret-color: var(--color-red-600);\n }\n .caret-slate-900 {\n caret-color: var(--color-slate-900);\n }\n .accent-\\[var\\(--brand\\)\\] {\n accent-color: var(--brand);\n }\n .accent-accent {\n accent-color: var(--color-accent);\n }\n .accent-black {\n accent-color: var(--color-black);\n }\n .accent-primary {\n accent-color: var(--color-primary);\n }\n .\\[color-scheme\\:light\\] {\n color-scheme: light;\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-10 {\n opacity: 10%;\n }\n .opacity-30 {\n opacity: 30%;\n }\n .opacity-40 {\n opacity: 40%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-55 {\n opacity: 55%;\n }\n .opacity-60 {\n opacity: 60%;\n }\n .opacity-70 {\n opacity: 70%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .opacity-80 {\n opacity: 80%;\n }\n .opacity-90 {\n opacity: 90%;\n }\n .opacity-95 {\n opacity: 95%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .opacity-\\[0\\.28\\] {\n opacity: 0.28;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow\\! {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-border\\)\\)\\] {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_2px_8px_rgba\\(217\\,74\\,30\\,0\\.15\\)\\] {\n --tw-shadow: 0 2px 8px var(--tw-shadow-color, rgba(217,74,30,0.15));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_3px_10px_rgba\\(0\\,0\\,0\\,0\\.14\\)\\] {\n --tw-shadow: 0 3px 10px var(--tw-shadow-color, rgba(0,0,0,0.14));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_8px_32px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\,0_2px_8px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\] {\n --tw-shadow: 0 8px 32px var(--tw-shadow-color, rgba(0,0,0,0.12)), 0 2px 8px var(--tw-shadow-color, rgba(0,0,0,0.06));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0px_0px_4px_0px_\\#e4e4e7\\] {\n --tw-shadow: 0px 0px 4px 0px var(--tw-shadow-color, #e4e4e7);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0px_1px_2px_0px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\] {\n --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, rgba(0,0,0,0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0px_10px_15px_-3px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\,0px_4px_6px_-2px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\] {\n --tw-shadow: 0px 10px 15px -3px var(--tw-shadow-color, rgba(0,0,0,0.1)), 0px 4px 6px -2px var(--tw-shadow-color, rgba(0,0,0,0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[2px_0_4px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\] {\n --tw-shadow: 2px 0 4px var(--tw-shadow-color, rgba(0,0,0,0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[inset_0_-1px_0_var\\(--border\\)\\] {\n --tw-shadow: inset 0 -1px 0 var(--tw-shadow-color, var(--border));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[inset_0_1px_0_rgba\\(255\\,255\\,255\\,\\.2\\)\\] {\n --tw-shadow: inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,.2));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[inset_0_1px_0_rgba\\(255\\,255\\,255\\,\\.16\\)\\] {\n --tw-shadow: inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,.16));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[var\\(--shadow\\)\\] {\n --tw-shadow: var(--shadow);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-inner {\n --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-none {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow\\/ring {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-0 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-\\[1\\.5px\\] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-\\[3px\\] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .\\[box-shadow\\:none\\] {\n box-shadow: none;\n }\n .shadow-card {\n --tw-shadow-color: #ffffff;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-shadow-color: color-mix(in oklab, var(--color-card) var(--tw-shadow-alpha), transparent);\n }\n }\n .ring-\\[\\#10b981\\]\\/40 {\n --tw-ring-color: color-mix(in oklab, #10b981 40%, transparent);\n }\n .ring-black\\/5 {\n --tw-ring-color: color-mix(in srgb, #000 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n }\n .ring-blue-300\\/60 {\n --tw-ring-color: color-mix(in srgb, oklch(80.9% 0.105 251.813) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-blue-300) 60%, transparent);\n }\n }\n .ring-blue-500 {\n --tw-ring-color: var(--color-blue-500);\n }\n .ring-border {\n --tw-ring-color: var(--color-border);\n }\n .ring-card {\n --tw-ring-color: var(--color-card);\n }\n .ring-gray-300 {\n --tw-ring-color: var(--color-gray-300);\n }\n .ring-gray-900\\/10 {\n --tw-ring-color: color-mix(in srgb, oklch(21% 0.034 264.665) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-gray-900) 10%, transparent);\n }\n }\n .ring-orange-400 {\n --tw-ring-color: var(--color-orange-400);\n }\n .ring-primary {\n --tw-ring-color: var(--color-primary);\n }\n .ring-sidebar-ring {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n .ring-offset-4 {\n --tw-ring-offset-width: 4px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\n }\n .ring-offset-gray-200 {\n --tw-ring-offset-color: var(--color-gray-200);\n }\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .outline-1 {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .-outline-offset-1 {\n outline-offset: calc(1px * -1);\n }\n .outline-gray-300 {\n outline-color: var(--color-gray-300);\n }\n .outline-red-300 {\n outline-color: var(--color-red-300);\n }\n .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .blur-2xl {\n --tw-blur: blur(var(--blur-2xl));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .blur-3xl {\n --tw-blur: blur(var(--blur-3xl));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .drop-shadow-\\[0_3px_9px_rgba\\(124\\,92\\,255\\,0\\.4\\)\\] {\n --tw-drop-shadow-size: drop-shadow(0 3px 9px var(--tw-drop-shadow-color, rgba(124,92,255,0.4)));\n --tw-drop-shadow: var(--tw-drop-shadow-size);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .drop-shadow-md {\n --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.12)));\n --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .\\!filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter\\! {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;\n }\n .backdrop-blur {\n --tw-backdrop-blur: blur(8px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-\\[1px\\] {\n --tw-backdrop-blur: blur(1px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-sm {\n --tw-backdrop-blur: blur(var(--blur-sm));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-xl {\n --tw-backdrop-blur: blur(var(--blur-xl));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition\\! {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-\\[border-color\\,box-shadow\\,background-color\\] {\n transition-property: border-color,box-shadow,background-color;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[border-color\\,box-shadow\\] {\n transition-property: border-color,box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[color\\,box-shadow\\] {\n transition-property: color,box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[filter\\] {\n transition-property: filter;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[grid-template-rows\\] {\n transition-property: grid-template-rows;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[left\\,right\\,width\\] {\n transition-property: left,right,width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[margin\\,opacity\\] {\n transition-property: margin,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[margin-right\\] {\n transition-property: margin-right;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[opacity\\,transform\\] {\n transition-property: opacity,transform;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[right\\] {\n transition-property: right;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[transform\\,width\\,height\\,opacity\\] {\n transition-property: transform,width,height,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\,height\\,padding\\] {\n transition-property: width,height,padding;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\,right\\,margin-right\\] {\n transition-property: width,right,margin-right;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\] {\n transition-property: width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-none {\n transition-property: none;\n }\n .duration-75 {\n --tw-duration: 75ms;\n transition-duration: 75ms;\n }\n .duration-100 {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n .duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .duration-\\[100ms\\] {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n .duration-\\[120ms\\] {\n --tw-duration: 120ms;\n transition-duration: 120ms;\n }\n .duration-\\[130ms\\] {\n --tw-duration: 130ms;\n transition-duration: 130ms;\n }\n .duration-\\[140ms\\] {\n --tw-duration: 140ms;\n transition-duration: 140ms;\n }\n .duration-\\[160ms\\] {\n --tw-duration: 160ms;\n transition-duration: 160ms;\n }\n .duration-\\[180ms\\] {\n --tw-duration: 180ms;\n transition-duration: 180ms;\n }\n .duration-\\[220ms\\] {\n --tw-duration: 220ms;\n transition-duration: 220ms;\n }\n .duration-\\[250ms\\] {\n --tw-duration: 250ms;\n transition-duration: 250ms;\n }\n .duration-\\[280ms\\] {\n --tw-duration: 280ms;\n transition-duration: 280ms;\n }\n .duration-\\[380ms\\] {\n --tw-duration: 380ms;\n transition-duration: 380ms;\n }\n .duration-\\[500ms\\] {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .duration-\\[600ms\\] {\n --tw-duration: 600ms;\n transition-duration: 600ms;\n }\n .ease-\\[cubic-bezier\\(0\\.2\\,0\\.8\\,0\\.2\\,1\\)\\] {\n --tw-ease: cubic-bezier(0.2,0.8,0.2,1);\n transition-timing-function: cubic-bezier(0.2,0.8,0.2,1);\n }\n .ease-\\[cubic-bezier\\(0\\.34\\,1\\.42\\,0\\.64\\,1\\)\\] {\n --tw-ease: cubic-bezier(0.34,1.42,0.64,1);\n transition-timing-function: cubic-bezier(0.34,1.42,0.64,1);\n }\n .ease-in {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .will-change-transform {\n will-change: transform;\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-all {\n -webkit-user-select: all;\n user-select: all;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .\\[-ms-overflow-style\\:none\\] {\n -ms-overflow-style: none;\n }\n .\\[-webkit-overflow-scrolling\\:touch\\] {\n -webkit-overflow-scrolling: touch;\n }\n .\\[cron\\:alarm-detection\\] {\n cron: alarm-detection;\n }\n .\\[cron\\:bulk-subscribe-failure-retention\\] {\n cron: bulk-subscribe-failure-retention;\n }\n .\\[cron\\:bulk-subscribe-watchdog\\] {\n cron: bulk-subscribe-watchdog;\n }\n .\\[cron\\:daily-summary\\] {\n cron: daily-summary;\n }\n .\\[cron\\:event-processor\\] {\n cron: event-processor;\n }\n .\\[cron\\:invitation-retention\\] {\n cron: invitation-retention;\n }\n .\\[cron\\:opt-out-token-retention\\] {\n cron: opt-out-token-retention;\n }\n .\\[cron\\:payout-calc\\] {\n cron: payout-calc;\n }\n .\\[cron\\:session-cleanup\\] {\n cron: session-cleanup;\n }\n .\\[cron\\:testing-expiry\\] {\n cron: testing-expiry;\n }\n .\\[daily-summary\\:backfill\\] {\n daily-summary: backfill;\n }\n .\\[daily-summary\\:diag\\] {\n daily-summary: diag;\n }\n .\\[event-processor\\:diag\\] {\n event-processor: diag;\n }\n .\\[event-processor\\:parsers\\] {\n event-processor: parsers;\n }\n .\\[lead-pipeline\\:diag\\] {\n lead-pipeline: diag;\n }\n .\\[min-inline-size\\:0\\] {\n min-inline-size: 0;\n }\n .\\[payout-calc\\:diag\\] {\n payout-calc: diag;\n }\n .\\[payout\\:trigger\\] {\n payout: trigger;\n }\n .\\[scrollbar-gutter\\:stable\\] {\n scrollbar-gutter: stable;\n }\n .\\[scrollbar-width\\:none\\] {\n scrollbar-width: none;\n }\n .\\[scrollbar-width\\:thin\\] {\n scrollbar-width: thin;\n }\n .\\[transition\\:max-height_200ms\\,opacity_150ms\\,padding_200ms\\] {\n transition: max-height 200ms,opacity 150ms,padding 200ms;\n }\n .\\[transition\\:opacity_120ms\\,margin_250ms_ease-in-out\\] {\n transition: opacity 120ms,margin 250ms ease-in-out;\n }\n .\\[transition\\:opacity_150ms\\,max-width_250ms_ease-in-out\\] {\n transition: opacity 150ms,max-width 250ms ease-in-out;\n }\n .\\[transition\\:opacity_150ms_ease\\,max-width_250ms_ease-in-out\\] {\n transition: opacity 150ms ease,max-width 250ms ease-in-out;\n }\n .ring-inset {\n --tw-ring-inset: inset;\n }\n .group-focus-within\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):focus-within *) {\n opacity: 100%;\n }\n }\n .group-hover\\:block {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n display: block;\n }\n }\n }\n .group-hover\\:border-gray-400 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n }\n .group-hover\\:bg-black\\/20 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 20%, transparent);\n }\n }\n }\n }\n .group-hover\\:bg-black\\/30 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n }\n }\n }\n .group-hover\\:text-blue-600 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n }\n .group-hover\\:opacity-60 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 60%;\n }\n }\n }\n .group-hover\\:opacity-80 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 80%;\n }\n }\n }\n .group-hover\\:opacity-100 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-hover\\:brightness-110 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n --tw-brightness: brightness(110%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n }\n .group-hover\\:brightness-\\[1\\.18\\] {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n --tw-brightness: brightness(1.18);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n }\n .group-hover\\/card\\:pointer-events-auto {\n &:is(:where(.group\\/card):hover *) {\n @media (hover: hover) {\n pointer-events: auto;\n }\n }\n }\n .group-hover\\/card\\:translate-y-0 {\n &:is(:where(.group\\/card):hover *) {\n @media (hover: hover) {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .group-hover\\/card\\:opacity-100 {\n &:is(:where(.group\\/card):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-hover\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pr-8 {\n &:is(:where(.group\\/menu-item):has(*[data-sidebar=\"menu-action\"]) *) {\n padding-right: calc(var(--spacing) * 8);\n }\n }\n .group-data-\\[checked\\]\\:translate-x-5 {\n &:is(:where(.group)[data-checked] *) {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .group-data-\\[checked\\]\\:opacity-0 {\n &:is(:where(.group)[data-checked] *) {\n opacity: 0%;\n }\n }\n .group-data-\\[checked\\]\\:opacity-100 {\n &:is(:where(.group)[data-checked] *) {\n opacity: 100%;\n }\n }\n .group-data-\\[checked\\]\\:duration-100 {\n &:is(:where(.group)[data-checked] *) {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n }\n .group-data-\\[checked\\]\\:duration-200 {\n &:is(:where(.group)[data-checked] *) {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n }\n .group-data-\\[checked\\]\\:ease-in {\n &:is(:where(.group)[data-checked] *) {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n }\n .group-data-\\[checked\\]\\:ease-out {\n &:is(:where(.group)[data-checked] *) {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:-mt-8 {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n margin-top: calc(var(--spacing) * -8);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:hidden {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n display: none;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:size-8\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--spacing) * 8) !important;\n height: calc(var(--spacing) * 8) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\) {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: var(--sidebar-width-icon);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\] {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)));\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\] {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n overflow: hidden;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:p-0\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 0) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:p-2\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 2) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:opacity-0 {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n opacity: 0%;\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n right: calc(var(--sidebar-width) * -1);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n left: calc(var(--sidebar-width) * -1);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:w-0 {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n width: calc(var(--spacing) * 0);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0 {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .group-data-\\[side\\=left\\]\\:-right-4 {\n &:is(:where(.group)[data-side=\"left\"] *) {\n right: calc(var(--spacing) * -4);\n }\n }\n .group-data-\\[side\\=left\\]\\:border-r {\n &:is(:where(.group)[data-side=\"left\"] *) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .group-data-\\[side\\=right\\]\\:left-0 {\n &:is(:where(.group)[data-side=\"right\"] *) {\n left: calc(var(--spacing) * 0);\n }\n }\n .group-data-\\[side\\=right\\]\\:rotate-180 {\n &:is(:where(.group)[data-side=\"right\"] *) {\n rotate: 180deg;\n }\n }\n .group-data-\\[side\\=right\\]\\:border-l {\n &:is(:where(.group)[data-side=\"right\"] *) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .group-data-\\[size\\=default\\]\\/switch\\:size-4 {\n &:is(:where(.group\\/switch)[data-size=\"default\"] *) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .group-data-\\[size\\=sm\\]\\/switch\\:size-3 {\n &:is(:where(.group\\/switch)[data-size=\"sm\"] *) {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n .group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none {\n &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n border-radius: 0;\n }\n }\n .group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2 {\n &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n padding-inline: calc(var(--spacing) * 2);\n }\n }\n .group-data-\\[state\\=checked\\]\\:opacity-100 {\n &:is(:where(.group)[data-state=\"checked\"] *) {\n opacity: 100%;\n }\n }\n .group-data-\\[state\\=open\\]\\/tagswitch\\:rotate-180 {\n &:is(:where(.group\\/tagswitch)[data-state=\"open\"] *) {\n rotate: 180deg;\n }\n }\n .group-data-\\[state\\=unchecked\\]\\:opacity-100 {\n &:is(:where(.group)[data-state=\"unchecked\"] *) {\n opacity: 100%;\n }\n }\n .group-data-\\[variant\\=floating\\]\\:rounded-lg {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-radius: var(--radius-lg);\n }\n }\n .group-data-\\[variant\\=floating\\]\\:border {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .group-data-\\[variant\\=floating\\]\\:shadow-sm {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .peer-disabled\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n .peer-disabled\\:opacity-70 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 70%;\n }\n }\n .peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5 {\n &:is(:where(.peer\\/menu-button)[data-size=\"default\"] ~ *) {\n top: calc(var(--spacing) * 1.5);\n }\n }\n .peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5 {\n &:is(:where(.peer\\/menu-button)[data-size=\"lg\"] ~ *) {\n top: calc(var(--spacing) * 2.5);\n }\n }\n .peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1 {\n &:is(:where(.peer\\/menu-button)[data-size=\"sm\"] ~ *) {\n top: calc(var(--spacing) * 1);\n }\n }\n .selection\\:bg-primary {\n & *::selection {\n background-color: var(--color-primary);\n }\n &::selection {\n background-color: var(--color-primary);\n }\n }\n .selection\\:text-primary-foreground {\n & *::selection {\n color: var(--color-primary-foreground);\n }\n &::selection {\n color: var(--color-primary-foreground);\n }\n }\n .file\\:inline-flex {\n &::file-selector-button {\n display: inline-flex;\n }\n }\n .file\\:h-7 {\n &::file-selector-button {\n height: calc(var(--spacing) * 7);\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .placeholder\\:text-gray-400 {\n &::placeholder {\n color: var(--color-gray-400);\n }\n }\n .placeholder\\:text-muted-foreground {\n &::placeholder {\n color: var(--color-muted-foreground);\n }\n }\n .placeholder\\:text-red-300 {\n &::placeholder {\n color: var(--color-red-300);\n }\n }\n .placeholder\\:text-slate-400 {\n &::placeholder {\n color: var(--color-slate-400);\n }\n }\n .placeholder\\:opacity-85 {\n &::placeholder {\n opacity: 85%;\n }\n }\n .before\\:absolute {\n &::before {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .before\\:top-0 {\n &::before {\n content: var(--tw-content);\n top: calc(var(--spacing) * 0);\n }\n }\n .before\\:bottom-0 {\n &::before {\n content: var(--tw-content);\n bottom: calc(var(--spacing) * 0);\n }\n }\n .before\\:left-0 {\n &::before {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .before\\:w-px {\n &::before {\n content: var(--tw-content);\n width: 1px;\n }\n }\n .before\\:bg-border {\n &::before {\n content: var(--tw-content);\n background-color: var(--color-border);\n }\n }\n .after\\:absolute {\n &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .after\\:-inset-2 {\n &::after {\n content: var(--tw-content);\n inset: calc(var(--spacing) * -2);\n }\n }\n .after\\:-inset-x-3 {\n &::after {\n content: var(--tw-content);\n inset-inline: calc(var(--spacing) * -3);\n }\n }\n .after\\:-inset-y-2 {\n &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * -2);\n }\n }\n .after\\:inset-y-0 {\n &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .after\\:right-0 {\n &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * 0);\n }\n }\n .after\\:bottom-0 {\n &::after {\n content: var(--tw-content);\n bottom: calc(var(--spacing) * 0);\n }\n }\n .after\\:left-0 {\n &::after {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .after\\:left-1\\/2 {\n &::after {\n content: var(--tw-content);\n left: calc(1/2 * 100%);\n }\n }\n .after\\:h-\\[2px\\] {\n &::after {\n content: var(--tw-content);\n height: 2px;\n }\n }\n .after\\:w-\\[2px\\] {\n &::after {\n content: var(--tw-content);\n width: 2px;\n }\n }\n .after\\:scale-x-0 {\n &::after {\n content: var(--tw-content);\n --tw-scale-x: 0%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .after\\:bg-\\[var\\(--tab-indicator-color\\)\\] {\n &::after {\n content: var(--tw-content);\n background-color: var(--tab-indicator-color);\n }\n }\n .after\\:transition-transform {\n &::after {\n content: var(--tw-content);\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n &::after {\n content: var(--tw-content);\n left: 100%;\n }\n }\n }\n .first\\:border-l-0 {\n &:first-child {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n .last\\:mb-0 {\n &:last-child {\n margin-bottom: calc(var(--spacing) * 0);\n }\n }\n .last\\:border-0 {\n &:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .last\\:border-r-0 {\n &:last-child {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n }\n .last\\:border-b {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .last\\:border-b-0 {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .last\\:pb-0 {\n &:last-child {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n .last\\:pb-\\[3px\\] {\n &:last-child {\n padding-bottom: 3px;\n }\n }\n .focus-within\\:pointer-events-auto {\n &:focus-within {\n pointer-events: auto;\n }\n }\n .focus-within\\:relative {\n &:focus-within {\n position: relative;\n }\n }\n .focus-within\\:translate-y-0 {\n &:focus-within {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .focus-within\\:opacity-100 {\n &:focus-within {\n opacity: 100%;\n }\n }\n .focus-within\\:ring-2 {\n &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-\\[3px\\] {\n &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-accent {\n &:focus-within {\n --tw-ring-color: var(--color-accent);\n }\n }\n .focus-within\\:ring-accent\\/40 {\n &:focus-within {\n --tw-ring-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n }\n .focus-within\\:ring-blue-600 {\n &:focus-within {\n --tw-ring-color: var(--color-blue-600);\n }\n }\n .focus-within\\:ring-offset-2 {\n &:focus-within {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-within\\:outline-none {\n &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .hover\\:-translate-y-0\\.5 {\n &:hover {\n @media (hover: hover) {\n --tw-translate-y: calc(var(--spacing) * -0.5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .hover\\:-translate-y-px {\n &:hover {\n @media (hover: hover) {\n --tw-translate-y: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .hover\\:translate-y-0 {\n &:hover {\n @media (hover: hover) {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .hover\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\n }\n }\n }\n .hover\\:border-\\[\\#2563eb\\] {\n &:hover {\n @media (hover: hover) {\n border-color: #2563eb;\n }\n }\n }\n .hover\\:border-\\[color\\:var\\(--ob-bd-h\\)\\] {\n &:hover {\n @media (hover: hover) {\n border-color: var(--ob-bd-h);\n }\n }\n }\n .hover\\:border-accent\\/50 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n .hover\\:border-blue-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-400);\n }\n }\n }\n .hover\\:border-blue-600 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-600);\n }\n }\n }\n .hover\\:border-border {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-border);\n }\n }\n }\n .hover\\:border-gray-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-300);\n }\n }\n }\n .hover\\:border-gray-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n }\n .hover\\:border-gray-500 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-500);\n }\n }\n }\n .hover\\:border-indigo-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-indigo-300);\n }\n }\n }\n .hover\\:border-muted-foreground {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-muted-foreground);\n }\n }\n }\n .hover\\:border-orange-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-orange-400);\n }\n }\n }\n .hover\\:border-primary {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-primary);\n }\n }\n }\n .hover\\:border-primary\\/40 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #18181b 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);\n }\n }\n }\n }\n .hover\\:border-primary\\/50 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #18181b 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);\n }\n }\n }\n }\n .hover\\:border-purple-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-purple-400);\n }\n }\n }\n .hover\\:border-red-200 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-200);\n }\n }\n }\n .hover\\:border-red-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-300);\n }\n }\n }\n .hover\\:border-red-600 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-600);\n }\n }\n }\n .hover\\:border-slate-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-400);\n }\n }\n }\n .hover\\:\\!bg-\\[\\#12478a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #12478a !important;\n }\n }\n }\n .hover\\:\\!bg-\\[\\#af543d\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #af543d !important;\n }\n }\n }\n .hover\\:bg-\\[\\#1a2e4a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #1a2e4a;\n }\n }\n }\n .hover\\:bg-\\[\\#1d4ed8\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #1d4ed8;\n }\n }\n }\n .hover\\:bg-\\[\\#2d3544\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #2d3544;\n }\n }\n }\n .hover\\:bg-\\[\\#16a34a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #16a34a;\n }\n }\n }\n .hover\\:bg-\\[\\#166FE5\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #166FE5;\n }\n }\n }\n .hover\\:bg-\\[\\#18181b\\]\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, #18181b 90%, transparent);\n }\n }\n }\n .hover\\:bg-\\[\\#E88B00\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #E88B00;\n }\n }\n }\n .hover\\:bg-\\[\\#F1F4F8\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #F1F4F8;\n }\n }\n }\n .hover\\:bg-\\[\\#d0d8e4\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #d0d8e4;\n }\n }\n }\n .hover\\:bg-\\[\\#f2f2f2\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #f2f2f2;\n }\n }\n }\n .hover\\:bg-\\[\\#fafafa\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #fafafa;\n }\n }\n }\n .hover\\:bg-\\[color\\:var\\(--ob-bg-h\\)\\] {\n &:hover {\n @media (hover: hover) {\n background-color: var(--ob-bg-h);\n }\n }\n }\n .hover\\:bg-\\[var\\(--bc-primary-button-background-color\\)\\] {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bc-primary-button-background-color);\n }\n }\n }\n .hover\\:bg-\\[var\\(--bc-secondary-button-background-color\\)\\] {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bc-secondary-button-background-color);\n }\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n .hover\\:bg-accent\\/10 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);\n }\n }\n }\n }\n .hover\\:bg-accent\\/30 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 30%, transparent);\n }\n }\n }\n }\n .hover\\:bg-accent\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-accent\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-amber-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-amber-100);\n }\n }\n }\n .hover\\:bg-black\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-blue-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-100);\n }\n }\n }\n .hover\\:bg-blue-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-200);\n }\n }\n }\n .hover\\:bg-blue-500 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-500);\n }\n }\n }\n .hover\\:bg-blue-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-700);\n }\n }\n }\n .hover\\:bg-border {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-border);\n }\n }\n }\n .hover\\:bg-border\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #e4e4e7 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-border) 60%, transparent);\n }\n }\n }\n }\n .hover\\:bg-card {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-card);\n }\n }\n }\n .hover\\:bg-destructive {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-destructive);\n }\n }\n }\n .hover\\:bg-destructive\\/10 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n }\n }\n .hover\\:bg-destructive\\/20 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-gray-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-50);\n }\n }\n }\n .hover\\:bg-gray-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-100);\n }\n }\n }\n .hover\\:bg-gray-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-200);\n }\n }\n }\n .hover\\:bg-gray-300 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-300);\n }\n }\n }\n .hover\\:bg-gray-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-800);\n }\n }\n }\n .hover\\:bg-green-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-green-700);\n }\n }\n }\n .hover\\:bg-indigo-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-indigo-50);\n }\n }\n }\n .hover\\:bg-indigo-50\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(96.2% 0.018 272.314) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-50) 60%, transparent);\n }\n }\n }\n }\n .hover\\:bg-indigo-500\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-500) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .hover\\:bg-muted\\/30 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 30%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/40 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 40%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/70 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 70%, transparent);\n }\n }\n }\n }\n .hover\\:bg-neutral-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-neutral-100);\n }\n }\n }\n .hover\\:bg-neutral-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-neutral-200);\n }\n }\n }\n .hover\\:bg-orange-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-orange-100);\n }\n }\n }\n .hover\\:bg-primary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-purple-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-purple-100);\n }\n }\n }\n .hover\\:bg-purple-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-purple-700);\n }\n }\n }\n .hover\\:bg-red-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-50);\n }\n }\n }\n .hover\\:bg-red-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-200);\n }\n }\n }\n .hover\\:bg-red-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-700);\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-slate-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-50);\n }\n }\n }\n .hover\\:bg-slate-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-100);\n }\n }\n }\n .hover\\:bg-slate-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-800);\n }\n }\n }\n .hover\\:bg-teal-600 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-teal-600);\n }\n }\n }\n .hover\\:bg-teal-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-teal-700);\n }\n }\n }\n .hover\\:bg-transparent {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n .hover\\:bg-violet-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-violet-700);\n }\n }\n }\n .hover\\:bg-violet-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-violet-800);\n }\n }\n }\n .hover\\:bg-white {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n .hover\\:bg-white\\/20 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n }\n .hover\\:bg-white\\/\\[0\\.04\\] {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 4%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 4%, transparent);\n }\n }\n }\n }\n .hover\\:bg-yellow-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-yellow-700);\n }\n }\n }\n .hover\\:bg-zinc-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-zinc-100);\n }\n }\n }\n .hover\\:bg-zinc-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-zinc-800);\n }\n }\n }\n .hover\\:text-\\[\\#1d4ed8\\] {\n &:hover {\n @media (hover: hover) {\n color: #1d4ed8;\n }\n }\n }\n .hover\\:text-\\[\\#6b7280\\] {\n &:hover {\n @media (hover: hover) {\n color: #6b7280;\n }\n }\n }\n .hover\\:text-\\[\\#18181b\\] {\n &:hover {\n @media (hover: hover) {\n color: #18181b;\n }\n }\n }\n .hover\\:text-\\[\\#64748b\\] {\n &:hover {\n @media (hover: hover) {\n color: #64748b;\n }\n }\n }\n .hover\\:text-\\[color\\:var\\(--dn-fg-hover\\)\\] {\n &:hover {\n @media (hover: hover) {\n color: var(--dn-fg-hover);\n }\n }\n }\n .hover\\:text-\\[color\\:var\\(--ob-fg-h\\)\\] {\n &:hover {\n @media (hover: hover) {\n color: var(--ob-fg-h);\n }\n }\n }\n .hover\\:text-\\[var\\(--bc-secondary-button-text-color\\)\\] {\n &:hover {\n @media (hover: hover) {\n color: var(--bc-secondary-button-text-color);\n }\n }\n }\n .hover\\:text-accent {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent);\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .hover\\:text-accent\\/80 {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-accent) 80%, transparent);\n }\n }\n }\n }\n .hover\\:text-black {\n &:hover {\n @media (hover: hover) {\n color: var(--color-black);\n }\n }\n }\n .hover\\:text-blue-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-500);\n }\n }\n }\n .hover\\:text-blue-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n }\n .hover\\:text-blue-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-700);\n }\n }\n }\n .hover\\:text-blue-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-800);\n }\n }\n }\n .hover\\:text-blue-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-900);\n }\n }\n }\n .hover\\:text-destructive {\n &:hover {\n @media (hover: hover) {\n color: var(--color-destructive);\n }\n }\n }\n .hover\\:text-gray-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-500);\n }\n }\n }\n .hover\\:text-gray-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-600);\n }\n }\n }\n .hover\\:text-gray-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-700);\n }\n }\n }\n .hover\\:text-gray-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-800);\n }\n }\n }\n .hover\\:text-gray-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-900);\n }\n }\n }\n .hover\\:text-green-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-green-900);\n }\n }\n }\n .hover\\:text-indigo-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-600);\n }\n }\n }\n .hover\\:text-muted-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-muted-foreground);\n }\n }\n }\n .hover\\:text-neutral-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-neutral-900);\n }\n }\n }\n .hover\\:text-orange-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-orange-500);\n }\n }\n }\n .hover\\:text-primary {\n &:hover {\n @media (hover: hover) {\n color: var(--color-primary);\n }\n }\n }\n .hover\\:text-primary\\/60 {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #18181b 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 60%, transparent);\n }\n }\n }\n }\n .hover\\:text-red-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-500);\n }\n }\n }\n .hover\\:text-red-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-600);\n }\n }\n }\n .hover\\:text-red-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-700);\n }\n }\n }\n .hover\\:text-red-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-800);\n }\n }\n }\n .hover\\:text-red-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-900);\n }\n }\n }\n .hover\\:text-slate-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-600);\n }\n }\n }\n .hover\\:text-slate-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-700);\n }\n }\n }\n .hover\\:text-slate-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-800);\n }\n }\n }\n .hover\\:text-teal-950 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-teal-950);\n }\n }\n }\n .hover\\:text-violet-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-violet-800);\n }\n }\n }\n .hover\\:text-white {\n &:hover {\n @media (hover: hover) {\n color: var(--color-white);\n }\n }\n }\n .hover\\:text-yellow-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-yellow-900);\n }\n }\n }\n .hover\\:no-underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: none;\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .hover\\:opacity-70 {\n &:hover {\n @media (hover: hover) {\n opacity: 70%;\n }\n }\n }\n .hover\\:opacity-80 {\n &:hover {\n @media (hover: hover) {\n opacity: 80%;\n }\n }\n }\n .hover\\:opacity-90 {\n &:hover {\n @media (hover: hover) {\n opacity: 90%;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .hover\\:opacity-\\[0\\.88\\] {\n &:hover {\n @media (hover: hover) {\n opacity: 0.88;\n }\n }\n }\n .hover\\:shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-accent\\)\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-\\[0_4px_14px_rgba\\(37\\,99\\,235\\,0\\.1\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 4px 14px var(--tw-shadow-color, rgba(37,99,235,0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-\\[0_8px_24px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 8px 24px var(--tw-shadow-color, rgba(0,0,0,0.08));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-md {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-sm {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-card {\n &:hover {\n @media (hover: hover) {\n --tw-shadow-color: #ffffff;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-shadow-color: color-mix(in oklab, var(--color-card) var(--tw-shadow-alpha), transparent);\n }\n }\n }\n }\n .hover\\:brightness-110 {\n &:hover {\n @media (hover: hover) {\n --tw-brightness: brightness(110%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n }\n .hover\\:brightness-\\[1\\.15\\] {\n &:hover {\n @media (hover: hover) {\n --tw-brightness: brightness(1.15);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n }\n .focus\\:relative {\n &:focus {\n position: relative;\n }\n }\n .focus\\:z-10 {\n &:focus {\n z-index: 10;\n }\n }\n .focus\\:z-20 {\n &:focus {\n z-index: 20;\n }\n }\n .focus\\:border-accent {\n &:focus {\n border-color: var(--color-accent);\n }\n }\n .focus\\:border-destructive {\n &:focus {\n border-color: var(--color-destructive);\n }\n }\n .focus\\:border-gray-500 {\n &:focus {\n border-color: var(--color-gray-500);\n }\n }\n .focus\\:border-indigo-500 {\n &:focus {\n border-color: var(--color-indigo-500);\n }\n }\n .focus\\:border-primary {\n &:focus {\n border-color: var(--color-primary);\n }\n }\n .focus\\:border-red-500 {\n &:focus {\n border-color: var(--color-red-500);\n }\n }\n .focus\\:border-transparent {\n &:focus {\n border-color: transparent;\n }\n }\n .focus\\:bg-accent {\n &:focus {\n background-color: var(--color-accent);\n }\n }\n .focus\\:bg-card {\n &:focus {\n background-color: var(--color-card);\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--color-accent-foreground);\n }\n }\n .focus\\:text-destructive {\n &:focus {\n color: var(--color-destructive);\n }\n }\n .focus\\:opacity-100 {\n &:focus {\n opacity: 100%;\n }\n }\n .focus\\:ring-0 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-1 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:\\[box-shadow\\:none\\] {\n &:focus {\n box-shadow: none;\n }\n }\n .focus\\:ring-accent {\n &:focus {\n --tw-ring-color: var(--color-accent);\n }\n }\n .focus\\:ring-accent\\/30 {\n &:focus {\n --tw-ring-color: color-mix(in srgb, #f4f4f5 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-accent) 30%, transparent);\n }\n }\n }\n .focus\\:ring-accent\\/40 {\n &:focus {\n --tw-ring-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n }\n .focus\\:ring-black {\n &:focus {\n --tw-ring-color: var(--color-black);\n }\n }\n .focus\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n .focus\\:ring-blue-600 {\n &:focus {\n --tw-ring-color: var(--color-blue-600);\n }\n }\n .focus\\:ring-destructive {\n &:focus {\n --tw-ring-color: var(--color-destructive);\n }\n }\n .focus\\:ring-gray-500 {\n &:focus {\n --tw-ring-color: var(--color-gray-500);\n }\n }\n .focus\\:ring-primary {\n &:focus {\n --tw-ring-color: var(--color-primary);\n }\n }\n .focus\\:ring-purple-500 {\n &:focus {\n --tw-ring-color: var(--color-purple-500);\n }\n }\n .focus\\:ring-white\\/50 {\n &:focus {\n --tw-ring-color: color-mix(in srgb, #fff 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n }\n .focus\\:ring-offset-0 {\n &:focus {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .focus\\:outline-2 {\n &:focus {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n }\n .focus\\:-outline-offset-2 {\n &:focus {\n outline-offset: calc(2px * -1);\n }\n }\n .focus\\:outline-offset-0 {\n &:focus {\n outline-offset: 0px;\n }\n }\n .focus\\:outline-blue-600 {\n &:focus {\n outline-color: var(--color-blue-600);\n }\n }\n .focus\\:outline-red-600 {\n &:focus {\n outline-color: var(--color-red-600);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .focus-visible\\:z-10 {\n &:focus-visible {\n z-index: 10;\n }\n }\n .focus-visible\\:border-\\[\\#2563eb\\] {\n &:focus-visible {\n border-color: #2563eb;\n }\n }\n .focus-visible\\:border-blue-600 {\n &:focus-visible {\n border-color: var(--color-blue-600);\n }\n }\n .focus-visible\\:border-indigo-300 {\n &:focus-visible {\n border-color: var(--color-indigo-300);\n }\n }\n .focus-visible\\:border-indigo-500 {\n &:focus-visible {\n border-color: var(--color-indigo-500);\n }\n }\n .focus-visible\\:border-red-300 {\n &:focus-visible {\n border-color: var(--color-red-300);\n }\n }\n .focus-visible\\:bg-white {\n &:focus-visible {\n background-color: var(--color-white);\n }\n }\n .focus-visible\\:opacity-100 {\n &:focus-visible {\n opacity: 100%;\n }\n }\n .focus-visible\\:ring-0 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-1 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-2 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-\\[3px\\] {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:\\[box-shadow\\:none\\] {\n &:focus-visible {\n box-shadow: none;\n }\n }\n .focus-visible\\:ring-accent\\/40 {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n }\n .focus-visible\\:ring-border {\n &:focus-visible {\n --tw-ring-color: var(--color-border);\n }\n }\n .focus-visible\\:ring-destructive\\/20 {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .focus-visible\\:ring-indigo-500\\/\\[0\\.06\\] {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 6%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-indigo-500) 6%, transparent);\n }\n }\n }\n .focus-visible\\:ring-neutral-300 {\n &:focus-visible {\n --tw-ring-color: var(--color-neutral-300);\n }\n }\n .focus-visible\\:ring-red-300 {\n &:focus-visible {\n --tw-ring-color: var(--color-red-300);\n }\n }\n .focus-visible\\:ring-sidebar-ring {\n &:focus-visible {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n }\n .focus-visible\\:ring-offset-0 {\n &:focus-visible {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:outline {\n &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n }\n .focus-visible\\:outline-2 {\n &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n }\n .focus-visible\\:outline-offset-2 {\n &:focus-visible {\n outline-offset: 2px;\n }\n }\n .focus-visible\\:outline-blue-600 {\n &:focus-visible {\n outline-color: var(--color-blue-600);\n }\n }\n .focus-visible\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .focus-visible\\:ring-inset {\n &:focus-visible {\n --tw-ring-inset: inset;\n }\n }\n .active\\:bg-accent\\/80 {\n &:active {\n background-color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 80%, transparent);\n }\n }\n }\n .active\\:bg-gray-100 {\n &:active {\n background-color: var(--color-gray-100);\n }\n }\n .active\\:bg-gray-200 {\n &:active {\n background-color: var(--color-gray-200);\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:cursor-default {\n &:disabled {\n cursor: default;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:bg-gray-50 {\n &:disabled {\n background-color: var(--color-gray-50);\n }\n }\n .disabled\\:text-gray-500 {\n &:disabled {\n color: var(--color-gray-500);\n }\n }\n .disabled\\:opacity-30 {\n &:disabled {\n opacity: 30%;\n }\n }\n .disabled\\:opacity-40 {\n &:disabled {\n opacity: 40%;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .disabled\\:opacity-60 {\n &:disabled {\n opacity: 60%;\n }\n }\n .disabled\\:opacity-100 {\n &:disabled {\n opacity: 100%;\n }\n }\n .disabled\\:outline-gray-200 {\n &:disabled {\n outline-color: var(--color-gray-200);\n }\n }\n .in-data-\\[side\\=left\\]\\:cursor-w-resize {\n :where(*[data-side=\"left\"]) & {\n cursor: w-resize;\n }\n }\n .in-data-\\[side\\=right\\]\\:cursor-e-resize {\n :where(*[data-side=\"right\"]) & {\n cursor: e-resize;\n }\n }\n .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\] {\n &:has(*[data-slot=\"card-action\"]) {\n grid-template-columns: 1fr auto;\n }\n }\n .has-\\[\\[aria-checked\\=true\\]\\]\\:border-blue-600 {\n &:has(*:is([aria-checked=true])) {\n border-color: var(--color-blue-600);\n }\n }\n .has-\\[\\[aria-checked\\=true\\]\\]\\:bg-blue-50 {\n &:has(*:is([aria-checked=true])) {\n background-color: var(--color-blue-50);\n }\n }\n .has-\\[\\>svg\\]\\:px-0 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .aria-disabled\\:pointer-events-none {\n &[aria-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .aria-disabled\\:opacity-50 {\n &[aria-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .aria-invalid\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: var(--color-destructive);\n }\n }\n .aria-invalid\\:ring-3 {\n &[aria-invalid=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .aria-invalid\\:ring-\\[3px\\] {\n &[aria-invalid=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .aria-invalid\\:ring-destructive\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .aria-pressed\\:bg-muted {\n &[aria-pressed=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[active\\=true\\]\\:font-medium {\n &[data-active=\"true\"] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .data-\\[checked\\]\\:bg-blue-600 {\n &[data-checked] {\n background-color: var(--color-blue-600);\n }\n }\n .data-\\[closed\\]\\:-translate-x-full {\n &[data-closed] {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[closed\\]\\:translate-y-4 {\n &[data-closed] {\n --tw-translate-y: calc(var(--spacing) * 4);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[closed\\]\\:scale-95 {\n &[data-closed] {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .data-\\[closed\\]\\:opacity-0 {\n &[data-closed] {\n opacity: 0%;\n }\n }\n .data-\\[disabled\\]\\:pointer-events-none {\n &[data-disabled] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\]\\:opacity-50 {\n &[data-disabled] {\n opacity: 50%;\n }\n }\n .data-\\[disabled\\=true\\]\\:pointer-events-none {\n &[data-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\=true\\]\\:cursor-not-allowed {\n &[data-disabled=\"true\"] {\n cursor: not-allowed;\n }\n }\n .data-\\[disabled\\=true\\]\\:opacity-50 {\n &[data-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .data-\\[enter\\]\\:duration-300 {\n &[data-enter] {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n }\n .data-\\[enter\\]\\:ease-out {\n &[data-enter] {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n }\n .data-\\[error\\=true\\]\\:text-destructive {\n &[data-error=\"true\"] {\n color: var(--color-destructive);\n }\n }\n .data-\\[highlighted\\]\\:bg-accent {\n &[data-highlighted] {\n background-color: var(--color-accent);\n }\n }\n .data-\\[leave\\]\\:duration-200 {\n &[data-leave] {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n }\n .data-\\[leave\\]\\:ease-in {\n &[data-leave] {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n }\n .data-\\[orientation\\=horizontal\\]\\:h-px {\n &[data-orientation=\"horizontal\"] {\n height: 1px;\n }\n }\n .data-\\[orientation\\=horizontal\\]\\:w-full {\n &[data-orientation=\"horizontal\"] {\n width: 100%;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:h-full {\n &[data-orientation=\"vertical\"] {\n height: 100%;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:w-px {\n &[data-orientation=\"vertical\"] {\n width: 1px;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:flex-col {\n &[data-orientation=\"vertical\"] {\n flex-direction: column;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:items-stretch {\n &[data-orientation=\"vertical\"] {\n align-items: stretch;\n }\n }\n .data-\\[placeholder\\]\\:text-muted-foreground {\n &[data-placeholder] {\n color: var(--color-muted-foreground);\n }\n }\n .data-\\[selected\\=true\\]\\:bg-muted {\n &[data-selected=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[side\\=bottom\\]\\:translate-y-1 {\n &[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=left\\]\\:-translate-x-1 {\n &[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=right\\]\\:translate-x-1 {\n &[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=top\\]\\:-translate-y-1 {\n &[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[size\\=default\\]\\:h-\\[18\\.4px\\] {\n &[data-size=\"default\"] {\n height: 18.4px;\n }\n }\n .data-\\[size\\=default\\]\\:w-\\[32px\\] {\n &[data-size=\"default\"] {\n width: 32px;\n }\n }\n .data-\\[size\\=sm\\]\\:h-\\[14px\\] {\n &[data-size=\"sm\"] {\n height: 14px;\n }\n }\n .data-\\[size\\=sm\\]\\:w-\\[24px\\] {\n &[data-size=\"sm\"] {\n width: 24px;\n }\n }\n .data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\] {\n &[data-size=\"sm\"] {\n border-radius: min(var(--radius-md), 10px);\n }\n }\n .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-l-lg {\n &:is(:where(.group\\/toggle-group)[data-horizontal] *) {\n &[data-spacing=\"0\"] {\n &:first-child {\n border-top-left-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n }\n }\n .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg {\n &:is(:where(.group\\/toggle-group)[data-vertical] *) {\n &[data-spacing=\"0\"] {\n &:first-child {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n }\n }\n }\n .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-r-lg {\n &:is(:where(.group\\/toggle-group)[data-horizontal] *) {\n &[data-spacing=\"0\"] {\n &:last-child {\n border-top-right-radius: var(--radius-lg);\n border-bottom-right-radius: var(--radius-lg);\n }\n }\n }\n }\n .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg {\n &:is(:where(.group\\/toggle-group)[data-vertical] *) {\n &[data-spacing=\"0\"] {\n &:last-child {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n }\n }\n .data-\\[state\\=active\\]\\:border-slate-900 {\n &[data-state=\"active\"] {\n border-color: var(--color-slate-900);\n }\n }\n .data-\\[state\\=active\\]\\:border-b-primary {\n &[data-state=\"active\"] {\n border-bottom-color: var(--color-primary);\n }\n }\n .data-\\[state\\=active\\]\\:bg-\\[\\#6366f1\\] {\n &[data-state=\"active\"] {\n background-color: #6366f1;\n }\n }\n .data-\\[state\\=active\\]\\:bg-\\[var\\(--base-accent\\,\\#F4F4F5\\)\\] {\n &[data-state=\"active\"] {\n background-color: var(--base-accent,#F4F4F5);\n }\n }\n .data-\\[state\\=active\\]\\:bg-background {\n &[data-state=\"active\"] {\n background-color: var(--color-background);\n }\n }\n .data-\\[state\\=active\\]\\:bg-slate-900 {\n &[data-state=\"active\"] {\n background-color: var(--color-slate-900);\n }\n }\n .data-\\[state\\=active\\]\\:text-\\[var\\(--tab-active-color\\)\\] {\n &[data-state=\"active\"] {\n color: var(--tab-active-color);\n }\n }\n .data-\\[state\\=active\\]\\:text-white {\n &[data-state=\"active\"] {\n color: var(--color-white);\n }\n }\n .data-\\[state\\=active\\]\\:shadow-none {\n &[data-state=\"active\"] {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .data-\\[state\\=active\\]\\:shadow-sm {\n &[data-state=\"active\"] {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .data-\\[state\\=active\\]\\:after\\:scale-x-100 {\n &[data-state=\"active\"] {\n &::after {\n content: var(--tw-content);\n --tw-scale-x: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .data-\\[state\\=checked\\]\\:translate-x-\\[72px\\] {\n &[data-state=\"checked\"] {\n --tw-translate-x: 72px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=checked\\]\\:translate-x-\\[var\\(--sw-on\\)\\] {\n &[data-state=\"checked\"] {\n --tw-translate-x: var(--sw-on);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=checked\\]\\:border-black {\n &[data-state=\"checked\"] {\n border-color: var(--color-black);\n }\n }\n .data-\\[state\\=checked\\]\\:border-blue-600 {\n &[data-state=\"checked\"] {\n border-color: var(--color-blue-600);\n }\n }\n .data-\\[state\\=checked\\]\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: var(--color-primary);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-black {\n &[data-state=\"checked\"] {\n background-color: var(--color-black);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-blue-600 {\n &[data-state=\"checked\"] {\n background-color: var(--color-blue-600);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary);\n }\n }\n .data-\\[state\\=checked\\]\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: var(--color-primary-foreground);\n }\n }\n .data-\\[state\\=checked\\]\\:text-white {\n &[data-state=\"checked\"] {\n color: var(--color-white);\n }\n }\n .data-\\[state\\=checked\\]\\:\\[background\\:var\\(--switch-checked-bg\\)\\] {\n &[data-state=\"checked\"] {\n background: var(--switch-checked-bg);\n }\n }\n .group-data-\\[size\\=default\\]\\/switch\\:data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\] {\n &:is(:where(.group\\/switch)[data-size=\"default\"] *) {\n &[data-state=\"checked\"] {\n --tw-translate-x: calc(100% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .group-data-\\[size\\=sm\\]\\/switch\\:data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\] {\n &:is(:where(.group\\/switch)[data-size=\"sm\"] *) {\n &[data-state=\"checked\"] {\n --tw-translate-x: calc(100% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .data-\\[state\\=closed\\]\\:duration-300 {\n &[data-state=\"closed\"] {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n }\n .data-\\[state\\=inactive\\]\\:hidden {\n &[data-state=\"inactive\"] {\n display: none;\n }\n }\n .data-\\[state\\=on\\]\\:bg-muted {\n &[data-state=\"on\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--color-accent);\n }\n }\n .data-\\[state\\=open\\]\\:bg-secondary {\n &[data-state=\"open\"] {\n background-color: var(--color-secondary);\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--color-muted-foreground);\n }\n }\n .data-\\[state\\=open\\]\\:opacity-100 {\n &[data-state=\"open\"] {\n opacity: 100%;\n }\n }\n .data-\\[state\\=open\\]\\:duration-500 {\n &[data-state=\"open\"] {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n }\n .data-\\[state\\=selected\\]\\:bg-muted {\n &[data-state=\"selected\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[state\\=unchecked\\]\\:translate-x-\\[4px\\] {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: 4px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=unchecked\\]\\:translate-x-\\[var\\(--sw-off\\)\\] {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: var(--sw-off);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=unchecked\\]\\:bg-input {\n &[data-state=\"unchecked\"] {\n background-color: var(--color-input);\n }\n }\n .group-data-\\[size\\=default\\]\\/switch\\:data-\\[state\\=unchecked\\]\\:translate-x-0 {\n &:is(:where(.group\\/switch)[data-size=\"default\"] *) {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .group-data-\\[size\\=sm\\]\\/switch\\:data-\\[state\\=unchecked\\]\\:translate-x-0 {\n &:is(:where(.group\\/switch)[data-size=\"sm\"] *) {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-l-0 {\n &:is(:where(.group\\/toggle-group)[data-horizontal] *) {\n &[data-spacing=\"0\"] {\n &[data-variant=\"outline\"] {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n }\n }\n .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0 {\n &:is(:where(.group\\/toggle-group)[data-vertical] *) {\n &[data-spacing=\"0\"] {\n &[data-variant=\"outline\"] {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n }\n }\n .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-l {\n &:is(:where(.group\\/toggle-group)[data-horizontal] *) {\n &[data-spacing=\"0\"] {\n &[data-variant=\"outline\"] {\n &:first-child {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n }\n }\n }\n .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t {\n &:is(:where(.group\\/toggle-group)[data-vertical] *) {\n &[data-spacing=\"0\"] {\n &[data-variant=\"outline\"] {\n &:first-child {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n }\n }\n }\n }\n .supports-\\[backdrop-filter\\]\\:bg-background\\/80 {\n @supports (backdrop-filter: var(--tw)) {\n background-color: color-mix(in srgb, #ffffff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-background) 80%, transparent);\n }\n }\n }\n .motion-safe\\:transition-\\[width\\] {\n @media (prefers-reduced-motion: no-preference) {\n transition-property: width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n }\n .motion-safe\\:duration-1000 {\n @media (prefers-reduced-motion: no-preference) {\n --tw-duration: 1000ms;\n transition-duration: 1000ms;\n }\n }\n .motion-safe\\:ease-linear {\n @media (prefers-reduced-motion: no-preference) {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n }\n .motion-reduce\\:transition-none {\n @media (prefers-reduced-motion: reduce) {\n transition-property: none;\n }\n }\n .max-\\[860px\\]\\:gap-\\[6px\\] {\n @media (width < 860px) {\n gap: 6px;\n }\n }\n .max-\\[860px\\]\\:p-\\[6px\\] {\n @media (width < 860px) {\n padding: 6px;\n }\n }\n .max-\\[800px\\]\\:flex-col {\n @media (width < 800px) {\n flex-direction: column;\n }\n }\n .max-\\[750px\\]\\:col-start-1 {\n @media (width < 750px) {\n grid-column-start: 1;\n }\n }\n .max-\\[750px\\]\\:col-end-1 {\n @media (width < 750px) {\n grid-column-end: 1;\n }\n }\n .max-\\[750px\\]\\:grid-cols-1 {\n @media (width < 750px) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .max-\\[750px\\]\\:flex-col {\n @media (width < 750px) {\n flex-direction: column;\n }\n }\n .max-\\[750px\\]\\:gap-0 {\n @media (width < 750px) {\n gap: calc(var(--spacing) * 0);\n }\n }\n .max-md\\:flex-wrap {\n @media (width < 48rem) {\n flex-wrap: wrap;\n }\n }\n .max-sm\\:mt-2 {\n @media (width < 40rem) {\n margin-top: calc(var(--spacing) * 2);\n }\n }\n .min-\\[861px\\]\\:col-span-2 {\n @media (width >= 861px) {\n grid-column: span 2 / span 2;\n }\n }\n .min-\\[861px\\]\\:mx-0 {\n @media (width >= 861px) {\n margin-inline: calc(var(--spacing) * 0);\n }\n }\n .min-\\[861px\\]\\:basis-\\[42\\%\\] {\n @media (width >= 861px) {\n flex-basis: 42%;\n }\n }\n .min-\\[861px\\]\\:grid-cols-2 {\n @media (width >= 861px) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .min-\\[861px\\]\\:grid-cols-3 {\n @media (width >= 861px) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .min-\\[861px\\]\\:grid-cols-4 {\n @media (width >= 861px) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .min-\\[861px\\]\\:flex-row {\n @media (width >= 861px) {\n flex-direction: row;\n }\n }\n .min-\\[861px\\]\\:items-center {\n @media (width >= 861px) {\n align-items: center;\n }\n }\n .min-\\[1101px\\]\\:grid-cols-3 {\n @media (width >= 1101px) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .min-\\[1101px\\]\\:grid-cols-5 {\n @media (width >= 1101px) {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n }\n .min-\\[1101px\\]\\:grid-cols-6 {\n @media (width >= 1101px) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .sm\\:col-span-2 {\n @media (width >= 40rem) {\n grid-column: span 2 / span 2;\n }\n }\n .sm\\:col-span-3 {\n @media (width >= 40rem) {\n grid-column: span 3 / span 3;\n }\n }\n .sm\\:-mx-6 {\n @media (width >= 40rem) {\n margin-inline: calc(var(--spacing) * -6);\n }\n }\n .sm\\:my-8 {\n @media (width >= 40rem) {\n margin-block: calc(var(--spacing) * 8);\n }\n }\n .sm\\:mt-0 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .sm\\:mt-10 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 10);\n }\n }\n .sm\\:mb-1 {\n @media (width >= 40rem) {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .sm\\:ml-2 {\n @media (width >= 40rem) {\n margin-left: calc(var(--spacing) * 2);\n }\n }\n .sm\\:ml-4 {\n @media (width >= 40rem) {\n margin-left: calc(var(--spacing) * 4);\n }\n }\n .sm\\:block {\n @media (width >= 40rem) {\n display: block;\n }\n }\n .sm\\:flex {\n @media (width >= 40rem) {\n display: flex;\n }\n }\n .sm\\:grid {\n @media (width >= 40rem) {\n display: grid;\n }\n }\n .sm\\:hidden {\n @media (width >= 40rem) {\n display: none;\n }\n }\n .sm\\:size-4 {\n @media (width >= 40rem) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .sm\\:w-1\\/2 {\n @media (width >= 40rem) {\n width: calc(1/2 * 100%);\n }\n }\n .sm\\:w-auto {\n @media (width >= 40rem) {\n width: auto;\n }\n }\n .sm\\:w-full {\n @media (width >= 40rem) {\n width: 100%;\n }\n }\n .sm\\:max-w-1\\/2 {\n @media (width >= 40rem) {\n max-width: calc(1/2 * 100%);\n }\n }\n .sm\\:max-w-2xl {\n @media (width >= 40rem) {\n max-width: var(--container-2xl);\n }\n }\n .sm\\:max-w-3xl {\n @media (width >= 40rem) {\n max-width: var(--container-3xl);\n }\n }\n .sm\\:max-w-3xl\\! {\n @media (width >= 40rem) {\n max-width: var(--container-3xl) !important;\n }\n }\n .sm\\:max-w-6xl {\n @media (width >= 40rem) {\n max-width: var(--container-6xl);\n }\n }\n .sm\\:max-w-\\[420px\\] {\n @media (width >= 40rem) {\n max-width: 420px;\n }\n }\n .sm\\:max-w-\\[425px\\] {\n @media (width >= 40rem) {\n max-width: 425px;\n }\n }\n .sm\\:max-w-\\[440px\\] {\n @media (width >= 40rem) {\n max-width: 440px;\n }\n }\n .sm\\:max-w-\\[480px\\] {\n @media (width >= 40rem) {\n max-width: 480px;\n }\n }\n .sm\\:max-w-\\[520px\\] {\n @media (width >= 40rem) {\n max-width: 520px;\n }\n }\n .sm\\:max-w-\\[540px\\] {\n @media (width >= 40rem) {\n max-width: 540px;\n }\n }\n .sm\\:max-w-\\[560px\\] {\n @media (width >= 40rem) {\n max-width: 560px;\n }\n }\n .sm\\:max-w-\\[600px\\] {\n @media (width >= 40rem) {\n max-width: 600px;\n }\n }\n .sm\\:max-w-\\[860px\\] {\n @media (width >= 40rem) {\n max-width: 860px;\n }\n }\n .sm\\:max-w-\\[950px\\] {\n @media (width >= 40rem) {\n max-width: 950px;\n }\n }\n .sm\\:max-w-lg {\n @media (width >= 40rem) {\n max-width: var(--container-lg);\n }\n }\n .sm\\:max-w-md {\n @media (width >= 40rem) {\n max-width: var(--container-md);\n }\n }\n .sm\\:max-w-none {\n @media (width >= 40rem) {\n max-width: none;\n }\n }\n .sm\\:max-w-sm {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n .sm\\:max-w-xl {\n @media (width >= 40rem) {\n max-width: var(--container-xl);\n }\n }\n .sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-3 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-4 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-5 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-6 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:flex-row-reverse {\n @media (width >= 40rem) {\n flex-direction: row-reverse;\n }\n }\n .sm\\:items-center {\n @media (width >= 40rem) {\n align-items: center;\n }\n }\n .sm\\:\\!justify-start {\n @media (width >= 40rem) {\n justify-content: flex-start !important;\n }\n }\n .sm\\:justify-between {\n @media (width >= 40rem) {\n justify-content: space-between;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .sm\\:justify-start {\n @media (width >= 40rem) {\n justify-content: flex-start;\n }\n }\n .sm\\:gap-2\\.5 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 2.5);\n }\n }\n .sm\\:gap-3 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 3);\n }\n }\n .sm\\:gap-4 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .sm\\:gap-5 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 5);\n }\n }\n .sm\\:gap-6 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 6);\n }\n }\n .sm\\:truncate {\n @media (width >= 40rem) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .sm\\:rounded-lg {\n @media (width >= 40rem) {\n border-radius: var(--radius-lg);\n }\n }\n .sm\\:border-t-0 {\n @media (width >= 40rem) {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n .sm\\:border-l {\n @media (width >= 40rem) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .sm\\:p-0 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 0);\n }\n }\n .sm\\:p-4 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 4);\n }\n }\n .sm\\:p-6 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 6);\n }\n }\n .sm\\:p-8 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 8);\n }\n }\n .sm\\:px-0 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .sm\\:px-6 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 6);\n }\n }\n .sm\\:px-8 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .sm\\:py-4 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 4);\n }\n }\n .sm\\:py-5 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 5);\n }\n }\n .sm\\:py-32 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 32);\n }\n }\n .sm\\:pt-8 {\n @media (width >= 40rem) {\n padding-top: calc(var(--spacing) * 8);\n }\n }\n .sm\\:pr-0 {\n @media (width >= 40rem) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .sm\\:pr-8 {\n @media (width >= 40rem) {\n padding-right: calc(var(--spacing) * 8);\n }\n }\n .sm\\:pl-0 {\n @media (width >= 40rem) {\n padding-left: calc(var(--spacing) * 0);\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left;\n }\n }\n .sm\\:text-2xl {\n @media (width >= 40rem) {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n }\n .sm\\:text-4xl {\n @media (width >= 40rem) {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n }\n .sm\\:text-5xl {\n @media (width >= 40rem) {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n }\n .sm\\:text-7xl {\n @media (width >= 40rem) {\n font-size: var(--text-7xl);\n line-height: var(--tw-leading, var(--text-7xl--line-height));\n }\n }\n .sm\\:text-sm\\/6 {\n @media (width >= 40rem) {\n font-size: var(--text-sm);\n line-height: calc(var(--spacing) * 6);\n }\n }\n .sm\\:text-xl {\n @media (width >= 40rem) {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n }\n .sm\\:text-xl\\/8 {\n @media (width >= 40rem) {\n font-size: var(--text-xl);\n line-height: calc(var(--spacing) * 8);\n }\n }\n .sm\\:tracking-tight {\n @media (width >= 40rem) {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n }\n .data-\\[closed\\]\\:sm\\:translate-y-0 {\n &[data-closed] {\n @media (width >= 40rem) {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .data-\\[closed\\]\\:sm\\:scale-95 {\n &[data-closed] {\n @media (width >= 40rem) {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .md\\:static {\n @media (width >= 48rem) {\n position: static;\n }\n }\n .md\\:col-span-2 {\n @media (width >= 48rem) {\n grid-column: span 2 / span 2;\n }\n }\n .md\\:mt-0 {\n @media (width >= 48rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .md\\:block {\n @media (width >= 48rem) {\n display: block;\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .md\\:w-\\[125px\\] {\n @media (width >= 48rem) {\n width: 125px;\n }\n }\n .md\\:w-auto {\n @media (width >= 48rem) {\n width: auto;\n }\n }\n .md\\:flex-1 {\n @media (width >= 48rem) {\n flex: 1;\n }\n }\n .md\\:flex-\\[1\\.15\\] {\n @media (width >= 48rem) {\n flex: 1.15;\n }\n }\n .md\\:translate-x-0 {\n @media (width >= 48rem) {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .md\\:grid-cols-1 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-3 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-4 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-\\[1fr_1\\.2fr\\] {\n @media (width >= 48rem) {\n grid-template-columns: 1fr 1.2fr;\n }\n }\n .md\\:grid-cols-\\[220px_1fr\\] {\n @media (width >= 48rem) {\n grid-template-columns: 220px 1fr;\n }\n }\n .md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_280px\\] {\n @media (width >= 48rem) {\n grid-template-columns: minmax(0,1fr) 280px;\n }\n }\n .md\\:flex-row {\n @media (width >= 48rem) {\n flex-direction: row;\n }\n }\n .md\\:items-center {\n @media (width >= 48rem) {\n align-items: center;\n }\n }\n .md\\:justify-between {\n @media (width >= 48rem) {\n justify-content: space-between;\n }\n }\n .md\\:gap-2 {\n @media (width >= 48rem) {\n gap: calc(var(--spacing) * 2);\n }\n }\n .md\\:gap-4 {\n @media (width >= 48rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .md\\:rounded-full {\n @media (width >= 48rem) {\n border-radius: calc(infinity * 1px);\n }\n }\n .md\\:border-r {\n @media (width >= 48rem) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .md\\:border-b-0 {\n @media (width >= 48rem) {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .md\\:px-3 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .md\\:py-1 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 1);\n }\n }\n .md\\:py-16 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 16);\n }\n }\n .md\\:py-28 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 28);\n }\n }\n .md\\:pt-4 {\n @media (width >= 48rem) {\n padding-top: calc(var(--spacing) * 4);\n }\n }\n .md\\:text-6xl {\n @media (width >= 48rem) {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .md\\:leading-normal {\n @media (width >= 48rem) {\n --tw-leading: var(--leading-normal);\n line-height: var(--leading-normal);\n }\n }\n .md\\:opacity-0 {\n @media (width >= 48rem) {\n opacity: 0%;\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:m-2 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin: calc(var(--spacing) * 2);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:ml-0 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin-left: calc(var(--spacing) * 0);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n border-radius: var(--radius-xl);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n &:is(:where(.peer)[data-state=\"collapsed\"] ~ *) {\n margin-left: calc(var(--spacing) * 2);\n }\n }\n }\n }\n .md\\:after\\:hidden {\n @media (width >= 48rem) {\n &::after {\n content: var(--tw-content);\n display: none;\n }\n }\n }\n .lg\\:fixed {\n @media (width >= 64rem) {\n position: fixed;\n }\n }\n .lg\\:inset-y-0 {\n @media (width >= 64rem) {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .lg\\:z-50 {\n @media (width >= 64rem) {\n z-index: 50;\n }\n }\n .lg\\:col-span-1 {\n @media (width >= 64rem) {\n grid-column: span 1 / span 1;\n }\n }\n .lg\\:col-span-2 {\n @media (width >= 64rem) {\n grid-column: span 2 / span 2;\n }\n }\n .lg\\:-mx-8 {\n @media (width >= 64rem) {\n margin-inline: calc(var(--spacing) * -8);\n }\n }\n .lg\\:flex {\n @media (width >= 64rem) {\n display: flex;\n }\n }\n .lg\\:hidden {\n @media (width >= 64rem) {\n display: none;\n }\n }\n .lg\\:h-\\[75vh\\] {\n @media (width >= 64rem) {\n height: 75vh;\n }\n }\n .lg\\:w-72 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 72);\n }\n }\n .lg\\:w-full {\n @media (width >= 64rem) {\n width: 100%;\n }\n }\n .lg\\:flex-\\[0_0_35\\%\\] {\n @media (width >= 64rem) {\n flex: 0 0 35%;\n }\n }\n .lg\\:flex-\\[0_0_65\\%\\] {\n @media (width >= 64rem) {\n flex: 0 0 65%;\n }\n }\n .lg\\:grid-cols-2 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-3 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-4 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-5 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-6 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-\\[2fr_1fr\\] {\n @media (width >= 64rem) {\n grid-template-columns: 2fr 1fr;\n }\n }\n .lg\\:flex-col {\n @media (width >= 64rem) {\n flex-direction: column;\n }\n }\n .lg\\:flex-row {\n @media (width >= 64rem) {\n flex-direction: row;\n }\n }\n .lg\\:items-stretch {\n @media (width >= 64rem) {\n align-items: stretch;\n }\n }\n .lg\\:justify-between {\n @media (width >= 64rem) {\n justify-content: space-between;\n }\n }\n .lg\\:justify-end {\n @media (width >= 64rem) {\n justify-content: flex-end;\n }\n }\n .lg\\:border-r {\n @media (width >= 64rem) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .lg\\:p-8 {\n @media (width >= 64rem) {\n padding: calc(var(--spacing) * 8);\n }\n }\n .lg\\:px-6 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 6);\n }\n }\n .lg\\:px-8 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .lg\\:py-5 {\n @media (width >= 64rem) {\n padding-block: calc(var(--spacing) * 5);\n }\n }\n .lg\\:pt-8 {\n @media (width >= 64rem) {\n padding-top: calc(var(--spacing) * 8);\n }\n }\n .lg\\:pl-72 {\n @media (width >= 64rem) {\n padding-left: calc(var(--spacing) * 72);\n }\n }\n .xl\\:sticky {\n @media (width >= 80rem) {\n position: sticky;\n }\n }\n .xl\\:top-0 {\n @media (width >= 80rem) {\n top: calc(var(--spacing) * 0);\n }\n }\n .xl\\:grid-cols-4 {\n @media (width >= 80rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .xl\\:grid-cols-\\[250px_minmax\\(0\\,1fr\\)_236px\\] {\n @media (width >= 80rem) {\n grid-template-columns: 250px minmax(0,1fr) 236px;\n }\n }\n .xl\\:grid-cols-\\[760px_280px\\] {\n @media (width >= 80rem) {\n grid-template-columns: 760px 280px;\n }\n }\n .xl\\:gap-x-8 {\n @media (width >= 80rem) {\n column-gap: calc(var(--spacing) * 8);\n }\n }\n .\\32 xl\\:grid-cols-3 {\n @media (width >= 96rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .\\@max-md\\:hidden {\n @container (width < 28rem) {\n display: none;\n }\n }\n .\\@max-md\\:grid-cols-1 {\n @container (width < 28rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .\\@min-\\[460px\\]\\/strip\\:grid-cols-2 {\n @container strip (width >= 460px) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .\\@min-\\[640px\\]\\:px-8 {\n @container (width >= 640px) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .\\@min-\\[640px\\]\\:pb-3 {\n @container (width >= 640px) {\n padding-bottom: calc(var(--spacing) * 3);\n }\n }\n .\\@min-\\[760px\\]\\/strip\\:grid-cols-3 {\n @container strip (width >= 760px) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .\\@min-\\[1200px\\]\\/strip\\:grid-cols-6 {\n @container strip (width >= 1200px) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .dark\\:block {\n @media (prefers-color-scheme: dark) {\n display: block;\n }\n }\n .dark\\:hidden {\n @media (prefers-color-scheme: dark) {\n display: none;\n }\n }\n .dark\\:border-amber-800 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-amber-800);\n }\n }\n .dark\\:border-amber-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-amber-900);\n }\n }\n .dark\\:border-blue-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-blue-900);\n }\n }\n .dark\\:border-emerald-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-emerald-900);\n }\n }\n .dark\\:border-gray-500 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-gray-500);\n }\n }\n .dark\\:border-green-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-green-900);\n }\n }\n .dark\\:border-input {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-input);\n }\n }\n .dark\\:border-purple-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-purple-900);\n }\n }\n .dark\\:border-slate-700 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-slate-700);\n }\n }\n .dark\\:border-teal-400\\/25 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-teal-400) 25%, transparent);\n }\n }\n }\n .dark\\:bg-amber-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-amber-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-blue-950\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-950) 20%, transparent);\n }\n }\n }\n .dark\\:bg-blue-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-destructive\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #dc2626 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-gray-100 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-100);\n }\n }\n .dark\\:bg-gray-500 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-500);\n }\n }\n .dark\\:bg-gray-600 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-600);\n }\n }\n .dark\\:bg-gray-700 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-700);\n }\n }\n .dark\\:bg-gray-900 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-900);\n }\n }\n .dark\\:bg-green-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(26.6% 0.065 152.934) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-green-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-input\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #e4e4e7 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n .dark\\:bg-orange-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(26.6% 0.079 36.259) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-orange-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-purple-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(29.1% 0.149 302.717) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-slate-900\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent);\n }\n }\n }\n .dark\\:bg-teal-950\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.7% 0.046 192.524) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-teal-950) 30%, transparent);\n }\n }\n }\n .dark\\:bg-white {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-white);\n }\n }\n .dark\\:p-\\[3px\\] {\n @media (prefers-color-scheme: dark) {\n padding: 3px;\n }\n }\n .dark\\:text-amber-200 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-200);\n }\n }\n .dark\\:text-amber-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-300);\n }\n }\n .dark\\:text-amber-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-400);\n }\n }\n .dark\\:text-blue-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-blue-300);\n }\n }\n .dark\\:text-emerald-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-emerald-300);\n }\n }\n .dark\\:text-gray-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-gray-300);\n }\n }\n .dark\\:text-gray-600 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-gray-600);\n }\n }\n .dark\\:text-gray-900 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-gray-900);\n }\n }\n .dark\\:text-green-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-green-300);\n }\n }\n .dark\\:text-orange-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-orange-300);\n }\n }\n .dark\\:text-purple-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-purple-300);\n }\n }\n .dark\\:text-red-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-red-400);\n }\n }\n .dark\\:text-slate-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-300);\n }\n }\n .dark\\:text-slate-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-400);\n }\n }\n .dark\\:text-teal-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-teal-100);\n }\n }\n .dark\\:text-teal-100\\/60 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(95.3% 0.051 180.801) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-100) 60%, transparent);\n }\n }\n }\n .dark\\:text-teal-100\\/70 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(95.3% 0.051 180.801) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-100) 70%, transparent);\n }\n }\n }\n .dark\\:text-teal-100\\/80 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(95.3% 0.051 180.801) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-100) 80%, transparent);\n }\n }\n }\n .dark\\:group-hover\\:border-gray-500 {\n @media (prefers-color-scheme: dark) {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-color: var(--color-gray-500);\n }\n }\n }\n }\n .dark\\:hover\\:border-gray-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n }\n }\n .dark\\:hover\\:border-gray-500 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-500);\n }\n }\n }\n }\n .dark\\:hover\\:border-red-900 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-900);\n }\n }\n }\n }\n .dark\\:hover\\:bg-accent\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-amber-900\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-900) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-gray-50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-50);\n }\n }\n }\n }\n .dark\\:hover\\:bg-gray-700 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-700);\n }\n }\n }\n }\n .dark\\:hover\\:bg-input\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #e4e4e7 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-red-950\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(25.8% 0.092 26.042) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-red-950) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-red-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-teal-50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-teal-50);\n }\n }\n }\n }\n .dark\\:focus\\:border-gray-400 {\n @media (prefers-color-scheme: dark) {\n &:focus {\n border-color: var(--color-gray-400);\n }\n }\n }\n .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #dc2626 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .dark\\:disabled\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n &:disabled {\n background-color: color-mix(in srgb, #e4e4e7 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .dark\\:has-\\[\\[aria-checked\\=true\\]\\]\\:border-blue-900 {\n @media (prefers-color-scheme: dark) {\n &:has(*:is([aria-checked=true])) {\n border-color: var(--color-blue-900);\n }\n }\n }\n .dark\\:has-\\[\\[aria-checked\\=true\\]\\]\\:bg-blue-950 {\n @media (prefers-color-scheme: dark) {\n &:has(*:is([aria-checked=true])) {\n background-color: var(--color-blue-950);\n }\n }\n }\n .dark\\:aria-invalid\\:border-destructive\\/50 {\n @media (prefers-color-scheme: dark) {\n &[aria-invalid=\"true\"] {\n border-color: color-mix(in srgb, #dc2626 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n }\n }\n .dark\\:aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, #dc2626 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .dark\\:data-\\[state\\=active\\]\\:border-slate-100 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"active\"] {\n border-color: var(--color-slate-100);\n }\n }\n }\n .dark\\:data-\\[state\\=active\\]\\:bg-slate-100 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"active\"] {\n background-color: var(--color-slate-100);\n }\n }\n }\n .dark\\:data-\\[state\\=active\\]\\:text-slate-900 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"active\"] {\n color: var(--color-slate-900);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:border-blue-700 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n border-color: var(--color-blue-700);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-blue-700 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-blue-700);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-primary {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary-foreground);\n }\n }\n }\n .dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"unchecked\"] {\n background-color: color-mix(in srgb, #e4e4e7 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .print\\:fill-\\[\\#3730A3\\] {\n @media print {\n fill: #3730A3;\n }\n }\n .\\[\\&_\\.react-draggable\\]\\:cursor-grab {\n & .react-draggable {\n cursor: grab;\n }\n }\n .\\[\\&_\\.react-draggable-dragging\\]\\:\\!cursor-grabbing {\n & .react-draggable-dragging {\n cursor: grabbing !important;\n }\n }\n .\\[\\&_\\.react-grid-placeholder\\]\\:\\!bg-\\[\\#6366f1\\] {\n & .react-grid-placeholder {\n background-color: #6366f1 !important;\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:absolute {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:right-0 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * 0);\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:bottom-0 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n bottom: calc(var(--spacing) * 0);\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:h-\\[10px\\] {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n height: 10px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:w-\\[10px\\] {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n width: 10px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-t-0 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-r-2 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-right-style: var(--tw-border-style);\n border-right-width: 2px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-b-2 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-l-0 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-solid {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n --tw-border-style: solid;\n border-style: solid;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-indigo-400 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-color: var(--color-indigo-400);\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:content-\\[\\\"\\\"\\] {\n & .react-resizable-handle-se {\n &::after {\n --tw-content: \"\";\n content: var(--tw-content);\n }\n }\n }\n .\\[\\&_\\.toggle\\.active\\]\\:bg-\\[\\#4E647F\\]\\! {\n & .toggle.active {\n background-color: #4E647F !important;\n }\n }\n .\\[\\&_\\:is\\(h1\\,h2\\,h3\\)\\]\\:m-0 {\n & :is(h1,h2,h3) {\n margin: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_a\\]\\:text-accent {\n & a {\n color: var(--color-accent);\n }\n }\n .\\[\\&_a\\]\\:text-blue-400 {\n & a {\n color: var(--color-blue-400);\n }\n }\n .\\[\\&_a\\]\\:text-blue-500 {\n & a {\n color: var(--color-blue-500);\n }\n }\n .\\[\\&_a\\]\\:text-white {\n & a {\n color: var(--color-white);\n }\n }\n .\\[\\&_a\\]\\:underline {\n & a {\n text-decoration-line: underline;\n }\n }\n .\\[\\&_a\\]\\:hover\\:text-blue-300 {\n & a {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-300);\n }\n }\n }\n }\n .\\[\\&_a\\]\\:hover\\:no-underline {\n & a {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: none;\n }\n }\n }\n }\n .\\[\\&_code\\]\\:rounded {\n & code {\n border-radius: 0.25rem;\n }\n }\n .\\[\\&_code\\]\\:rounded-\\[4px\\] {\n & code {\n border-radius: 4px;\n }\n }\n .\\[\\&_code\\]\\:bg-blue-100 {\n & code {\n background-color: var(--color-blue-100);\n }\n }\n .\\[\\&_code\\]\\:px-1 {\n & code {\n padding-inline: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_code\\]\\:px-\\[4px\\] {\n & code {\n padding-inline: 4px;\n }\n }\n .\\[\\&_code\\]\\:px-\\[5px\\] {\n & code {\n padding-inline: 5px;\n }\n }\n .\\[\\&_code\\]\\:py-0\\.5 {\n & code {\n padding-block: calc(var(--spacing) * 0.5);\n }\n }\n .\\[\\&_code\\]\\:py-\\[1px\\] {\n & code {\n padding-block: 1px;\n }\n }\n .\\[\\&_code\\]\\:font-mono {\n & code {\n font-family: var(--font-mono);\n }\n }\n .\\[\\&_code\\]\\:text-xs {\n & code {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .\\[\\&_code\\]\\:text-\\[11px\\] {\n & code {\n font-size: 11px;\n }\n }\n .\\[\\&_em\\]\\:italic {\n & em {\n font-style: italic;\n }\n }\n .\\[\\&_h1\\]\\:mt-2 {\n & h1 {\n margin-top: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_h1\\]\\:mb-1 {\n & h1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_h1\\]\\:text-lg {\n & h1 {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n }\n .\\[\\&_h1\\]\\:font-bold {\n & h1 {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n }\n .\\[\\&_h2\\]\\:mt-2 {\n & h2 {\n margin-top: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_h2\\]\\:mt-\\[1em\\] {\n & h2 {\n margin-top: 1em;\n }\n }\n .\\[\\&_h2\\]\\:mb-1 {\n & h2 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_h2\\]\\:text-base {\n & h2 {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n }\n .\\[\\&_h2\\]\\:text-lg {\n & h2 {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n }\n .\\[\\&_h2\\]\\:font-semibold {\n & h2 {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&_h2\\,\\&_h3\\]\\:mt-\\[1em\\] {\n & h2,& h3 {\n margin-top: 1em;\n }\n }\n .\\[\\&_h3\\]\\:mt-1 {\n & h3 {\n margin-top: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_h3\\]\\:mb-1 {\n & h3 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_h3\\]\\:text-sm {\n & h3 {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .\\[\\&_h3\\]\\:font-semibold {\n & h3 {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&_hr\\]\\:my-\\[1em\\] {\n & hr {\n margin-block: 1em;\n }\n }\n .\\[\\&_img\\]\\:my-2 {\n & img {\n margin-block: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_img\\]\\:max-w-full {\n & img {\n max-width: 100%;\n }\n }\n .\\[\\&_img\\]\\:rounded {\n & img {\n border-radius: 0.25rem;\n }\n }\n .\\[\\&_li\\]\\:my-0\\.5 {\n & li {\n margin-block: calc(var(--spacing) * 0.5);\n }\n }\n .\\[\\&_ol\\]\\:my-1 {\n & ol {\n margin-block: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_ol\\]\\:list-decimal {\n & ol {\n list-style-type: decimal;\n }\n }\n .\\[\\&_ol\\]\\:pl-4 {\n & ol {\n padding-left: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_ol\\]\\:pl-5 {\n & ol {\n padding-left: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_p\\]\\:my-1 {\n & p {\n margin-block: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_p\\+p\\]\\:mt-\\[1em\\] {\n & p+p {\n margin-top: 1em;\n }\n }\n .\\[\\&_pre\\]\\:my-2 {\n & pre {\n margin-block: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_pre\\]\\:max-w-full {\n & pre {\n max-width: 100%;\n }\n }\n .\\[\\&_pre\\]\\:overflow-x-auto {\n & pre {\n overflow-x: auto;\n }\n }\n .\\[\\&_pre\\]\\:rounded {\n & pre {\n border-radius: 0.25rem;\n }\n }\n .\\[\\&_pre\\]\\:bg-gray-800 {\n & pre {\n background-color: var(--color-gray-800);\n }\n }\n .\\[\\&_pre\\]\\:p-2 {\n & pre {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_pre\\]\\:text-gray-100 {\n & pre {\n color: var(--color-gray-100);\n }\n }\n .\\[\\&_pre_code\\]\\:bg-transparent {\n & pre code {\n background-color: transparent;\n }\n }\n .\\[\\&_pre_code\\]\\:p-0 {\n & pre code {\n padding: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_pre_code\\]\\:break-words {\n & pre code {\n overflow-wrap: break-word;\n }\n }\n .\\[\\&_pre_code\\]\\:whitespace-pre-wrap {\n & pre code {\n white-space: pre-wrap;\n }\n }\n .\\[\\&_strong\\]\\:font-medium {\n & strong {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n .\\[\\&_svg\\]\\:size-4 {\n & svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_svg\\]\\:h-\\[12px\\] {\n & svg {\n height: 12px;\n }\n }\n .\\[\\&_svg\\]\\:h-\\[13px\\] {\n & svg {\n height: 13px;\n }\n }\n .\\[\\&_svg\\]\\:w-\\[12px\\] {\n & svg {\n width: 12px;\n }\n }\n .\\[\\&_svg\\]\\:w-\\[13px\\] {\n & svg {\n width: 13px;\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_table\\]\\:min-w-full {\n & table {\n min-width: 100%;\n }\n }\n .\\[\\&_table\\]\\:table-fixed {\n & table {\n table-layout: fixed;\n }\n }\n .\\[\\&_tbody_td\\]\\:px-\\[17px\\] {\n & tbody td {\n padding-inline: 17px;\n }\n }\n .\\[\\&_tbody_td\\]\\:py-0 {\n & tbody td {\n padding-block: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_tbody_td\\]\\:text-\\[12px\\] {\n & tbody td {\n font-size: 12px;\n }\n }\n .\\[\\&_tbody_td\\]\\:tabular-nums {\n & tbody td {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n }\n .\\[\\&_tbody_tr\\]\\:h-\\[53px\\] {\n & tbody tr {\n height: 53px;\n }\n }\n .\\[\\&_tbody_tr\\]\\:transition-colors {\n & tbody tr {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n }\n .\\[\\&_td\\]\\:border {\n & td {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .\\[\\&_td\\]\\:border-border {\n & td {\n border-color: var(--color-border);\n }\n }\n .\\[\\&_td\\]\\:border-neutral-10 {\n & td {\n border-color: var(--color-neutral-10);\n }\n }\n .\\[\\&_td\\]\\:border-neutral-200 {\n & td {\n border-color: var(--color-neutral-200);\n }\n }\n .\\[\\&_td\\]\\:p-1 {\n & td {\n padding: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_td\\]\\:p-2 {\n & td {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_td\\]\\:px-3 {\n & td {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&_td\\]\\:py-1\\.5 {\n & td {\n padding-block: calc(var(--spacing) * 1.5);\n }\n }\n .\\[\\&_th\\]\\:sticky {\n & th {\n position: sticky;\n }\n }\n .\\[\\&_th\\]\\:top-0 {\n & th {\n top: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_th\\]\\:z-\\[1\\] {\n & th {\n z-index: 1;\n }\n }\n .\\[\\&_th\\]\\:border {\n & th {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .\\[\\&_th\\]\\:border-border {\n & th {\n border-color: var(--color-border);\n }\n }\n .\\[\\&_th\\]\\:border-neutral-10 {\n & th {\n border-color: var(--color-neutral-10);\n }\n }\n .\\[\\&_th\\]\\:border-neutral-200 {\n & th {\n border-color: var(--color-neutral-200);\n }\n }\n .\\[\\&_th\\]\\:p-1 {\n & th {\n padding: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_th\\]\\:p-2 {\n & th {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_th\\]\\:px-3 {\n & th {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&_th\\]\\:py-1\\.5 {\n & th {\n padding-block: calc(var(--spacing) * 1.5);\n }\n }\n .\\[\\&_th\\]\\:py-2 {\n & th {\n padding-block: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_th\\]\\:text-\\[14px\\] {\n & th {\n font-size: 14px;\n }\n }\n .\\[\\&_th\\]\\:font-medium {\n & th {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&_th\\]\\:tracking-wide {\n & th {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n }\n }\n .\\[\\&_th\\]\\:uppercase {\n & th {\n text-transform: uppercase;\n }\n }\n .\\[\\&_th\\]\\:shadow-\\[inset_0_-1px_0_var\\(--border\\)\\] {\n & th {\n --tw-shadow: inset 0 -1px 0 var(--tw-shadow-color, var(--border));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .\\[\\&_thead_th\\]\\:sticky {\n & thead th {\n position: sticky;\n }\n }\n .\\[\\&_thead_th\\]\\:h-\\[48px\\] {\n & thead th {\n height: 48px;\n }\n }\n .\\[\\&_thead_th\\]\\:px-\\[17px\\] {\n & thead th {\n padding-inline: 17px;\n }\n }\n .\\[\\&_thead_th\\]\\:font-mono {\n & thead th {\n font-family: var(--font-mono);\n }\n }\n .\\[\\&_thead_th\\]\\:text-\\[10px\\] {\n & thead th {\n font-size: 10px;\n }\n }\n .\\[\\&_thead_th\\]\\:font-medium {\n & thead th {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&_thead_th\\]\\:tracking-\\[0\\.05em\\] {\n & thead th {\n --tw-tracking: 0.05em;\n letter-spacing: 0.05em;\n }\n }\n .\\[\\&_thead_th\\]\\:whitespace-nowrap {\n & thead th {\n white-space: nowrap;\n }\n }\n .\\[\\&_thead_th\\]\\:uppercase {\n & thead th {\n text-transform: uppercase;\n }\n }\n .\\[\\&_thead_th_div\\>button\\]\\:gap-\\[4px\\] {\n & thead th div>button {\n gap: 4px;\n }\n }\n .\\[\\&_thead_th_div\\>button\\]\\:\\!text-\\[10px\\] {\n & thead th div>button {\n font-size: 10px !important;\n }\n }\n .\\[\\&_thead_th_div\\>button\\]\\:hover\\:bg-transparent {\n & thead th div>button {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n }\n .\\[\\&_thead_th_div\\>button_svg\\]\\:h-\\[11px\\] {\n & thead th div>button svg {\n height: 11px;\n }\n }\n .\\[\\&_thead_th_div\\>button_svg\\]\\:w-\\[11px\\] {\n & thead th div>button svg {\n width: 11px;\n }\n }\n .\\[\\&_thead_tr\\]\\:bg-blue-50 {\n & thead tr {\n background-color: var(--color-blue-50);\n }\n }\n .\\[\\&_thead_tr\\]\\:bg-muted\\/50 {\n & thead tr {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n .\\[\\&_thead_tr\\]\\:bg-neutral-50 {\n & thead tr {\n background-color: var(--color-neutral-50);\n }\n }\n .\\[\\&_tr\\]\\:border-b {\n & tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .\\[\\&_tr\\:last-child\\]\\:border-0 {\n & tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .\\[\\&_ul\\]\\:my-1 {\n & ul {\n margin-block: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_ul\\]\\:list-inside {\n & ul {\n list-style-position: inside;\n }\n }\n .\\[\\&_ul\\]\\:list-disc {\n & ul {\n list-style-type: disc;\n }\n }\n .\\[\\&_ul\\]\\:pl-4 {\n & ul {\n padding-left: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_ul\\]\\:pl-5 {\n & ul {\n padding-left: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden {\n &::-webkit-scrollbar {\n display: none;\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar\\]\\:w-1\\.5 {\n &::-webkit-scrollbar {\n width: calc(var(--spacing) * 1.5);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar\\]\\:w-\\[6px\\] {\n &::-webkit-scrollbar {\n width: 6px;\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:rounded-full {\n &::-webkit-scrollbar-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:bg-slate-300 {\n &::-webkit-scrollbar-thumb {\n background-color: var(--color-slate-300);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar-track\\]\\:bg-transparent {\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0 {\n &:has([role=checkbox]) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .\\[\\.border-b\\]\\:pb-6 {\n &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 6);\n }\n }\n .\\[\\.border-t\\]\\:pt-6 {\n &:is(.border-t) {\n padding-top: calc(var(--spacing) * 6);\n }\n }\n .\\[\\&\\:last-child\\>td\\]\\:border-b-0 {\n &:last-child>td {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .\\[\\&\\>\\*\\]\\:m-0 {\n &>* {\n margin: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&\\>\\*\\]\\:shrink-0 {\n &>* {\n flex-shrink: 0;\n }\n }\n .\\[\\&\\>button\\]\\:hidden {\n &>button {\n display: none;\n }\n }\n .\\[\\&\\>button\\]\\:w-auto {\n &>button {\n width: auto;\n }\n }\n .\\[\\&\\>button\\]\\:cursor-not-allowed {\n &>button {\n cursor: not-allowed;\n }\n }\n .\\[\\&\\>button\\]\\:rounded-none\\! {\n &>button {\n border-radius: 0 !important;\n }\n }\n .\\[\\&\\>button\\]\\:bg-neutral-900 {\n &>button {\n background-color: var(--color-neutral-900);\n }\n }\n .\\[\\&\\>button\\]\\:bg-transparent\\! {\n &>button {\n background-color: transparent !important;\n }\n }\n .\\[\\&\\>button\\]\\:font-semibold {\n &>button {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&\\>button\\]\\:text-neutral-300 {\n &>button {\n color: var(--color-neutral-300);\n }\n }\n .\\[\\&\\>button\\]\\:text-neutral-900\\! {\n &>button {\n color: var(--color-neutral-900) !important;\n }\n }\n .\\[\\&\\>button\\]\\:text-white {\n &>button {\n color: var(--color-white);\n }\n }\n .\\[\\&\\>button\\]\\:line-through {\n &>button {\n text-decoration-line: line-through;\n }\n }\n .\\[\\&\\>button\\]\\:underline {\n &>button {\n text-decoration-line: underline;\n }\n }\n .\\[\\&\\>button\\]\\:decoration-2 {\n &>button {\n text-decoration-thickness: 2px;\n }\n }\n .\\[\\&\\>button\\]\\:underline-offset-4 {\n &>button {\n text-underline-offset: 4px;\n }\n }\n .\\[\\&\\>button\\]\\:hover\\:bg-neutral-900 {\n &>button {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-neutral-900);\n }\n }\n }\n }\n .\\[\\&\\>button\\]\\:hover\\:bg-transparent\\! {\n &>button {\n &:hover {\n @media (hover: hover) {\n background-color: transparent !important;\n }\n }\n }\n }\n .\\[\\&\\>button\\]\\:hover\\:text-neutral-900\\! {\n &>button {\n &:hover {\n @media (hover: hover) {\n color: var(--color-neutral-900) !important;\n }\n }\n }\n }\n .\\[\\&\\>button\\]\\:hover\\:text-white {\n &>button {\n &:hover {\n @media (hover: hover) {\n color: var(--color-white);\n }\n }\n }\n }\n .\\[\\&\\>button\\:last-child\\]\\:mt-0 {\n &>button:last-child {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&\\>div\\]\\:min-w-\\[200px\\] {\n &>div {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\]\\:flex-1 {\n &>div {\n flex: 1;\n }\n }\n .\\[\\&\\>div\\]\\:\\!rounded-none {\n &>div {\n border-radius: 0 !important;\n }\n }\n .\\[\\&\\>div\\]\\:\\!border-0 {\n &>div {\n border-style: var(--tw-border-style) !important;\n border-width: 0px !important;\n }\n }\n .\\[\\&\\>div\\]\\:\\!shadow-none {\n &>div {\n --tw-shadow: 0 0 #0000 !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n }\n .\\[\\&\\>div_label\\]\\:mb-2 {\n &>div label {\n margin-bottom: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>div_label\\]\\:block {\n &>div label {\n display: block;\n }\n }\n .\\[\\&\\>div_label\\]\\:text-sm {\n &>div label {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .\\[\\&\\>div_label\\]\\:font-medium {\n &>div label {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&\\>div_label\\]\\:text-gray-700 {\n &>div label {\n color: var(--color-gray-700);\n }\n }\n .\\[\\&\\>div\\:first-child\\]\\:min-w-\\[200px\\] {\n &>div:first-child {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\:first-child\\]\\:flex-1 {\n &>div:first-child {\n flex: 1;\n }\n }\n .\\[\\&\\>div\\:nth-child\\(2\\)\\]\\:min-w-\\[200px\\] {\n &>div:nth-child(2) {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\:nth-child\\(2\\)\\]\\:flex-1 {\n &>div:nth-child(2) {\n flex: 1;\n }\n }\n .\\[\\&\\>label\\]\\:mb-2 {\n &>label {\n margin-bottom: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>label\\]\\:block {\n &>label {\n display: block;\n }\n }\n .\\[\\&\\>label\\]\\:text-sm {\n &>label {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .\\[\\&\\>label\\]\\:font-medium {\n &>label {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&\\>label\\]\\:text-gray-700 {\n &>label {\n color: var(--color-gray-700);\n }\n }\n .max-\\[800px\\]\\:\\[\\&\\>li\\]\\:pb-4 {\n @media (width < 800px) {\n &>li {\n padding-bottom: calc(var(--spacing) * 4);\n }\n }\n }\n .\\[\\&\\>span\\]\\:line-clamp-1 {\n &>span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n }\n .\\[\\&\\>span\\:last-child\\]\\:truncate {\n &>span:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .\\[\\&\\>svg\\]\\:pointer-events-none {\n &>svg {\n pointer-events: none;\n }\n }\n .\\[\\&\\>svg\\]\\:size-3 {\n &>svg {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&\\>svg\\]\\:size-4 {\n &>svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\>svg\\]\\:h-3\\.5 {\n &>svg {\n height: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:h-\\[12px\\] {\n &>svg {\n height: 12px;\n }\n }\n .\\[\\&\\>svg\\]\\:w-3\\.5 {\n &>svg {\n width: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:w-\\[12px\\] {\n &>svg {\n width: 12px;\n }\n }\n .\\[\\&\\>svg\\]\\:shrink-0 {\n &>svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&\\>tbody\\>tr\\:last-child\\>td\\]\\:border-b-0 {\n &>tbody>tr:last-child>td {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .\\[\\&\\>td\\]\\:border-b-0 {\n &>td {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .\\[\\&\\>td\\]\\:p-2 {\n &>td {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>th\\]\\:sticky {\n &>th {\n position: sticky;\n }\n }\n .\\[\\&\\>th\\]\\:top-0 {\n &>th {\n top: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&\\>th\\]\\:z-10 {\n &>th {\n z-index: 10;\n }\n }\n .\\[\\&\\>th\\]\\:bg-muted {\n &>th {\n background-color: var(--color-muted);\n }\n }\n .\\[\\&\\>th\\]\\:bg-muted\\/70 {\n &>th {\n background-color: color-mix(in srgb, #f7f7f6 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 70%, transparent);\n }\n }\n }\n .\\[\\&\\>th\\]\\:p-2 {\n &>th {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>th\\]\\:text-left {\n &>th {\n text-align: left;\n }\n }\n .\\[\\&\\>th\\]\\:font-semibold {\n &>th {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&\\>tr\\]\\:last\\:border-b-0 {\n &>tr {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n .\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180 {\n &[data-state=open]>svg {\n rotate: 180deg;\n }\n }\n .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2 {\n [data-side=left][data-collapsible=offcanvas] & {\n right: calc(var(--spacing) * -2);\n }\n }\n .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize {\n [data-side=left][data-state=collapsed] & {\n cursor: e-resize;\n }\n }\n .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2 {\n [data-side=right][data-collapsible=offcanvas] & {\n left: calc(var(--spacing) * -2);\n }\n }\n .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize {\n [data-side=right][data-state=collapsed] & {\n cursor: w-resize;\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-accent {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-destructive\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-green-200 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-green-200);\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-primary\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-secondary\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:text-accent-foreground {\n a& {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n }\n .\\[table\\[data-flush\\]_\\&\\:last-child\\>td\\:first-child\\]\\:rounded-bl-\\[13px\\] {\n table[data-flush] &:last-child>td:first-child {\n border-bottom-left-radius: 13px;\n }\n }\n .\\[table\\[data-flush\\]_\\&\\:last-child\\>td\\:last-child\\]\\:rounded-br-\\[13px\\] {\n table[data-flush] &:last-child>td:last-child {\n border-bottom-right-radius: 13px;\n }\n }\n}\n@layer base {\n :root,\n :host {\n font-family: 'Inter', sans-serif;\n }\n}\n@property --tw-border-spacing-x {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-spacing-y {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-scroll-snap-strictness {\n syntax: \"*\";\n inherits: false;\n initial-value: proximity;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-scroll-snap-strictness: proximity;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: \"\";\n }\n }\n}\n";
3927
+ var css_248z = "/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-900: oklch(39.6% 0.141 25.723);\n --color-red-950: oklch(25.8% 0.092 26.042);\n --color-orange-50: #f25c2b;\n --color-orange-100: #520c03;\n --color-orange-200: oklch(90.1% 0.076 70.697);\n --color-orange-300: oklch(83.7% 0.128 66.29);\n --color-orange-400: oklch(75% 0.183 55.934);\n --color-orange-500: oklch(70.5% 0.213 47.604);\n --color-orange-600: oklch(64.6% 0.222 41.116);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-orange-800: oklch(47% 0.157 37.304);\n --color-orange-950: oklch(26.6% 0.079 36.259);\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-100: oklch(96.2% 0.059 95.617);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-300: oklch(87.9% 0.169 91.605);\n --color-amber-400: oklch(82.8% 0.189 84.429);\n --color-amber-500: oklch(76.9% 0.188 70.08);\n --color-amber-600: oklch(66.6% 0.179 58.318);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-800: oklch(47.3% 0.137 46.201);\n --color-amber-900: oklch(41.4% 0.112 45.904);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n --color-yellow-50: oklch(98.7% 0.026 102.212);\n --color-yellow-100: oklch(97.3% 0.071 103.193);\n --color-yellow-200: oklch(94.5% 0.129 101.54);\n --color-yellow-300: oklch(90.5% 0.182 98.111);\n --color-yellow-400: oklch(85.2% 0.199 91.936);\n --color-yellow-500: oklch(79.5% 0.184 86.047);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-yellow-800: oklch(47.6% 0.114 61.907);\n --color-yellow-900: oklch(42.1% 0.095 57.708);\n --color-green-50: oklch(98.2% 0.018 155.826);\n --color-green-100: oklch(96.2% 0.044 156.743);\n --color-green-200: oklch(92.5% 0.084 155.995);\n --color-green-300: oklch(87.1% 0.15 154.449);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-500: oklch(72.3% 0.219 149.579);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-green-700: oklch(52.7% 0.154 150.069);\n --color-green-800: oklch(44.8% 0.119 151.328);\n --color-green-900: oklch(39.3% 0.095 152.535);\n --color-green-950: oklch(26.6% 0.065 152.934);\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-300: oklch(84.5% 0.143 164.978);\n --color-emerald-500: oklch(69.6% 0.17 162.48);\n --color-emerald-600: oklch(59.6% 0.145 163.225);\n --color-emerald-700: oklch(50.8% 0.118 165.612);\n --color-emerald-900: oklch(37.8% 0.077 168.94);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n --color-teal-50: oklch(98.4% 0.014 180.72);\n --color-teal-100: oklch(95.3% 0.051 180.801);\n --color-teal-400: oklch(77.7% 0.152 181.912);\n --color-teal-500: oklch(70.4% 0.14 182.503);\n --color-teal-600: oklch(60% 0.118 184.704);\n --color-teal-700: oklch(51.1% 0.096 186.391);\n --color-teal-900: oklch(38.6% 0.063 188.416);\n --color-teal-950: oklch(27.7% 0.046 192.524);\n --color-cyan-500: oklch(71.5% 0.143 215.221);\n --color-cyan-950: oklch(30.2% 0.056 229.695);\n --color-sky-500: oklch(68.5% 0.169 237.323);\n --color-sky-600: oklch(58.8% 0.158 241.966);\n --color-sky-700: oklch(50% 0.134 242.749);\n --color-blue-50: #3b82f6;\n --color-blue-100: #172554;\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n --color-indigo-50: oklch(96.2% 0.018 272.314);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-400: oklch(67.3% 0.182 276.935);\n --color-indigo-500: oklch(58.5% 0.233 277.117);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-violet-50: oklch(96.9% 0.016 293.756);\n --color-violet-100: oklch(94.3% 0.029 294.588);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-300: oklch(81.1% 0.111 293.571);\n --color-violet-500: oklch(60.6% 0.25 292.717);\n --color-violet-600: oklch(54.1% 0.281 293.009);\n --color-violet-700: oklch(49.1% 0.27 292.581);\n --color-violet-800: oklch(43.2% 0.232 292.759);\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-100: oklch(94.6% 0.033 307.174);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-300: oklch(82.7% 0.119 306.383);\n --color-purple-400: oklch(71.4% 0.203 305.504);\n --color-purple-500: oklch(62.7% 0.265 303.9);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-purple-800: oklch(43.8% 0.218 303.724);\n --color-purple-900: oklch(38.1% 0.176 304.987);\n --color-purple-950: oklch(29.1% 0.149 302.717);\n --color-fuchsia-500: oklch(66.7% 0.295 322.15);\n --color-pink-600: oklch(59.2% 0.249 0.584);\n --color-rose-50: oklch(96.9% 0.015 12.422);\n --color-rose-200: oklch(89.2% 0.058 10.001);\n --color-rose-500: oklch(64.5% 0.246 16.439);\n --color-rose-600: oklch(58.6% 0.253 17.585);\n --color-rose-700: oklch(51.4% 0.222 16.935);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-zinc-100: oklch(96.7% 0.001 286.375);\n --color-zinc-200: oklch(92% 0.004 286.32);\n --color-zinc-300: oklch(87.1% 0.006 286.286);\n --color-zinc-500: oklch(55.2% 0.016 285.938);\n --color-zinc-600: oklch(44.2% 0.017 285.786);\n --color-zinc-800: oklch(27.4% 0.006 286.033);\n --color-zinc-900: oklch(21% 0.006 285.885);\n --color-neutral-50: #8799af;\n --color-neutral-100: #172a41;\n --color-neutral-200: oklch(92.2% 0 0);\n --color-neutral-300: oklch(87% 0 0);\n --color-neutral-400: oklch(70.8% 0 0);\n --color-neutral-500: oklch(55.6% 0 0);\n --color-neutral-600: oklch(43.9% 0 0);\n --color-neutral-700: oklch(37.1% 0 0);\n --color-neutral-800: oklch(26.9% 0 0);\n --color-neutral-900: oklch(20.5% 0 0);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-6xl: 72rem;\n --container-7xl: 80rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --font-weight-black: 900;\n --tracking-tight: -0.025em;\n --tracking-normal: 0em;\n --tracking-wide: 0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --radius-xs: 0.125rem;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --animate-bounce: bounce 1s infinite;\n --blur-sm: 8px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --blur-3xl: 64px;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-primary: #18181b;\n --color-primary-foreground: #fafafa;\n --color-secondary: #f4f4f5;\n --color-secondary-foreground: #18181b;\n --color-destructive: #dc2626;\n --color-destructive-foreground: #fef2f2;\n --color-background: #ffffff;\n --color-input: #e4e4e7;\n --color-accent: #f4f4f5;\n --color-accent-foreground: #18181b;\n --color-card: #ffffff;\n --color-card-foreground: #09090b;\n --color-border: #e4e4e7;\n --color-sidebar-ring: #a1a1aa;\n --color-muted: #f7f7f6;\n --color-muted-foreground: #74716e;\n --color-orange-10: #fff3e6;\n --color-orange-20: #ffdfbf;\n --color-orange-30: #ffb47f;\n --color-orange-40: #ff8446;\n --color-orange-60: #cd4b27;\n --color-orange-70: #b03719;\n --color-orange-80: #892c0f;\n --color-orange-90: #61170d;\n --color-neutral-10: #f1f4f8;\n --color-neutral-20: #dbe2eb;\n --color-neutral-30: #bfccda;\n --color-neutral-40: #a3b2c6;\n --color-neutral-60: #677c95;\n --color-neutral-70: #4e647f;\n --color-neutral-80: #394d66;\n --color-neutral-90: #293b51;\n --color-blue-10: #dbeafe;\n --color-blue-20: #bfdbfe;\n --color-blue-30: #93c5fd;\n --color-blue-40: #60a5fa;\n --color-blue-60: #2563eb;\n --color-blue-70: #1d4ed8;\n --color-blue-80: #1e40af;\n --color-blue-90: #1e3a8a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .\\@container\\/card-header {\n container-type: inline-size;\n container-name: card-header;\n }\n .\\@container\\/strip {\n container-type: inline-size;\n container-name: strip;\n }\n .\\@container {\n container-type: inline-size;\n }\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .collapse {\n visibility: collapse;\n }\n .invisible {\n visibility: hidden;\n }\n .visible {\n visibility: visible;\n }\n .visible\\! {\n visibility: visible !important;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .sticky {\n position: sticky;\n }\n .-inset-6 {\n inset: calc(var(--spacing) * -6);\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .inset-\\[8\\%\\] {\n inset: 8%;\n }\n .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n .inset-x-\\[12\\%\\] {\n inset-inline: 12%;\n }\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n .\\!top-0 {\n top: calc(var(--spacing) * 0) !important;\n }\n .-top-0\\.5 {\n top: calc(var(--spacing) * -0.5);\n }\n .-top-1\\.5 {\n top: calc(var(--spacing) * -1.5);\n }\n .-top-2 {\n top: calc(var(--spacing) * -2);\n }\n .-top-2\\.5 {\n top: calc(var(--spacing) * -2.5);\n }\n .-top-4 {\n top: calc(var(--spacing) * -4);\n }\n .-top-5 {\n top: calc(var(--spacing) * -5);\n }\n .-top-\\[3px\\] {\n top: calc(3px * -1);\n }\n .-top-\\[7px\\] {\n top: calc(7px * -1);\n }\n .-top-\\[100px\\] {\n top: calc(100px * -1);\n }\n .-top-\\[200px\\] {\n top: calc(200px * -1);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-1 {\n top: calc(var(--spacing) * 1);\n }\n .top-1\\.5 {\n top: calc(var(--spacing) * 1.5);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-2 {\n top: calc(var(--spacing) * 2);\n }\n .top-3 {\n top: calc(var(--spacing) * 3);\n }\n .top-3\\.5 {\n top: calc(var(--spacing) * 3.5);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .top-5 {\n top: calc(var(--spacing) * 5);\n }\n .top-6 {\n top: calc(var(--spacing) * 6);\n }\n .top-8 {\n top: calc(var(--spacing) * 8);\n }\n .top-9 {\n top: calc(var(--spacing) * 9);\n }\n .top-10 {\n top: calc(var(--spacing) * 10);\n }\n .top-20 {\n top: calc(var(--spacing) * 20);\n }\n .top-24 {\n top: calc(var(--spacing) * 24);\n }\n .top-50 {\n top: calc(var(--spacing) * 50);\n }\n .top-200 {\n top: calc(var(--spacing) * 200);\n }\n .top-\\[-2px\\] {\n top: -2px;\n }\n .top-\\[2px\\] {\n top: 2px;\n }\n .top-\\[5px\\] {\n top: 5px;\n }\n .top-\\[6px\\] {\n top: 6px;\n }\n .top-\\[7px\\] {\n top: 7px;\n }\n .top-\\[10px\\] {\n top: 10px;\n }\n .top-\\[15px\\] {\n top: 15px;\n }\n .top-\\[16px\\] {\n top: 16px;\n }\n .top-\\[24\\%\\] {\n top: 24%;\n }\n .top-\\[38\\%\\] {\n top: 38%;\n }\n .top-\\[50\\%\\] {\n top: 50%;\n }\n .top-\\[50px\\] {\n top: 50px;\n }\n .top-\\[96px\\] {\n top: 96px;\n }\n .top-\\[176px\\] {\n top: 176px;\n }\n .top-\\[340px\\] {\n top: 340px;\n }\n .top-full {\n top: 100%;\n }\n .-right-0\\.5 {\n right: calc(var(--spacing) * -0.5);\n }\n .-right-4 {\n right: calc(var(--spacing) * -4);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n .right-1\\.5 {\n right: calc(var(--spacing) * 1.5);\n }\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .right-2\\.5 {\n right: calc(var(--spacing) * 2.5);\n }\n .right-3 {\n right: calc(var(--spacing) * 3);\n }\n .right-3\\.5 {\n right: calc(var(--spacing) * 3.5);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .right-5 {\n right: calc(var(--spacing) * 5);\n }\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n .right-12 {\n right: calc(var(--spacing) * 12);\n }\n .right-16 {\n right: calc(var(--spacing) * 16);\n }\n .right-30 {\n right: calc(var(--spacing) * 30);\n }\n .right-\\[-100px\\] {\n right: -100px;\n }\n .right-\\[-390px\\] {\n right: -390px;\n }\n .right-\\[7\\%\\] {\n right: 7%;\n }\n .right-\\[8px\\] {\n right: 8px;\n }\n .right-\\[10px\\] {\n right: 10px;\n }\n .right-\\[12px\\] {\n right: 12px;\n }\n .right-\\[14px\\] {\n right: 14px;\n }\n .right-\\[40px\\] {\n right: 40px;\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .bottom-2 {\n bottom: calc(var(--spacing) * 2);\n }\n .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .bottom-\\[-2px\\] {\n bottom: -2px;\n }\n .bottom-\\[-32px\\] {\n bottom: -32px;\n }\n .bottom-\\[5px\\] {\n bottom: 5px;\n }\n .bottom-\\[7px\\] {\n bottom: 7px;\n }\n .bottom-\\[10\\%\\] {\n bottom: 10%;\n }\n .bottom-\\[10px\\] {\n bottom: 10px;\n }\n .bottom-\\[12px\\] {\n bottom: 12px;\n }\n .bottom-full {\n bottom: 100%;\n }\n .\\!left-0 {\n left: calc(var(--spacing) * 0) !important;\n }\n .-left-\\[7px\\] {\n left: calc(7px * -1);\n }\n .-left-\\[9px\\] {\n left: calc(9px * -1);\n }\n .-left-\\[26px\\] {\n left: calc(26px * -1);\n }\n .-left-\\[200px\\] {\n left: calc(200px * -1);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1 {\n left: calc(var(--spacing) * 1);\n }\n .left-1\\.5 {\n left: calc(var(--spacing) * 1.5);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-2\\.5 {\n left: calc(var(--spacing) * 2.5);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .left-\\[2px\\] {\n left: 2px;\n }\n .left-\\[4\\.5px\\] {\n left: 4.5px;\n }\n .left-\\[9px\\] {\n left: 9px;\n }\n .left-\\[11px\\] {\n left: 11px;\n }\n .left-\\[12px\\] {\n left: 12px;\n }\n .left-\\[14px\\] {\n left: 14px;\n }\n .left-\\[18px\\] {\n left: 18px;\n }\n .left-\\[22\\%\\] {\n left: 22%;\n }\n .left-\\[30\\%\\] {\n left: 30%;\n }\n .left-\\[50\\%\\] {\n left: 50%;\n }\n .left-\\[80px\\] {\n left: 80px;\n }\n .left-\\[680px\\] {\n left: 680px;\n }\n .left-full {\n left: 100%;\n }\n .isolate {\n isolation: isolate;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-5 {\n z-index: 5;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-30 {\n z-index: 30;\n }\n .z-40 {\n z-index: 40;\n }\n .z-50 {\n z-index: 50;\n }\n .z-55 {\n z-index: 55;\n }\n .z-\\[1\\] {\n z-index: 1;\n }\n .z-\\[3\\] {\n z-index: 3;\n }\n .z-\\[5\\] {\n z-index: 5;\n }\n .z-\\[50\\] {\n z-index: 50;\n }\n .z-\\[55\\] {\n z-index: 55;\n }\n .z-\\[60\\] {\n z-index: 60;\n }\n .z-\\[70\\] {\n z-index: 70;\n }\n .z-\\[200\\] {\n z-index: 200;\n }\n .z-\\[1000\\] {\n z-index: 1000;\n }\n .z-\\[9200\\] {\n z-index: 9200;\n }\n .z-\\[9999\\] {\n z-index: 9999;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-9 {\n order: 9;\n }\n .order-10 {\n order: 10;\n }\n .order-42 {\n order: 42;\n }\n .order-77 {\n order: 77;\n }\n .order-123 {\n order: 123;\n }\n .order-456 {\n order: 456;\n }\n .order-9749 {\n order: 9749;\n }\n .order-12345 {\n order: 12345;\n }\n .col-span-1 {\n grid-column: span 1 / span 1;\n }\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n .col-span-6 {\n grid-column: span 6 / span 6;\n }\n .col-span-full {\n grid-column: 1 / -1;\n }\n .col-start-1 {\n grid-column-start: 1;\n }\n .col-start-2 {\n grid-column-start: 2;\n }\n .col-end-1 {\n grid-column-end: 1;\n }\n .col-end-2 {\n grid-column-end: 2;\n }\n .row-auto {\n grid-row: auto;\n }\n .row-span-2 {\n grid-row: span 2 / span 2;\n }\n .row-span-full {\n grid-row: 1 / -1;\n }\n .row-start-1 {\n grid-row-start: 1;\n }\n .float-left {\n float: left;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .-m-2\\.5 {\n margin: calc(var(--spacing) * -2.5);\n }\n .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .m-1 {\n margin: calc(var(--spacing) * 1);\n }\n .m-2 {\n margin: calc(var(--spacing) * 2);\n }\n .m-4 {\n margin: calc(var(--spacing) * 4);\n }\n .m-8 {\n margin: calc(var(--spacing) * 8);\n }\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n .-mx-1\\.5 {\n margin-inline: calc(var(--spacing) * -1.5);\n }\n .-mx-2 {\n margin-inline: calc(var(--spacing) * -2);\n }\n .-mx-4 {\n margin-inline: calc(var(--spacing) * -4);\n }\n .-mx-6 {\n margin-inline: calc(var(--spacing) * -6);\n }\n .-mx-\\[2px\\] {\n margin-inline: calc(2px * -1);\n }\n .-mx-\\[16px\\] {\n margin-inline: calc(16px * -1);\n }\n .-mx-\\[17px\\] {\n margin-inline: calc(17px * -1);\n }\n .mx-0 {\n margin-inline: calc(var(--spacing) * 0);\n }\n .mx-0\\.5 {\n margin-inline: calc(var(--spacing) * 0.5);\n }\n .mx-1 {\n margin-inline: calc(var(--spacing) * 1);\n }\n .mx-2 {\n margin-inline: calc(var(--spacing) * 2);\n }\n .mx-3 {\n margin-inline: calc(var(--spacing) * 3);\n }\n .mx-3\\.5 {\n margin-inline: calc(var(--spacing) * 3.5);\n }\n .mx-4 {\n margin-inline: calc(var(--spacing) * 4);\n }\n .mx-5 {\n margin-inline: calc(var(--spacing) * 5);\n }\n .mx-\\[2px\\] {\n margin-inline: 2px;\n }\n .mx-\\[6px\\] {\n margin-inline: 6px;\n }\n .mx-\\[20px\\] {\n margin-inline: 20px;\n }\n .mx-\\[22px\\] {\n margin-inline: 22px;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .-my-1\\.5 {\n margin-block: calc(var(--spacing) * -1.5);\n }\n .-my-2 {\n margin-block: calc(var(--spacing) * -2);\n }\n .-my-3 {\n margin-block: calc(var(--spacing) * -3);\n }\n .-my-5 {\n margin-block: calc(var(--spacing) * -5);\n }\n .my-0 {\n margin-block: calc(var(--spacing) * 0);\n }\n .my-0\\.5 {\n margin-block: calc(var(--spacing) * 0.5);\n }\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n .my-3 {\n margin-block: calc(var(--spacing) * 3);\n }\n .my-4 {\n margin-block: calc(var(--spacing) * 4);\n }\n .my-5 {\n margin-block: calc(var(--spacing) * 5);\n }\n .my-6 {\n margin-block: calc(var(--spacing) * 6);\n }\n .my-10 {\n margin-block: calc(var(--spacing) * 10);\n }\n .my-\\[1px\\] {\n margin-block: 1px;\n }\n .my-\\[10px\\] {\n margin-block: 10px;\n }\n .-mt-0\\.5 {\n margin-top: calc(var(--spacing) * -0.5);\n }\n .-mt-1 {\n margin-top: calc(var(--spacing) * -1);\n }\n .-mt-2 {\n margin-top: calc(var(--spacing) * -2);\n }\n .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n .-mt-6 {\n margin-top: calc(var(--spacing) * -6);\n }\n .-mt-\\[6px\\] {\n margin-top: calc(6px * -1);\n }\n .mt-0 {\n margin-top: calc(var(--spacing) * 0);\n }\n .mt-0\\.5 {\n margin-top: calc(var(--spacing) * 0.5);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-1\\.5 {\n margin-top: calc(var(--spacing) * 1.5);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-2\\.5 {\n margin-top: calc(var(--spacing) * 2.5);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mt-3\\.5 {\n margin-top: calc(var(--spacing) * 3.5);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mt-7 {\n margin-top: calc(var(--spacing) * 7);\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n .mt-9 {\n margin-top: calc(var(--spacing) * 9);\n }\n .mt-10 {\n margin-top: calc(var(--spacing) * 10);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mt-12 {\n margin-top: calc(var(--spacing) * 12);\n }\n .mt-14 {\n margin-top: calc(var(--spacing) * 14);\n }\n .mt-\\[-2px\\] {\n margin-top: -2px;\n }\n .mt-\\[1px\\] {\n margin-top: 1px;\n }\n .mt-\\[2px\\] {\n margin-top: 2px;\n }\n .mt-\\[3px\\] {\n margin-top: 3px;\n }\n .mt-\\[4px\\] {\n margin-top: 4px;\n }\n .mt-\\[5px\\] {\n margin-top: 5px;\n }\n .mt-\\[6px\\] {\n margin-top: 6px;\n }\n .mt-\\[7px\\] {\n margin-top: 7px;\n }\n .mt-\\[8px\\] {\n margin-top: 8px;\n }\n .mt-\\[10px\\] {\n margin-top: 10px;\n }\n .mt-\\[11px\\] {\n margin-top: 11px;\n }\n .mt-\\[12px\\] {\n margin-top: 12px;\n }\n .mt-\\[14px\\] {\n margin-top: 14px;\n }\n .mt-\\[16px\\] {\n margin-top: 16px;\n }\n .mt-\\[18px\\] {\n margin-top: 18px;\n }\n .mt-\\[20px\\] {\n margin-top: 20px;\n }\n .mt-\\[22px\\] {\n margin-top: 22px;\n }\n .mt-auto {\n margin-top: auto;\n }\n .mt-px {\n margin-top: 1px;\n }\n .-mr-1 {\n margin-right: calc(var(--spacing) * -1);\n }\n .-mr-4 {\n margin-right: calc(var(--spacing) * -4);\n }\n .-mr-px {\n margin-right: -1px;\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-0\\.5 {\n margin-right: calc(var(--spacing) * 0.5);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-1\\.5 {\n margin-right: calc(var(--spacing) * 1.5);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mr-2\\.5 {\n margin-right: calc(var(--spacing) * 2.5);\n }\n .mr-3 {\n margin-right: calc(var(--spacing) * 3);\n }\n .mr-4 {\n margin-right: calc(var(--spacing) * 4);\n }\n .mr-16 {\n margin-right: calc(var(--spacing) * 16);\n }\n .mr-\\[4px\\] {\n margin-right: 4px;\n }\n .mr-\\[6px\\] {\n margin-right: 6px;\n }\n .mr-\\[7px\\] {\n margin-right: 7px;\n }\n .mr-\\[24px\\] {\n margin-right: 24px;\n }\n .mr-auto {\n margin-right: auto;\n }\n .-mb-\\[1\\.5px\\] {\n margin-bottom: calc(1.5px * -1);\n }\n .-mb-\\[16px\\] {\n margin-bottom: calc(16px * -1);\n }\n .-mb-px {\n margin-bottom: -1px;\n }\n .mb-0 {\n margin-bottom: calc(var(--spacing) * 0);\n }\n .mb-0\\.5 {\n margin-bottom: calc(var(--spacing) * 0.5);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-2\\.5 {\n margin-bottom: calc(var(--spacing) * 2.5);\n }\n .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n .mb-3\\.5 {\n margin-bottom: calc(var(--spacing) * 3.5);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-5 {\n margin-bottom: calc(var(--spacing) * 5);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .mb-7 {\n margin-bottom: calc(var(--spacing) * 7);\n }\n .mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n }\n .mb-10 {\n margin-bottom: calc(var(--spacing) * 10);\n }\n .mb-\\[1px\\] {\n margin-bottom: 1px;\n }\n .mb-\\[2px\\] {\n margin-bottom: 2px;\n }\n .mb-\\[3px\\] {\n margin-bottom: 3px;\n }\n .mb-\\[4px\\] {\n margin-bottom: 4px;\n }\n .mb-\\[5px\\] {\n margin-bottom: 5px;\n }\n .mb-\\[6px\\] {\n margin-bottom: 6px;\n }\n .mb-\\[7px\\] {\n margin-bottom: 7px;\n }\n .mb-\\[8px\\] {\n margin-bottom: 8px;\n }\n .mb-\\[9px\\] {\n margin-bottom: 9px;\n }\n .mb-\\[10px\\] {\n margin-bottom: 10px;\n }\n .mb-\\[11px\\] {\n margin-bottom: 11px;\n }\n .mb-\\[12px\\] {\n margin-bottom: 12px;\n }\n .mb-\\[14px\\] {\n margin-bottom: 14px;\n }\n .mb-\\[16px\\] {\n margin-bottom: 16px;\n }\n .mb-\\[18px\\] {\n margin-bottom: 18px;\n }\n .mb-\\[20px\\] {\n margin-bottom: 20px;\n }\n .mb-\\[24px\\] {\n margin-bottom: 24px;\n }\n .mb-\\[32px\\] {\n margin-bottom: 32px;\n }\n .-ml-0\\.5 {\n margin-left: calc(var(--spacing) * -0.5);\n }\n .-ml-1 {\n margin-left: calc(var(--spacing) * -1);\n }\n .-ml-2 {\n margin-left: calc(var(--spacing) * -2);\n }\n .-ml-\\[3px\\] {\n margin-left: calc(3px * -1);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-0\\.5 {\n margin-left: calc(var(--spacing) * 0.5);\n }\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n .ml-1\\.5 {\n margin-left: calc(var(--spacing) * 1.5);\n }\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n .ml-3 {\n margin-left: calc(var(--spacing) * 3);\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .ml-5 {\n margin-left: calc(var(--spacing) * 5);\n }\n .ml-6 {\n margin-left: calc(var(--spacing) * 6);\n }\n .ml-7 {\n margin-left: calc(var(--spacing) * 7);\n }\n .ml-10 {\n margin-left: calc(var(--spacing) * 10);\n }\n .ml-28 {\n margin-left: calc(var(--spacing) * 28);\n }\n .ml-43 {\n margin-left: calc(var(--spacing) * 43);\n }\n .ml-\\[2px\\] {\n margin-left: 2px;\n }\n .ml-\\[4px\\] {\n margin-left: 4px;\n }\n .ml-\\[5px\\] {\n margin-left: 5px;\n }\n .ml-\\[6px\\] {\n margin-left: 6px;\n }\n .ml-\\[7px\\] {\n margin-left: 7px;\n }\n .ml-\\[8px\\] {\n margin-left: 8px;\n }\n .ml-\\[18px\\] {\n margin-left: 18px;\n }\n .ml-\\[28px\\] {\n margin-left: 28px;\n }\n .ml-\\[40px\\] {\n margin-left: 40px;\n }\n .ml-auto {\n margin-left: auto;\n }\n .box-border {\n box-sizing: border-box;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .contents\\! {\n display: contents !important;\n }\n .flex {\n display: flex;\n }\n .flow-root {\n display: flow-root;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .list-item {\n display: list-item;\n }\n .table {\n display: table;\n }\n .table-caption {\n display: table-caption;\n }\n .table-cell {\n display: table-cell;\n }\n .table-row {\n display: table-row;\n }\n .field-sizing-content {\n field-sizing: content;\n }\n .aspect-\\[4\\/5\\] {\n aspect-ratio: 4/5;\n }\n .aspect-\\[5\\/2\\] {\n aspect-ratio: 5/2;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .size-1\\.5 {\n width: calc(var(--spacing) * 1.5);\n height: calc(var(--spacing) * 1.5);\n }\n .size-2 {\n width: calc(var(--spacing) * 2);\n height: calc(var(--spacing) * 2);\n }\n .size-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n .size-3 {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n .size-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .size-5 {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n .size-6 {\n width: calc(var(--spacing) * 6);\n height: calc(var(--spacing) * 6);\n }\n .size-7 {\n width: calc(var(--spacing) * 7);\n height: calc(var(--spacing) * 7);\n }\n .size-8 {\n width: calc(var(--spacing) * 8);\n height: calc(var(--spacing) * 8);\n }\n .size-9 {\n width: calc(var(--spacing) * 9);\n height: calc(var(--spacing) * 9);\n }\n .size-10 {\n width: calc(var(--spacing) * 10);\n height: calc(var(--spacing) * 10);\n }\n .size-12 {\n width: calc(var(--spacing) * 12);\n height: calc(var(--spacing) * 12);\n }\n .size-14 {\n width: calc(var(--spacing) * 14);\n height: calc(var(--spacing) * 14);\n }\n .size-\\[6px\\] {\n width: 6px;\n height: 6px;\n }\n .size-\\[7px\\] {\n width: 7px;\n height: 7px;\n }\n .size-\\[8px\\] {\n width: 8px;\n height: 8px;\n }\n .size-\\[9px\\] {\n width: 9px;\n height: 9px;\n }\n .size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .size-\\[11px\\] {\n width: 11px;\n height: 11px;\n }\n .size-\\[12px\\] {\n width: 12px;\n height: 12px;\n }\n .size-\\[13px\\] {\n width: 13px;\n height: 13px;\n }\n .size-\\[14px\\] {\n width: 14px;\n height: 14px;\n }\n .size-\\[15px\\] {\n width: 15px;\n height: 15px;\n }\n .size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .size-\\[20px\\] {\n width: 20px;\n height: 20px;\n }\n .size-\\[22px\\] {\n width: 22px;\n height: 22px;\n }\n .size-\\[30px\\] {\n width: 30px;\n height: 30px;\n }\n .size-\\[40px\\] {\n width: 40px;\n height: 40px;\n }\n .size-\\[44px\\] {\n width: 44px;\n height: 44px;\n }\n .size-\\[60px\\] {\n width: 60px;\n height: 60px;\n }\n .size-full {\n width: 100%;\n height: 100%;\n }\n .\\!h-screen {\n height: 100vh !important;\n }\n .h-0 {\n height: calc(var(--spacing) * 0);\n }\n .h-0\\.5 {\n height: calc(var(--spacing) * 0.5);\n }\n .h-1 {\n height: calc(var(--spacing) * 1);\n }\n .h-1\\.5 {\n height: calc(var(--spacing) * 1.5);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-2\\.5 {\n height: calc(var(--spacing) * 2.5);\n }\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-4\\.5 {\n height: calc(var(--spacing) * 4.5);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-11 {\n height: calc(var(--spacing) * 11);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-20 {\n height: calc(var(--spacing) * 20);\n }\n .h-24 {\n height: calc(var(--spacing) * 24);\n }\n .h-28 {\n height: calc(var(--spacing) * 28);\n }\n .h-32 {\n height: calc(var(--spacing) * 32);\n }\n .h-40 {\n height: calc(var(--spacing) * 40);\n }\n .h-44 {\n height: calc(var(--spacing) * 44);\n }\n .h-48 {\n height: calc(var(--spacing) * 48);\n }\n .h-64 {\n height: calc(var(--spacing) * 64);\n }\n .h-72 {\n height: calc(var(--spacing) * 72);\n }\n .h-80 {\n height: calc(var(--spacing) * 80);\n }\n .h-96 {\n height: calc(var(--spacing) * 96);\n }\n .h-\\[2\\.5px\\] {\n height: 2.5px;\n }\n .h-\\[2px\\] {\n height: 2px;\n }\n .h-\\[3px\\] {\n height: 3px;\n }\n .h-\\[4px\\] {\n height: 4px;\n }\n .h-\\[5px\\] {\n height: 5px;\n }\n .h-\\[6px\\] {\n height: 6px;\n }\n .h-\\[7px\\] {\n height: 7px;\n }\n .h-\\[8px\\] {\n height: 8px;\n }\n .h-\\[9px\\] {\n height: 9px;\n }\n .h-\\[10px\\] {\n height: 10px;\n }\n .h-\\[11px\\] {\n height: 11px;\n }\n .h-\\[12px\\] {\n height: 12px;\n }\n .h-\\[13px\\] {\n height: 13px;\n }\n .h-\\[14px\\] {\n height: 14px;\n }\n .h-\\[15\\.33px\\] {\n height: 15.33px;\n }\n .h-\\[15px\\] {\n height: 15px;\n }\n .h-\\[16px\\] {\n height: 16px;\n }\n .h-\\[17px\\] {\n height: 17px;\n }\n .h-\\[18px\\] {\n height: 18px;\n }\n .h-\\[20px\\] {\n height: 20px;\n }\n .h-\\[22px\\] {\n height: 22px;\n }\n .h-\\[23px\\] {\n height: 23px;\n }\n .h-\\[24px\\] {\n height: 24px;\n }\n .h-\\[25px\\] {\n height: 25px;\n }\n .h-\\[26\\%\\] {\n height: 26%;\n }\n .h-\\[26px\\] {\n height: 26px;\n }\n .h-\\[28px\\] {\n height: 28px;\n }\n .h-\\[29px\\] {\n height: 29px;\n }\n .h-\\[30\\%\\] {\n height: 30%;\n }\n .h-\\[30px\\] {\n height: 30px;\n }\n .h-\\[32px\\] {\n height: 32px;\n }\n .h-\\[34px\\] {\n height: 34px;\n }\n .h-\\[35px\\] {\n height: 35px;\n }\n .h-\\[36px\\] {\n height: 36px;\n }\n .h-\\[38px\\] {\n height: 38px;\n }\n .h-\\[40px\\] {\n height: 40px;\n }\n .h-\\[41px\\] {\n height: 41px;\n }\n .h-\\[42px\\] {\n height: 42px;\n }\n .h-\\[44\\%\\] {\n height: 44%;\n }\n .h-\\[48px\\] {\n height: 48px;\n }\n .h-\\[50px\\] {\n height: 50px;\n }\n .h-\\[52\\%\\] {\n height: 52%;\n }\n .h-\\[52px\\] {\n height: 52px;\n }\n .h-\\[53px\\] {\n height: 53px;\n }\n .h-\\[54px\\] {\n height: 54px;\n }\n .h-\\[60px\\] {\n height: 60px;\n }\n .h-\\[60vh\\] {\n height: 60vh;\n }\n .h-\\[64px\\] {\n height: 64px;\n }\n .h-\\[68px\\] {\n height: 68px;\n }\n .h-\\[70px\\] {\n height: 70px;\n }\n .h-\\[70vh\\] {\n height: 70vh;\n }\n .h-\\[74px\\] {\n height: 74px;\n }\n .h-\\[85vh\\] {\n height: 85vh;\n }\n .h-\\[90px\\] {\n height: 90px;\n }\n .h-\\[92vh\\] {\n height: 92vh;\n }\n .h-\\[100vh\\] {\n height: 100vh;\n }\n .h-\\[108px\\] {\n height: 108px;\n }\n .h-\\[110px\\] {\n height: 110px;\n }\n .h-\\[150px\\] {\n height: 150px;\n }\n .h-\\[162px\\] {\n height: 162px;\n }\n .h-\\[180px\\] {\n height: 180px;\n }\n .h-\\[190px\\] {\n height: 190px;\n }\n .h-\\[200px\\] {\n height: 200px;\n }\n .h-\\[225px\\] {\n height: 225px;\n }\n .h-\\[250px\\] {\n height: 250px;\n }\n .h-\\[260px\\] {\n height: 260px;\n }\n .h-\\[262px\\] {\n height: 262px;\n }\n .h-\\[280px\\] {\n height: 280px;\n }\n .h-\\[300px\\] {\n height: 300px;\n }\n .h-\\[320px\\] {\n height: 320px;\n }\n .h-\\[340px\\] {\n height: 340px;\n }\n .h-\\[390px\\] {\n height: 390px;\n }\n .h-\\[400px\\] {\n height: 400px;\n }\n .h-\\[500px\\] {\n height: 500px;\n }\n .h-\\[600px\\] {\n height: 600px;\n }\n .h-\\[640px\\] {\n height: 640px;\n }\n .h-\\[720px\\] {\n height: 720px;\n }\n .h-\\[800px\\] {\n height: 800px;\n }\n .h-\\[calc-size\\(max-content\\,size\\)\\] {\n height: calc-size(max-content,size);\n }\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n .h-auto {\n height: auto;\n }\n .h-fit {\n height: fit-content;\n }\n .h-full {\n height: 100%;\n }\n .h-px {\n height: 1px;\n }\n .h-screen {\n height: 100vh;\n }\n .h-svh {\n height: 100svh;\n }\n .max-h-0 {\n max-height: calc(var(--spacing) * 0);\n }\n .max-h-4 {\n max-height: calc(var(--spacing) * 4);\n }\n .max-h-40 {\n max-height: calc(var(--spacing) * 40);\n }\n .max-h-48 {\n max-height: calc(var(--spacing) * 48);\n }\n .max-h-56 {\n max-height: calc(var(--spacing) * 56);\n }\n .max-h-60 {\n max-height: calc(var(--spacing) * 60);\n }\n .max-h-64 {\n max-height: calc(var(--spacing) * 64);\n }\n .max-h-72 {\n max-height: calc(var(--spacing) * 72);\n }\n .max-h-80 {\n max-height: calc(var(--spacing) * 80);\n }\n .max-h-96 {\n max-height: calc(var(--spacing) * 96);\n }\n .max-h-\\[--radix-select-content-available-height\\] {\n max-height: --radix-select-content-available-height;\n }\n .max-h-\\[20\\.5rem\\] {\n max-height: 20.5rem;\n }\n .max-h-\\[28px\\] {\n max-height: 28px;\n }\n .max-h-\\[40em\\] {\n max-height: 40em;\n }\n .max-h-\\[40vh\\] {\n max-height: 40vh;\n }\n .max-h-\\[45vh\\] {\n max-height: 45vh;\n }\n .max-h-\\[56vh\\] {\n max-height: 56vh;\n }\n .max-h-\\[60vh\\] {\n max-height: 60vh;\n }\n .max-h-\\[75vh\\] {\n max-height: 75vh;\n }\n .max-h-\\[80vh\\] {\n max-height: 80vh;\n }\n .max-h-\\[85vh\\] {\n max-height: 85vh;\n }\n .max-h-\\[86vh\\] {\n max-height: 86vh;\n }\n .max-h-\\[90vh\\] {\n max-height: 90vh;\n }\n .max-h-\\[92vh\\] {\n max-height: 92vh;\n }\n .max-h-\\[95vh\\] {\n max-height: 95vh;\n }\n .max-h-\\[180px\\] {\n max-height: 180px;\n }\n .max-h-\\[190px\\] {\n max-height: 190px;\n }\n .max-h-\\[200px\\] {\n max-height: 200px;\n }\n .max-h-\\[206px\\] {\n max-height: 206px;\n }\n .max-h-\\[248px\\] {\n max-height: 248px;\n }\n .max-h-\\[260px\\] {\n max-height: 260px;\n }\n .max-h-\\[280px\\] {\n max-height: 280px;\n }\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n .max-h-\\[420px\\] {\n max-height: 420px;\n }\n .max-h-\\[460px\\] {\n max-height: 460px;\n }\n .max-h-\\[600px\\] {\n max-height: 600px;\n }\n .max-h-\\[611px\\] {\n max-height: 611px;\n }\n .max-h-\\[612px\\] {\n max-height: 612px;\n }\n .max-h-\\[700px\\] {\n max-height: 700px;\n }\n .max-h-\\[calc\\(100vh-320px\\)\\] {\n max-height: calc(100vh - 320px);\n }\n .max-h-\\[var\\(--radix-dropdown-menu-content-available-height\\)\\] {\n max-height: var(--radix-dropdown-menu-content-available-height);\n }\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .min-h-6 {\n min-height: calc(var(--spacing) * 6);\n }\n .min-h-8 {\n min-height: calc(var(--spacing) * 8);\n }\n .min-h-9 {\n min-height: calc(var(--spacing) * 9);\n }\n .min-h-10 {\n min-height: calc(var(--spacing) * 10);\n }\n .min-h-16 {\n min-height: calc(var(--spacing) * 16);\n }\n .min-h-48 {\n min-height: calc(var(--spacing) * 48);\n }\n .min-h-\\[1rem\\] {\n min-height: 1rem;\n }\n .min-h-\\[2\\.25rem\\] {\n min-height: 2.25rem;\n }\n .min-h-\\[7rem\\] {\n min-height: 7rem;\n }\n .min-h-\\[24px\\] {\n min-height: 24px;\n }\n .min-h-\\[28px\\] {\n min-height: 28px;\n }\n .min-h-\\[32px\\] {\n min-height: 32px;\n }\n .min-h-\\[48px\\] {\n min-height: 48px;\n }\n .min-h-\\[50vh\\] {\n min-height: 50vh;\n }\n .min-h-\\[60px\\] {\n min-height: 60px;\n }\n .min-h-\\[60vh\\] {\n min-height: 60vh;\n }\n .min-h-\\[120px\\] {\n min-height: 120px;\n }\n .min-h-\\[180px\\] {\n min-height: 180px;\n }\n .min-h-\\[220px\\] {\n min-height: 220px;\n }\n .min-h-\\[300px\\] {\n min-height: 300px;\n }\n .min-h-\\[360px\\] {\n min-height: 360px;\n }\n .min-h-\\[400px\\] {\n min-height: 400px;\n }\n .min-h-\\[420px\\] {\n min-height: 420px;\n }\n .min-h-\\[600px\\] {\n min-height: 600px;\n }\n .min-h-\\[calc\\(100svh-20px\\)\\] {\n min-height: calc(100svh - 20px);\n }\n .min-h-\\[calc\\(100vh-56px\\)\\] {\n min-height: calc(100vh - 56px);\n }\n .min-h-full {\n min-height: 100%;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .min-h-svh {\n min-height: 100svh;\n }\n .\\!w-screen {\n width: 100vw !important;\n }\n .w-\\(--radix-dropdown-menu-trigger-width\\) {\n width: var(--radix-dropdown-menu-trigger-width);\n }\n .w-\\(--sidebar-width\\) {\n width: var(--sidebar-width);\n }\n .w-1 {\n width: calc(var(--spacing) * 1);\n }\n .w-1\\.5 {\n width: calc(var(--spacing) * 1.5);\n }\n .w-1\\/2 {\n width: calc(1/2 * 100%);\n }\n .w-1\\/4 {\n width: calc(1/4 * 100%);\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n }\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n .w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n }\n .w-3\\/4 {\n width: calc(3/4 * 100%);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-4\\.5 {\n width: calc(var(--spacing) * 4.5);\n }\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-7 {\n width: calc(var(--spacing) * 7);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n .w-11 {\n width: calc(var(--spacing) * 11);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-13 {\n width: calc(var(--spacing) * 13);\n }\n .w-14 {\n width: calc(var(--spacing) * 14);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-28 {\n width: calc(var(--spacing) * 28);\n }\n .w-30 {\n width: calc(var(--spacing) * 30);\n }\n .w-32 {\n width: calc(var(--spacing) * 32);\n }\n .w-36 {\n width: calc(var(--spacing) * 36);\n }\n .w-40 {\n width: calc(var(--spacing) * 40);\n }\n .w-44 {\n width: calc(var(--spacing) * 44);\n }\n .w-48 {\n width: calc(var(--spacing) * 48);\n }\n .w-55 {\n width: calc(var(--spacing) * 55);\n }\n .w-56 {\n width: calc(var(--spacing) * 56);\n }\n .w-60 {\n width: calc(var(--spacing) * 60);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n .w-80 {\n width: calc(var(--spacing) * 80);\n }\n .w-96 {\n width: calc(var(--spacing) * 96);\n }\n .w-240 {\n width: calc(var(--spacing) * 240);\n }\n .w-\\[--radix-popover-trigger-width\\] {\n width: --radix-popover-trigger-width;\n }\n .w-\\[1\\%\\] {\n width: 1%;\n }\n .w-\\[1\\.5px\\] {\n width: 1.5px;\n }\n .w-\\[1px\\] {\n width: 1px;\n }\n .w-\\[2\\.5px\\] {\n width: 2.5px;\n }\n .w-\\[2px\\] {\n width: 2px;\n }\n .w-\\[3px\\] {\n width: 3px;\n }\n .w-\\[5px\\] {\n width: 5px;\n }\n .w-\\[7px\\] {\n width: 7px;\n }\n .w-\\[8px\\] {\n width: 8px;\n }\n .w-\\[9px\\] {\n width: 9px;\n }\n .w-\\[10px\\] {\n width: 10px;\n }\n .w-\\[11px\\] {\n width: 11px;\n }\n .w-\\[12px\\] {\n width: 12px;\n }\n .w-\\[13px\\] {\n width: 13px;\n }\n .w-\\[14\\.8\\%\\] {\n width: 14.8%;\n }\n .w-\\[14px\\] {\n width: 14px;\n }\n .w-\\[15\\.33px\\] {\n width: 15.33px;\n }\n .w-\\[15px\\] {\n width: 15px;\n }\n .w-\\[16px\\] {\n width: 16px;\n }\n .w-\\[18px\\] {\n width: 18px;\n }\n .w-\\[20px\\] {\n width: 20px;\n }\n .w-\\[22px\\] {\n width: 22px;\n }\n .w-\\[23px\\] {\n width: 23px;\n }\n .w-\\[24px\\] {\n width: 24px;\n }\n .w-\\[26\\%\\] {\n width: 26%;\n }\n .w-\\[26px\\] {\n width: 26px;\n }\n .w-\\[28px\\] {\n width: 28px;\n }\n .w-\\[30\\%\\] {\n width: 30%;\n }\n .w-\\[30px\\] {\n width: 30px;\n }\n .w-\\[33px\\] {\n width: 33px;\n }\n .w-\\[35px\\] {\n width: 35px;\n }\n .w-\\[38\\%\\] {\n width: 38%;\n }\n .w-\\[38px\\] {\n width: 38px;\n }\n .w-\\[40px\\] {\n width: 40px;\n }\n .w-\\[42px\\] {\n width: 42px;\n }\n .w-\\[44\\%\\] {\n width: 44%;\n }\n .w-\\[44px\\] {\n width: 44px;\n }\n .w-\\[45\\%\\] {\n width: 45%;\n }\n .w-\\[46px\\] {\n width: 46px;\n }\n .w-\\[48px\\] {\n width: 48px;\n }\n .w-\\[50px\\] {\n width: 50px;\n }\n .w-\\[52px\\] {\n width: 52px;\n }\n .w-\\[54px\\] {\n width: 54px;\n }\n .w-\\[56\\%\\] {\n width: 56%;\n }\n .w-\\[60px\\] {\n width: 60px;\n }\n .w-\\[62px\\] {\n width: 62px;\n }\n .w-\\[64px\\] {\n width: 64px;\n }\n .w-\\[66px\\] {\n width: 66px;\n }\n .w-\\[70\\%\\] {\n width: 70%;\n }\n .w-\\[70px\\] {\n width: 70px;\n }\n .w-\\[72px\\] {\n width: 72px;\n }\n .w-\\[74px\\] {\n width: 74px;\n }\n .w-\\[75px\\] {\n width: 75px;\n }\n .w-\\[80px\\] {\n width: 80px;\n }\n .w-\\[84px\\] {\n width: 84px;\n }\n .w-\\[86px\\] {\n width: 86px;\n }\n .w-\\[88px\\] {\n width: 88px;\n }\n .w-\\[90px\\] {\n width: 90px;\n }\n .w-\\[92px\\] {\n width: 92px;\n }\n .w-\\[95vw\\] {\n width: 95vw;\n }\n .w-\\[96px\\] {\n width: 96px;\n }\n .w-\\[100px\\] {\n width: 100px;\n }\n .w-\\[100vw\\] {\n width: 100vw;\n }\n .w-\\[110px\\] {\n width: 110px;\n }\n .w-\\[112px\\] {\n width: 112px;\n }\n .w-\\[120px\\] {\n width: 120px;\n }\n .w-\\[124px\\] {\n width: 124px;\n }\n .w-\\[126px\\] {\n width: 126px;\n }\n .w-\\[128px\\] {\n width: 128px;\n }\n .w-\\[130px\\] {\n width: 130px;\n }\n .w-\\[132px\\] {\n width: 132px;\n }\n .w-\\[140px\\] {\n width: 140px;\n }\n .w-\\[145px\\] {\n width: 145px;\n }\n .w-\\[148px\\] {\n width: 148px;\n }\n .w-\\[150px\\] {\n width: 150px;\n }\n .w-\\[158px\\] {\n width: 158px;\n }\n .w-\\[160px\\] {\n width: 160px;\n }\n .w-\\[165px\\] {\n width: 165px;\n }\n .w-\\[168px\\] {\n width: 168px;\n }\n .w-\\[170px\\] {\n width: 170px;\n }\n .w-\\[178px\\] {\n width: 178px;\n }\n .w-\\[180px\\] {\n width: 180px;\n }\n .w-\\[190px\\] {\n width: 190px;\n }\n .w-\\[200px\\] {\n width: 200px;\n }\n .w-\\[210px\\] {\n width: 210px;\n }\n .w-\\[220px\\] {\n width: 220px;\n }\n .w-\\[230px\\] {\n width: 230px;\n }\n .w-\\[240px\\] {\n width: 240px;\n }\n .w-\\[250px\\] {\n width: 250px;\n }\n .w-\\[260px\\] {\n width: 260px;\n }\n .w-\\[268px\\] {\n width: 268px;\n }\n .w-\\[280px\\] {\n width: 280px;\n }\n .w-\\[300px\\] {\n width: 300px;\n }\n .w-\\[301px\\] {\n width: 301px;\n }\n .w-\\[320px\\] {\n width: 320px;\n }\n .w-\\[333px\\] {\n width: 333px;\n }\n .w-\\[336px\\] {\n width: 336px;\n }\n .w-\\[340px\\] {\n width: 340px;\n }\n .w-\\[370px\\] {\n width: 370px;\n }\n .w-\\[380px\\] {\n width: 380px;\n }\n .w-\\[400px\\] {\n width: 400px;\n }\n .w-\\[420px\\] {\n width: 420px;\n }\n .w-\\[440px\\] {\n width: 440px;\n }\n .w-\\[480px\\] {\n width: 480px;\n }\n .w-\\[492px\\] {\n width: 492px;\n }\n .w-\\[500px\\] {\n width: 500px;\n }\n .w-\\[520px\\] {\n width: 520px;\n }\n .w-\\[540px\\] {\n width: 540px;\n }\n .w-\\[544px\\] {\n width: 544px;\n }\n .w-\\[573px\\] {\n width: 573px;\n }\n .w-\\[600px\\] {\n width: 600px;\n }\n .w-\\[688px\\] {\n width: 688px;\n }\n .w-\\[880px\\] {\n width: 880px;\n }\n .w-\\[1080px\\] {\n width: 1080px;\n }\n .w-\\[calc\\(100\\%\\+0\\.5rem\\)\\] {\n width: calc(100% + 0.5rem);\n }\n .w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\] {\n width: var(--radix-dropdown-menu-trigger-width);\n }\n .w-auto {\n width: auto;\n }\n .w-auto\\! {\n width: auto !important;\n }\n .w-fit {\n width: fit-content;\n }\n .w-full {\n width: 100%;\n }\n .w-max {\n width: max-content;\n }\n .w-min {\n width: min-content;\n }\n .w-px {\n width: 1px;\n }\n .w-screen {\n width: 100vw;\n }\n .\\!max-w-\\[860px\\] {\n max-width: 860px !important;\n }\n .\\!max-w-none {\n max-width: none !important;\n }\n .max-w-\\(--skeleton-width\\) {\n max-width: var(--skeleton-width);\n }\n .max-w-0 {\n max-width: calc(var(--spacing) * 0);\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-3xl {\n max-width: var(--container-3xl);\n }\n .max-w-4 {\n max-width: calc(var(--spacing) * 4);\n }\n .max-w-4xl {\n max-width: var(--container-4xl);\n }\n .max-w-5xl {\n max-width: var(--container-5xl);\n }\n .max-w-5xl\\! {\n max-width: var(--container-5xl) !important;\n }\n .max-w-6xl {\n max-width: var(--container-6xl);\n }\n .max-w-7xl {\n max-width: var(--container-7xl);\n }\n .max-w-12 {\n max-width: calc(var(--spacing) * 12);\n }\n .max-w-80 {\n max-width: calc(var(--spacing) * 80);\n }\n .max-w-\\[10rem\\] {\n max-width: 10rem;\n }\n .max-w-\\[12rem\\] {\n max-width: 12rem;\n }\n .max-w-\\[30px\\] {\n max-width: 30px;\n }\n .max-w-\\[40px\\] {\n max-width: 40px;\n }\n .max-w-\\[50\\%\\] {\n max-width: 50%;\n }\n .max-w-\\[60\\%\\] {\n max-width: 60%;\n }\n .max-w-\\[62\\%\\] {\n max-width: 62%;\n }\n .max-w-\\[65ch\\] {\n max-width: 65ch;\n }\n .max-w-\\[78\\%\\] {\n max-width: 78%;\n }\n .max-w-\\[80\\%\\] {\n max-width: 80%;\n }\n .max-w-\\[92\\%\\] {\n max-width: 92%;\n }\n .max-w-\\[92vw\\] {\n max-width: 92vw;\n }\n .max-w-\\[95vw\\] {\n max-width: 95vw;\n }\n .max-w-\\[100\\%\\] {\n max-width: 100%;\n }\n .max-w-\\[130px\\] {\n max-width: 130px;\n }\n .max-w-\\[140px\\] {\n max-width: 140px;\n }\n .max-w-\\[150px\\] {\n max-width: 150px;\n }\n .max-w-\\[160px\\] {\n max-width: 160px;\n }\n .max-w-\\[170px\\] {\n max-width: 170px;\n }\n .max-w-\\[177px\\] {\n max-width: 177px;\n }\n .max-w-\\[180px\\] {\n max-width: 180px;\n }\n .max-w-\\[190px\\] {\n max-width: 190px;\n }\n .max-w-\\[200px\\] {\n max-width: 200px;\n }\n .max-w-\\[220px\\] {\n max-width: 220px;\n }\n .max-w-\\[240px\\] {\n max-width: 240px;\n }\n .max-w-\\[250px\\] {\n max-width: 250px;\n }\n .max-w-\\[260px\\] {\n max-width: 260px;\n }\n .max-w-\\[280px\\] {\n max-width: 280px;\n }\n .max-w-\\[320px\\] {\n max-width: 320px;\n }\n .max-w-\\[340px\\] {\n max-width: 340px;\n }\n .max-w-\\[354px\\] {\n max-width: 354px;\n }\n .max-w-\\[384px\\] {\n max-width: 384px;\n }\n .max-w-\\[400px\\] {\n max-width: 400px;\n }\n .max-w-\\[420px\\] {\n max-width: 420px;\n }\n .max-w-\\[440px\\] {\n max-width: 440px;\n }\n .max-w-\\[450px\\] {\n max-width: 450px;\n }\n .max-w-\\[460px\\] {\n max-width: 460px;\n }\n .max-w-\\[480px\\] {\n max-width: 480px;\n }\n .max-w-\\[500px\\] {\n max-width: 500px;\n }\n .max-w-\\[512px\\] {\n max-width: 512px;\n }\n .max-w-\\[520px\\] {\n max-width: 520px;\n }\n .max-w-\\[540px\\] {\n max-width: 540px;\n }\n .max-w-\\[544px\\] {\n max-width: 544px;\n }\n .max-w-\\[560px\\] {\n max-width: 560px;\n }\n .max-w-\\[580px\\] {\n max-width: 580px;\n }\n .max-w-\\[600px\\] {\n max-width: 600px;\n }\n .max-w-\\[640px\\] {\n max-width: 640px;\n }\n .max-w-\\[660px\\] {\n max-width: 660px;\n }\n .max-w-\\[680px\\] {\n max-width: 680px;\n }\n .max-w-\\[700px\\] {\n max-width: 700px;\n }\n .max-w-\\[720px\\] {\n max-width: 720px;\n }\n .max-w-\\[760px\\] {\n max-width: 760px;\n }\n .max-w-\\[791px\\] {\n max-width: 791px;\n }\n .max-w-\\[800px\\] {\n max-width: 800px;\n }\n .max-w-\\[960px\\] {\n max-width: 960px;\n }\n .max-w-\\[1080px\\] {\n max-width: 1080px;\n }\n .max-w-\\[1180px\\] {\n max-width: 1180px;\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n }\n .max-w-\\[min\\(100\\%\\,11rem\\)\\] {\n max-width: min(100%, 11rem);\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-lg {\n max-width: var(--container-lg);\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .max-w-none {\n max-width: none;\n }\n .max-w-sm {\n max-width: var(--container-sm);\n }\n .max-w-xl {\n max-width: var(--container-xl);\n }\n .max-w-xs {\n max-width: var(--container-xs);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .min-w-5 {\n min-width: calc(var(--spacing) * 5);\n }\n .min-w-7 {\n min-width: calc(var(--spacing) * 7);\n }\n .min-w-8 {\n min-width: calc(var(--spacing) * 8);\n }\n .min-w-9 {\n min-width: calc(var(--spacing) * 9);\n }\n .min-w-24 {\n min-width: calc(var(--spacing) * 24);\n }\n .min-w-56 {\n min-width: calc(var(--spacing) * 56);\n }\n .min-w-60 {\n min-width: calc(var(--spacing) * 60);\n }\n .min-w-\\[3px\\] {\n min-width: 3px;\n }\n .min-w-\\[4px\\] {\n min-width: 4px;\n }\n .min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .min-w-\\[20px\\] {\n min-width: 20px;\n }\n .min-w-\\[22px\\] {\n min-width: 22px;\n }\n .min-w-\\[34px\\] {\n min-width: 34px;\n }\n .min-w-\\[44px\\] {\n min-width: 44px;\n }\n .min-w-\\[48px\\] {\n min-width: 48px;\n }\n .min-w-\\[60px\\] {\n min-width: 60px;\n }\n .min-w-\\[85px\\] {\n min-width: 85px;\n }\n .min-w-\\[86px\\] {\n min-width: 86px;\n }\n .min-w-\\[88px\\] {\n min-width: 88px;\n }\n .min-w-\\[96px\\] {\n min-width: 96px;\n }\n .min-w-\\[104px\\] {\n min-width: 104px;\n }\n .min-w-\\[120px\\] {\n min-width: 120px;\n }\n .min-w-\\[140px\\] {\n min-width: 140px;\n }\n .min-w-\\[150px\\] {\n min-width: 150px;\n }\n .min-w-\\[160px\\] {\n min-width: 160px;\n }\n .min-w-\\[168px\\] {\n min-width: 168px;\n }\n .min-w-\\[170px\\] {\n min-width: 170px;\n }\n .min-w-\\[180px\\] {\n min-width: 180px;\n }\n .min-w-\\[200px\\] {\n min-width: 200px;\n }\n .min-w-\\[220px\\] {\n min-width: 220px;\n }\n .min-w-\\[240px\\] {\n min-width: 240px;\n }\n .min-w-\\[270px\\] {\n min-width: 270px;\n }\n .min-w-\\[320px\\] {\n min-width: 320px;\n }\n .min-w-\\[600px\\] {\n min-width: 600px;\n }\n .min-w-\\[700px\\] {\n min-width: 700px;\n }\n .min-w-\\[860px\\] {\n min-width: 860px;\n }\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n .min-w-fit {\n min-width: fit-content;\n }\n .min-w-full {\n min-width: 100%;\n }\n .min-w-max {\n min-width: max-content;\n }\n .min-w-xs {\n min-width: var(--container-xs);\n }\n .flex-0 {\n flex: 0;\n }\n .flex-1 {\n flex: 1;\n }\n .flex-2 {\n flex: 2;\n }\n .flex-\\[0\\] {\n flex: 0;\n }\n .flex-none {\n flex: none;\n }\n .\\!shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-shrink {\n flex-shrink: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .shrink {\n flex-shrink: 1;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .\\!grow-0 {\n flex-grow: 0 !important;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .grow {\n flex-grow: 1;\n }\n .\\!basis-auto {\n flex-basis: auto !important;\n }\n .table-auto {\n table-layout: auto;\n }\n .table-fixed {\n table-layout: fixed;\n }\n .caption-bottom {\n caption-side: bottom;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .border-separate {\n border-collapse: separate;\n }\n .border-spacing-0 {\n --tw-border-spacing-x: calc(var(--spacing) * 0);\n --tw-border-spacing-y: calc(var(--spacing) * 0);\n border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);\n }\n .border-spacing-\\[2px\\] {\n --tw-border-spacing-x: 2px;\n --tw-border-spacing-y: 2px;\n border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);\n }\n .origin-\\(--radix-tooltip-content-transform-origin\\) {\n transform-origin: var(--radix-tooltip-content-transform-origin);\n }\n .origin-\\[--radix-dropdown-menu-content-transform-origin\\] {\n transform-origin: --radix-dropdown-menu-content-transform-origin;\n }\n .origin-\\[--radix-popover-content-transform-origin\\] {\n transform-origin: --radix-popover-content-transform-origin;\n }\n .origin-\\[--radix-select-content-transform-origin\\] {\n transform-origin: --radix-select-content-transform-origin;\n }\n .origin-bottom-right {\n transform-origin: 100% 100%;\n }\n .\\!translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * 0) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-2 {\n --tw-translate-x: calc(var(--spacing) * -2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-full {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-px {\n --tw-translate-x: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-1 {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-1\\/2 {\n --tw-translate-x: calc(1/2 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-6 {\n --tw-translate-x: calc(var(--spacing) * 6);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-full {\n --tw-translate-x: 100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-px {\n --tw-translate-x: 1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .\\!translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-2\\/3 {\n --tw-translate-y: calc(calc(2/3 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0\\.5 {\n --tw-translate-y: calc(var(--spacing) * 0.5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-2 {\n --tw-translate-y: calc(var(--spacing) * 2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[6px\\] {\n --tw-translate-y: 6px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[calc\\(-50\\%_-_2px\\)\\] {\n --tw-translate-y: calc(-50% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-75 {\n --tw-scale-x: 75%;\n --tw-scale-y: 75%;\n --tw-scale-z: 75%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-95 {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .rotate-0 {\n rotate: 0deg;\n }\n .rotate-45 {\n rotate: 45deg;\n }\n .rotate-90 {\n rotate: 90deg;\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-\\[slide-in-from-left_0\\.22s_ease-out\\] {\n animation: slide-in-from-left 0.22s ease-out;\n }\n .animate-\\[slide-in-from-right_0\\.22s_ease-out\\] {\n animation: slide-in-from-right 0.22s ease-out;\n }\n .animate-bounce {\n animation: var(--animate-bounce);\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-col-resize {\n cursor: col-resize;\n }\n .cursor-crosshair {\n cursor: crosshair;\n }\n .cursor-default {\n cursor: default;\n }\n .cursor-grab {\n cursor: grab;\n }\n .cursor-help {\n cursor: help;\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .cursor-zoom-in {\n cursor: zoom-in;\n }\n .touch-none {\n touch-action: none;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .resize-y {\n resize: vertical;\n }\n .snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n }\n .snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n }\n .list-inside {\n list-style-position: inside;\n }\n .list-decimal {\n list-style-type: decimal;\n }\n .list-disc {\n list-style-type: disc;\n }\n .list-none {\n list-style-type: none;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-flow-row {\n grid-auto-flow: row;\n }\n .auto-rows-min {\n grid-auto-rows: min-content;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .grid-cols-\\[0\\.75rem_minmax\\(7rem\\,9rem\\)_minmax\\(8rem\\,12rem\\)_1fr\\] {\n grid-template-columns: 0.75rem minmax(7rem,9rem) minmax(8rem,12rem) 1fr;\n }\n .grid-cols-\\[1fr_2fr\\] {\n grid-template-columns: 1fr 2fr;\n }\n .grid-cols-\\[1fr_auto\\] {\n grid-template-columns: 1fr auto;\n }\n .grid-cols-\\[1fr_auto_auto\\] {\n grid-template-columns: 1fr auto auto;\n }\n .grid-cols-\\[1fr_auto_auto_auto\\] {\n grid-template-columns: 1fr auto auto auto;\n }\n .grid-cols-\\[12rem_1fr\\] {\n grid-template-columns: 12rem 1fr;\n }\n .grid-cols-\\[16px_1fr\\] {\n grid-template-columns: 16px 1fr;\n }\n .grid-cols-\\[96px_1fr_auto\\] {\n grid-template-columns: 96px 1fr auto;\n }\n .grid-cols-\\[116px_minmax\\(0\\,1fr\\)_104px\\] {\n grid-template-columns: 116px minmax(0,1fr) 104px;\n }\n .grid-cols-\\[132px_1fr_48px\\] {\n grid-template-columns: 132px 1fr 48px;\n }\n .grid-cols-\\[auto_1fr_auto\\] {\n grid-template-columns: auto 1fr auto;\n }\n .grid-cols-\\[auto_1fr_auto_auto\\] {\n grid-template-columns: auto 1fr auto auto;\n }\n .grid-cols-\\[repeat\\(auto-fit\\,minmax\\(128px\\,1fr\\)\\)\\] {\n grid-template-columns: repeat(auto-fit,minmax(128px,1fr));\n }\n .grid-cols-\\[repeat\\(auto-fit\\,minmax\\(240px\\,1fr\\)\\)\\] {\n grid-template-columns: repeat(auto-fit,minmax(240px,1fr));\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-rows-\\[0fr\\] {\n grid-template-rows: 0fr;\n }\n .grid-rows-\\[1fr\\] {\n grid-template-rows: 1fr;\n }\n .grid-rows-\\[auto_auto\\] {\n grid-template-rows: auto auto;\n }\n .grid-rows-\\[repeat\\(6\\,auto\\)\\] {\n grid-template-rows: repeat(6,auto);\n }\n .grid-rows-subgrid {\n grid-template-rows: subgrid;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .place-items-center {\n place-items: center;\n }\n .\\!items-start {\n align-items: flex-start !important;\n }\n .items-baseline {\n align-items: baseline;\n }\n .items-center {\n align-items: center;\n }\n .items-end {\n align-items: flex-end;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .\\!justify-start {\n justify-content: flex-start !important;\n }\n .justify-around {\n justify-content: space-around;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .justify-stretch {\n justify-content: stretch;\n }\n .\\!gap-0 {\n gap: calc(var(--spacing) * 0) !important;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-3\\.5 {\n gap: calc(var(--spacing) * 3.5);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-4\\.5 {\n gap: calc(var(--spacing) * 4.5);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n .gap-10 {\n gap: calc(var(--spacing) * 10);\n }\n .gap-12 {\n gap: calc(var(--spacing) * 12);\n }\n .gap-14 {\n gap: calc(var(--spacing) * 14);\n }\n .gap-20 {\n gap: calc(var(--spacing) * 20);\n }\n .gap-\\[--spacing\\(var\\(--gap\\)\\)\\] {\n gap: calc(var(--spacing) * var(--gap));\n }\n .gap-\\[1px\\] {\n gap: 1px;\n }\n .gap-\\[2px\\] {\n gap: 2px;\n }\n .gap-\\[3px\\] {\n gap: 3px;\n }\n .gap-\\[4px\\] {\n gap: 4px;\n }\n .gap-\\[5px\\] {\n gap: 5px;\n }\n .gap-\\[6px\\] {\n gap: 6px;\n }\n .gap-\\[7px\\] {\n gap: 7px;\n }\n .gap-\\[8px\\] {\n gap: 8px;\n }\n .gap-\\[9px\\] {\n gap: 9px;\n }\n .gap-\\[10px\\] {\n gap: 10px;\n }\n .gap-\\[11px\\] {\n gap: 11px;\n }\n .gap-\\[12px\\] {\n gap: 12px;\n }\n .gap-\\[14px\\] {\n gap: 14px;\n }\n .gap-\\[15px\\] {\n gap: 15px;\n }\n .gap-\\[16px\\] {\n gap: 16px;\n }\n .gap-\\[18px\\] {\n gap: 18px;\n }\n .gap-\\[20px\\] {\n gap: 20px;\n }\n .gap-\\[24px\\] {\n gap: 24px;\n }\n .gap-\\[40px\\] {\n gap: 40px;\n }\n .gap-px {\n gap: 1px;\n }\n .space-y-0 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-0\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-1 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-1\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-8 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-\\[6px\\] {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(6px * var(--tw-space-y-reverse));\n margin-block-end: calc(6px * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-\\[7px\\] {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(7px * var(--tw-space-y-reverse));\n margin-block-end: calc(7px * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-\\[12px\\] {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(12px * var(--tw-space-y-reverse));\n margin-block-end: calc(12px * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-\\[14px\\] {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(14px * var(--tw-space-y-reverse));\n margin-block-end: calc(14px * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .gap-x-1\\.5 {\n column-gap: calc(var(--spacing) * 1.5);\n }\n .gap-x-2 {\n column-gap: calc(var(--spacing) * 2);\n }\n .gap-x-2\\.5 {\n column-gap: calc(var(--spacing) * 2.5);\n }\n .gap-x-3 {\n column-gap: calc(var(--spacing) * 3);\n }\n .gap-x-4 {\n column-gap: calc(var(--spacing) * 4);\n }\n .gap-x-5 {\n column-gap: calc(var(--spacing) * 5);\n }\n .gap-x-6 {\n column-gap: calc(var(--spacing) * 6);\n }\n .gap-x-12 {\n column-gap: calc(var(--spacing) * 12);\n }\n .gap-x-\\[12px\\] {\n column-gap: 12px;\n }\n .gap-x-\\[14px\\] {\n column-gap: 14px;\n }\n .gap-x-\\[18px\\] {\n column-gap: 18px;\n }\n .-space-x-4 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * -4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * -4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .-space-x-px {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(-1px * var(--tw-space-x-reverse));\n margin-inline-end: calc(-1px * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-3 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-4 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-5 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 5) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-6 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .gap-y-1 {\n row-gap: calc(var(--spacing) * 1);\n }\n .gap-y-1\\.5 {\n row-gap: calc(var(--spacing) * 1.5);\n }\n .gap-y-2 {\n row-gap: calc(var(--spacing) * 2);\n }\n .gap-y-3 {\n row-gap: calc(var(--spacing) * 3);\n }\n .gap-y-4 {\n row-gap: calc(var(--spacing) * 4);\n }\n .gap-y-5 {\n row-gap: calc(var(--spacing) * 5);\n }\n .gap-y-6 {\n row-gap: calc(var(--spacing) * 6);\n }\n .gap-y-7 {\n row-gap: calc(var(--spacing) * 7);\n }\n .gap-y-8 {\n row-gap: calc(var(--spacing) * 8);\n }\n .gap-y-\\[2px\\] {\n row-gap: 2px;\n }\n .gap-y-\\[4px\\] {\n row-gap: 4px;\n }\n .gap-y-\\[6px\\] {\n row-gap: 6px;\n }\n .gap-y-\\[10px\\] {\n row-gap: 10px;\n }\n .divide-y {\n :where(& > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n }\n .divide-border {\n :where(& > :not(:last-child)) {\n border-color: var(--color-border);\n }\n }\n .divide-gray-100 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-100);\n }\n }\n .divide-gray-200 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-200);\n }\n }\n .divide-gray-300 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-300);\n }\n }\n .self-center {\n align-self: center;\n }\n .self-end {\n align-self: flex-end;\n }\n .self-start {\n align-self: flex-start;\n }\n .self-stretch {\n align-self: stretch;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .overscroll-contain {\n overscroll-behavior: contain;\n }\n .\\!rounded-none {\n border-radius: 0 !important;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n .rounded-\\[1\\.5px\\] {\n border-radius: 1.5px;\n }\n .rounded-\\[1px\\] {\n border-radius: 1px;\n }\n .rounded-\\[2px\\] {\n border-radius: 2px;\n }\n .rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n .rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .rounded-\\[9px\\] {\n border-radius: 9px;\n }\n .rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .rounded-\\[11px\\] {\n border-radius: 11px;\n }\n .rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .rounded-\\[13px_13px_4px_13px\\] {\n border-radius: 13px 13px 4px 13px;\n }\n .rounded-\\[13px_13px_13px_4px\\] {\n border-radius: 13px 13px 13px 4px;\n }\n .rounded-\\[14px\\] {\n border-radius: 14px;\n }\n .rounded-\\[16px\\] {\n border-radius: 16px;\n }\n .rounded-\\[18px\\] {\n border-radius: 18px;\n }\n .rounded-\\[18px_18px_4px_18px\\] {\n border-radius: 18px 18px 4px 18px;\n }\n .rounded-\\[50px\\] {\n border-radius: 50px;\n }\n .rounded-\\[100\\%\\] {\n border-radius: 100%;\n }\n .rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\] {\n border-radius: min(var(--radius-md), 12px);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n .rounded-xs {\n border-radius: var(--radius-xs);\n }\n .rounded-t {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .rounded-t-2xl {\n border-top-left-radius: var(--radius-2xl);\n border-top-right-radius: var(--radius-2xl);\n }\n .rounded-t-\\[3px\\] {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n }\n .rounded-t-lg {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n }\n .rounded-t-sm {\n border-top-left-radius: var(--radius-sm);\n border-top-right-radius: var(--radius-sm);\n }\n .rounded-l-full {\n border-top-left-radius: calc(infinity * 1px);\n border-bottom-left-radius: calc(infinity * 1px);\n }\n .rounded-l-md {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n .rounded-l-none {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .rounded-tl-xl {\n border-top-left-radius: var(--radius-xl);\n }\n .rounded-r {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n }\n .rounded-r-\\[2px\\] {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n .rounded-r-\\[3px\\] {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n }\n .rounded-r-\\[10px\\] {\n border-top-right-radius: 10px;\n border-bottom-right-radius: 10px;\n }\n .rounded-r-full {\n border-top-right-radius: calc(infinity * 1px);\n border-bottom-right-radius: calc(infinity * 1px);\n }\n .rounded-r-md {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n .rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .rounded-b-\\[14px\\] {\n border-bottom-right-radius: 14px;\n border-bottom-left-radius: 14px;\n }\n .rounded-b-lg {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n .rounded-bl-xl {\n border-bottom-left-radius: var(--radius-xl);\n }\n .\\!border-0 {\n border-style: var(--tw-border-style) !important;\n border-width: 0px !important;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-1 {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-3 {\n border-style: var(--tw-border-style);\n border-width: 3px;\n }\n .border-4 {\n border-style: var(--tw-border-style);\n border-width: 4px;\n }\n .border-\\[0\\.2px\\] {\n border-style: var(--tw-border-style);\n border-width: 0.2px;\n }\n .border-\\[0\\.5\\] {\n border-style: var(--tw-border-style);\n border-width: 0.5;\n }\n .border-\\[0\\.5px\\] {\n border-style: var(--tw-border-style);\n border-width: 0.5px;\n }\n .border-\\[0px\\] {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-\\[1\\.5px\\] {\n border-style: var(--tw-border-style);\n border-width: 1.5px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-1 {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n .border-r-1 {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-0 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n .border-b-1 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-b-3 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 3px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-l-0 {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n .border-l-2 {\n border-left-style: var(--tw-border-style);\n border-left-width: 2px;\n }\n .border-l-\\[3px\\] {\n border-left-style: var(--tw-border-style);\n border-left-width: 3px;\n }\n .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-\\[\\#0d1f35\\] {\n border-color: #0d1f35;\n }\n .border-\\[\\#1e3556\\] {\n border-color: #1e3556;\n }\n .border-\\[\\#22c55e\\]\\/35 {\n border-color: color-mix(in oklab, #22c55e 35%, transparent);\n }\n .border-\\[\\#86efac\\] {\n border-color: #86efac;\n }\n .border-\\[\\#1877F2\\] {\n border-color: #1877F2;\n }\n .border-\\[\\#2563eb\\] {\n border-color: #2563eb;\n }\n .border-\\[\\#18181b\\] {\n border-color: #18181b;\n }\n .border-\\[\\#161823\\] {\n border-color: #161823;\n }\n .border-\\[\\#707070\\] {\n border-color: #707070;\n }\n .border-\\[\\#747775\\] {\n border-color: #747775;\n }\n .border-\\[\\#DBE2EB\\] {\n border-color: #DBE2EB;\n }\n .border-\\[\\#E4E4E7\\] {\n border-color: #E4E4E7;\n }\n .border-\\[\\#E88B00\\] {\n border-color: #E88B00;\n }\n .border-\\[\\#bbf7d0\\] {\n border-color: #bbf7d0;\n }\n .border-\\[\\#cbd5e1\\] {\n border-color: #cbd5e1;\n }\n .border-\\[\\#d1d5db\\] {\n border-color: #d1d5db;\n }\n .border-\\[\\#d6e3ff\\] {\n border-color: #d6e3ff;\n }\n .border-\\[\\#dbe4f3\\] {\n border-color: #dbe4f3;\n }\n .border-\\[\\#e2e4e9\\] {\n border-color: #e2e4e9;\n }\n .border-\\[\\#e2e6ea\\] {\n border-color: #e2e6ea;\n }\n .border-\\[\\#e4e4e7\\] {\n border-color: #e4e4e7;\n }\n .border-\\[\\#eef2f7\\] {\n border-color: #eef2f7;\n }\n .border-\\[\\#f0f0f0\\] {\n border-color: #f0f0f0;\n }\n .border-\\[\\#f4f6f8\\] {\n border-color: #f4f6f8;\n }\n .border-\\[\\#f8f9fa\\] {\n border-color: #f8f9fa;\n }\n .border-\\[\\#fcd34d\\] {\n border-color: #fcd34d;\n }\n .border-\\[color\\:var\\(--ob-bd\\)\\] {\n border-color: var(--ob-bd);\n }\n .border-\\[var\\(--bc-text-color\\,\\#18181B\\)\\] {\n border-color: var(--bc-text-color,#18181B);\n }\n .border-accent {\n border-color: var(--color-accent);\n }\n .border-accent\\/30 {\n border-color: color-mix(in srgb, #f4f4f5 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-accent) 30%, transparent);\n }\n }\n .border-accent\\/40 {\n border-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n .border-amber-200 {\n border-color: var(--color-amber-200);\n }\n .border-amber-300 {\n border-color: var(--color-amber-300);\n }\n .border-amber-300\\/60 {\n border-color: color-mix(in srgb, oklch(87.9% 0.169 91.605) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-300) 60%, transparent);\n }\n }\n .border-amber-400 {\n border-color: var(--color-amber-400);\n }\n .border-amber-500\\/40 {\n border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-500) 40%, transparent);\n }\n }\n .border-amber-500\\/50 {\n border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);\n }\n }\n .border-black {\n border-color: var(--color-black);\n }\n .border-black\\/12 {\n border-color: color-mix(in srgb, #000 12%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-black) 12%, transparent);\n }\n }\n .border-blue-100 {\n border-color: var(--color-blue-100);\n }\n .border-blue-200 {\n border-color: var(--color-blue-200);\n }\n .border-blue-300 {\n border-color: var(--color-blue-300);\n }\n .border-blue-500 {\n border-color: var(--color-blue-500);\n }\n .border-blue-600 {\n border-color: var(--color-blue-600);\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-border\\/30 {\n border-color: color-mix(in srgb, #e4e4e7 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-border) 30%, transparent);\n }\n }\n .border-border\\/60 {\n border-color: color-mix(in srgb, #e4e4e7 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-border) 60%, transparent);\n }\n }\n .border-border\\/80 {\n border-color: color-mix(in srgb, #e4e4e7 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-border) 80%, transparent);\n }\n }\n .border-current {\n border-color: currentcolor;\n }\n .border-current\\/30 {\n border-color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, currentcolor 30%, transparent);\n }\n }\n .border-destructive {\n border-color: var(--color-destructive);\n }\n .border-destructive\\/30 {\n border-color: color-mix(in srgb, #dc2626 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 30%, transparent);\n }\n }\n .border-destructive\\/50 {\n border-color: color-mix(in srgb, #dc2626 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n .border-emerald-200 {\n border-color: var(--color-emerald-200);\n }\n .border-emerald-300 {\n border-color: var(--color-emerald-300);\n }\n .border-emerald-500 {\n border-color: var(--color-emerald-500);\n }\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n .border-gray-900\\/5 {\n border-color: color-mix(in srgb, oklch(21% 0.034 264.665) 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-gray-900) 5%, transparent);\n }\n }\n .border-gray-900\\/25 {\n border-color: color-mix(in srgb, oklch(21% 0.034 264.665) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-gray-900) 25%, transparent);\n }\n }\n .border-green-200 {\n border-color: var(--color-green-200);\n }\n .border-green-300 {\n border-color: var(--color-green-300);\n }\n .border-green-400 {\n border-color: var(--color-green-400);\n }\n .border-green-500 {\n border-color: var(--color-green-500);\n }\n .border-green-600 {\n border-color: var(--color-green-600);\n }\n .border-indigo-200 {\n border-color: var(--color-indigo-200);\n }\n .border-indigo-300 {\n border-color: var(--color-indigo-300);\n }\n .border-input {\n border-color: var(--color-input);\n }\n .border-muted-foreground\\/25 {\n border-color: color-mix(in srgb, #74716e 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-muted-foreground) 25%, transparent);\n }\n }\n .border-muted-foreground\\/40 {\n border-color: color-mix(in srgb, #74716e 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-muted-foreground) 40%, transparent);\n }\n }\n .border-muted-foreground\\/60 {\n border-color: color-mix(in srgb, #74716e 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-muted-foreground) 60%, transparent);\n }\n }\n .border-muted-foreground\\/70 {\n border-color: color-mix(in srgb, #74716e 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-muted-foreground) 70%, transparent);\n }\n }\n .border-neutral-10 {\n border-color: var(--color-neutral-10);\n }\n .border-neutral-20 {\n border-color: var(--color-neutral-20);\n }\n .border-neutral-40 {\n border-color: var(--color-neutral-40);\n }\n .border-neutral-200 {\n border-color: var(--color-neutral-200);\n }\n .border-orange-100 {\n border-color: var(--color-orange-100);\n }\n .border-orange-200 {\n border-color: var(--color-orange-200);\n }\n .border-orange-300 {\n border-color: var(--color-orange-300);\n }\n .border-orange-400 {\n border-color: var(--color-orange-400);\n }\n .border-primary {\n border-color: var(--color-primary);\n }\n .border-primary\\/30 {\n border-color: color-mix(in srgb, #18181b 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);\n }\n }\n .border-primary\\/50 {\n border-color: color-mix(in srgb, #18181b 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);\n }\n }\n .border-purple-100 {\n border-color: var(--color-purple-100);\n }\n .border-purple-200 {\n border-color: var(--color-purple-200);\n }\n .border-purple-300 {\n border-color: var(--color-purple-300);\n }\n .border-purple-500 {\n border-color: var(--color-purple-500);\n }\n .border-red-200 {\n border-color: var(--color-red-200);\n }\n .border-red-300 {\n border-color: var(--color-red-300);\n }\n .border-red-400 {\n border-color: var(--color-red-400);\n }\n .border-red-500 {\n border-color: var(--color-red-500);\n }\n .border-red-600 {\n border-color: var(--color-red-600);\n }\n .border-rose-200 {\n border-color: var(--color-rose-200);\n }\n .border-sidebar-ring {\n border-color: var(--color-sidebar-ring);\n }\n .border-slate-100 {\n border-color: var(--color-slate-100);\n }\n .border-slate-200 {\n border-color: var(--color-slate-200);\n }\n .border-slate-300 {\n border-color: var(--color-slate-300);\n }\n .border-slate-400 {\n border-color: var(--color-slate-400);\n }\n .border-slate-500 {\n border-color: var(--color-slate-500);\n }\n .border-slate-900 {\n border-color: var(--color-slate-900);\n }\n .border-teal-600\\/30 {\n border-color: color-mix(in srgb, oklch(60% 0.118 184.704) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-teal-600) 30%, transparent);\n }\n }\n .border-transparent {\n border-color: transparent;\n }\n .border-violet-100 {\n border-color: var(--color-violet-100);\n }\n .border-violet-300 {\n border-color: var(--color-violet-300);\n }\n .border-violet-600 {\n border-color: var(--color-violet-600);\n }\n .border-white {\n border-color: var(--color-white);\n }\n .border-white\\/10 {\n border-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n .border-white\\/20 {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n .border-white\\/30 {\n border-color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n .border-yellow-200 {\n border-color: var(--color-yellow-200);\n }\n .border-zinc-200 {\n border-color: var(--color-zinc-200);\n }\n .border-zinc-900 {\n border-color: var(--color-zinc-900);\n }\n .border-t-accent {\n border-top-color: var(--color-accent);\n }\n .border-t-gray-900 {\n border-top-color: var(--color-gray-900);\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .border-t-white {\n border-top-color: var(--color-white);\n }\n .border-b-\\[\\#e2e4e9\\] {\n border-bottom-color: #e2e4e9;\n }\n .border-b-blue-20 {\n border-bottom-color: var(--color-blue-20);\n }\n .border-b-neutral-20 {\n border-bottom-color: var(--color-neutral-20);\n }\n .border-b-transparent {\n border-bottom-color: transparent;\n }\n .border-b-zinc-300 {\n border-bottom-color: var(--color-zinc-300);\n }\n .border-l-\\[var\\(--b-orange-50\\)\\] {\n border-left-color: var(--b-orange-50);\n }\n .border-l-blue-500\\/40 {\n border-left-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-left-color: color-mix(in oklab, var(--color-blue-500) 40%, transparent);\n }\n }\n .border-l-primary {\n border-left-color: var(--color-primary);\n }\n .\\!bg-\\[\\#1877F2\\] {\n background-color: #1877F2 !important;\n }\n .\\!bg-\\[\\#ff7a59\\] {\n background-color: #ff7a59 !important;\n }\n .\\!bg-\\[var\\(--b-tooltip-bg\\)\\] {\n background-color: var(--b-tooltip-bg) !important;\n }\n .bg-\\[\\#\\.\\.\\.\\] {\n background-color: #...;\n }\n .bg-\\[\\#0d1b2a\\] {\n background-color: #0d1b2a;\n }\n .bg-\\[\\#0001\\] {\n background-color: #0001;\n }\n .bg-\\[\\#2A9D90\\] {\n background-color: #2A9D90;\n }\n .bg-\\[\\#16a34a\\] {\n background-color: #16a34a;\n }\n .bg-\\[\\#22c55e\\] {\n background-color: #22c55e;\n }\n .bg-\\[\\#22c55e\\]\\/15 {\n background-color: color-mix(in oklab, #22c55e 15%, transparent);\n }\n .bg-\\[\\#1877F2\\] {\n background-color: #1877F2;\n }\n .bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .bg-\\[\\#18181b\\] {\n background-color: #18181b;\n }\n .bg-\\[\\#222831\\] {\n background-color: #222831;\n }\n .bg-\\[\\#DBE2EB\\] {\n background-color: #DBE2EB;\n }\n .bg-\\[\\#E0E6EE\\] {\n background-color: #E0E6EE;\n }\n .bg-\\[\\#F1F4F8\\] {\n background-color: #F1F4F8;\n }\n .bg-\\[\\#FF9900\\] {\n background-color: #FF9900;\n }\n .bg-\\[\\#dbeafe\\] {\n background-color: #dbeafe;\n }\n .bg-\\[\\#e2e6ea\\] {\n background-color: #e2e6ea;\n }\n .bg-\\[\\#e76d4e\\] {\n background-color: #e76d4e;\n }\n .bg-\\[\\#eaf1ff\\] {\n background-color: #eaf1ff;\n }\n .bg-\\[\\#eff6ff\\] {\n background-color: #eff6ff;\n }\n .bg-\\[\\#f0fdf4\\] {\n background-color: #f0fdf4;\n }\n .bg-\\[\\#f1f4f8\\] {\n background-color: #f1f4f8;\n }\n .bg-\\[\\#f1f5f9\\] {\n background-color: #f1f5f9;\n }\n .bg-\\[\\#f3e8ff\\] {\n background-color: #f3e8ff;\n }\n .bg-\\[\\#f4f4f5\\] {\n background-color: #f4f4f5;\n }\n .bg-\\[\\#f4f4f5\\]\\/60 {\n background-color: color-mix(in oklab, #f4f4f5 60%, transparent);\n }\n .bg-\\[\\#f5f6f8\\] {\n background-color: #f5f6f8;\n }\n .bg-\\[\\#f8f9fa\\] {\n background-color: #f8f9fa;\n }\n .bg-\\[\\#f8fafb\\] {\n background-color: #f8fafb;\n }\n .bg-\\[\\#f9fafb\\] {\n background-color: #f9fafb;\n }\n .bg-\\[\\#f59e0b\\] {\n background-color: #f59e0b;\n }\n .bg-\\[\\#fafafa\\] {\n background-color: #fafafa;\n }\n .bg-\\[\\#fef3c7\\] {\n background-color: #fef3c7;\n }\n .bg-\\[\\#fffa\\] {\n background-color: #fffa;\n }\n .bg-\\[\\#fffbeb\\] {\n background-color: #fffbeb;\n }\n .bg-\\[\\#ffffff\\] {\n background-color: #ffffff;\n }\n .bg-\\[color\\:var\\(--ob-bg\\)\\] {\n background-color: var(--ob-bg);\n }\n .bg-\\[rgb\\(243_244_246\\)\\]\\/90 {\n background-color: color-mix(in oklab, rgb(243 244 246) 90%, transparent);\n }\n .bg-\\[rgba\\(28\\,25\\,23\\,0\\.08\\)\\] {\n background-color: rgba(28,25,23,0.08);\n }\n .bg-\\[var\\(--b-orange-10\\)\\] {\n background-color: var(--b-orange-10);\n }\n .bg-\\[var\\(--b-tooltip-bg\\)\\] {\n background-color: var(--b-tooltip-bg);\n }\n .bg-\\[var\\(--bc-primary-button-background-color\\)\\] {\n background-color: var(--bc-primary-button-background-color);\n }\n .bg-\\[var\\(--bc-secondary-button-background-color\\)\\] {\n background-color: var(--bc-secondary-button-background-color);\n }\n .bg-accent {\n background-color: var(--color-accent);\n }\n .bg-accent\\/5 {\n background-color: color-mix(in srgb, #f4f4f5 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 5%, transparent);\n }\n }\n .bg-accent\\/10 {\n background-color: color-mix(in srgb, #f4f4f5 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);\n }\n }\n .bg-accent\\/40 {\n background-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n .bg-accent\\/80 {\n background-color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 80%, transparent);\n }\n }\n .bg-amber-50 {\n background-color: var(--color-amber-50);\n }\n .bg-amber-100 {\n background-color: var(--color-amber-100);\n }\n .bg-amber-500 {\n background-color: var(--color-amber-500);\n }\n .bg-amber-500\\/5 {\n background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-500) 5%, transparent);\n }\n }\n .bg-amber-600 {\n background-color: var(--color-amber-600);\n }\n .bg-background {\n background-color: var(--color-background);\n }\n .bg-background\\/70 {\n background-color: color-mix(in srgb, #ffffff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-background) 70%, transparent);\n }\n }\n .bg-background\\/95 {\n background-color: color-mix(in srgb, #ffffff 95%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-background) 95%, transparent);\n }\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-black\\/0 {\n background-color: color-mix(in srgb, #000 0%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 0%, transparent);\n }\n }\n .bg-black\\/10 {\n background-color: color-mix(in srgb, #000 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n .bg-black\\/30 {\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n }\n .bg-black\\/40 {\n background-color: color-mix(in srgb, #000 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 40%, transparent);\n }\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n .bg-black\\/60 {\n background-color: color-mix(in srgb, #000 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 60%, transparent);\n }\n }\n .bg-black\\/70 {\n background-color: color-mix(in srgb, #000 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 70%, transparent);\n }\n }\n .bg-blue-10 {\n background-color: var(--color-blue-10);\n }\n .bg-blue-20 {\n background-color: var(--color-blue-20);\n }\n .bg-blue-30 {\n background-color: var(--color-blue-30);\n }\n .bg-blue-40 {\n background-color: var(--color-blue-40);\n }\n .bg-blue-50 {\n background-color: var(--color-blue-50);\n }\n .bg-blue-50\\/30 {\n background-color: color-mix(in srgb, #3b82f6 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-50) 30%, transparent);\n }\n }\n .bg-blue-60 {\n background-color: var(--color-blue-60);\n }\n .bg-blue-70 {\n background-color: var(--color-blue-70);\n }\n .bg-blue-80 {\n background-color: var(--color-blue-80);\n }\n .bg-blue-90 {\n background-color: var(--color-blue-90);\n }\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n .bg-blue-200 {\n background-color: var(--color-blue-200);\n }\n .bg-blue-500 {\n background-color: var(--color-blue-500);\n }\n .bg-blue-600 {\n background-color: var(--color-blue-600);\n }\n .bg-border {\n background-color: var(--color-border);\n }\n .bg-card {\n background-color: var(--color-card);\n }\n .bg-card\\/70 {\n background-color: color-mix(in srgb, #ffffff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-card) 70%, transparent);\n }\n }\n .bg-card\\/95 {\n background-color: color-mix(in srgb, #ffffff 95%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-card) 95%, transparent);\n }\n }\n .bg-current {\n background-color: currentcolor;\n }\n .bg-destructive {\n background-color: var(--color-destructive);\n }\n .bg-destructive\\/5 {\n background-color: color-mix(in srgb, #dc2626 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 5%, transparent);\n }\n }\n .bg-destructive\\/10 {\n background-color: color-mix(in srgb, #dc2626 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n .bg-destructive\\/15 {\n background-color: color-mix(in srgb, #dc2626 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 15%, transparent);\n }\n }\n .bg-emerald-50 {\n background-color: var(--color-emerald-50);\n }\n .bg-emerald-500 {\n background-color: var(--color-emerald-500);\n }\n .bg-emerald-600 {\n background-color: var(--color-emerald-600);\n }\n .bg-fuchsia-500 {\n background-color: var(--color-fuchsia-500);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n .bg-gray-400 {\n background-color: var(--color-gray-400);\n }\n .bg-gray-500 {\n background-color: var(--color-gray-500);\n }\n .bg-gray-800 {\n background-color: var(--color-gray-800);\n }\n .bg-gray-900 {\n background-color: var(--color-gray-900);\n }\n .bg-gray-900\\/40 {\n background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-gray-900) 40%, transparent);\n }\n }\n .bg-gray-900\\/80 {\n background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-gray-900) 80%, transparent);\n }\n }\n .bg-green-50 {\n background-color: var(--color-green-50);\n }\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n .bg-green-500 {\n background-color: var(--color-green-500);\n }\n .bg-green-600 {\n background-color: var(--color-green-600);\n }\n .bg-indigo-50 {\n background-color: var(--color-indigo-50);\n }\n .bg-indigo-50\\/70 {\n background-color: color-mix(in srgb, oklch(96.2% 0.018 272.314) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-50) 70%, transparent);\n }\n }\n .bg-indigo-100 {\n background-color: var(--color-indigo-100);\n }\n .bg-indigo-500 {\n background-color: var(--color-indigo-500);\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-muted-foreground {\n background-color: var(--color-muted-foreground);\n }\n .bg-muted-foreground\\/40 {\n background-color: color-mix(in srgb, #74716e 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted-foreground) 40%, transparent);\n }\n }\n .bg-muted-foreground\\/70 {\n background-color: color-mix(in srgb, #74716e 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted-foreground) 70%, transparent);\n }\n }\n .bg-muted-foreground\\/90 {\n background-color: color-mix(in srgb, #74716e 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted-foreground) 90%, transparent);\n }\n }\n .bg-muted\\/20 {\n background-color: color-mix(in srgb, #f7f7f6 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 20%, transparent);\n }\n }\n .bg-muted\\/30 {\n background-color: color-mix(in srgb, #f7f7f6 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 30%, transparent);\n }\n }\n .bg-muted\\/40 {\n background-color: color-mix(in srgb, #f7f7f6 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 40%, transparent);\n }\n }\n .bg-muted\\/50 {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n .bg-muted\\/70 {\n background-color: color-mix(in srgb, #f7f7f6 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 70%, transparent);\n }\n }\n .bg-neutral-10 {\n background-color: var(--color-neutral-10);\n }\n .bg-neutral-20 {\n background-color: var(--color-neutral-20);\n }\n .bg-neutral-30 {\n background-color: var(--color-neutral-30);\n }\n .bg-neutral-40 {\n background-color: var(--color-neutral-40);\n }\n .bg-neutral-50 {\n background-color: var(--color-neutral-50);\n }\n .bg-neutral-60 {\n background-color: var(--color-neutral-60);\n }\n .bg-neutral-70 {\n background-color: var(--color-neutral-70);\n }\n .bg-neutral-80 {\n background-color: var(--color-neutral-80);\n }\n .bg-neutral-90 {\n background-color: var(--color-neutral-90);\n }\n .bg-neutral-100 {\n background-color: var(--color-neutral-100);\n }\n .bg-neutral-200 {\n background-color: var(--color-neutral-200);\n }\n .bg-neutral-800 {\n background-color: var(--color-neutral-800);\n }\n .bg-orange-10 {\n background-color: var(--color-orange-10);\n }\n .bg-orange-20 {\n background-color: var(--color-orange-20);\n }\n .bg-orange-30 {\n background-color: var(--color-orange-30);\n }\n .bg-orange-40 {\n background-color: var(--color-orange-40);\n }\n .bg-orange-50 {\n background-color: var(--color-orange-50);\n }\n .bg-orange-60 {\n background-color: var(--color-orange-60);\n }\n .bg-orange-70 {\n background-color: var(--color-orange-70);\n }\n .bg-orange-80 {\n background-color: var(--color-orange-80);\n }\n .bg-orange-90 {\n background-color: var(--color-orange-90);\n }\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n .bg-orange-400 {\n background-color: var(--color-orange-400);\n }\n .bg-orange-500 {\n background-color: var(--color-orange-500);\n }\n .bg-orange-600 {\n background-color: var(--color-orange-600);\n }\n .bg-pink-600 {\n background-color: var(--color-pink-600);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-primary\\/5 {\n background-color: color-mix(in srgb, #18181b 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 5%, transparent);\n }\n }\n .bg-primary\\/10 {\n background-color: color-mix(in srgb, #18181b 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .bg-purple-50 {\n background-color: var(--color-purple-50);\n }\n .bg-purple-100 {\n background-color: var(--color-purple-100);\n }\n .bg-purple-500 {\n background-color: var(--color-purple-500);\n }\n .bg-purple-600 {\n background-color: var(--color-purple-600);\n }\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n .bg-red-500 {\n background-color: var(--color-red-500);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .bg-rose-50 {\n background-color: var(--color-rose-50);\n }\n .bg-rose-500 {\n background-color: var(--color-rose-500);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-sky-500 {\n background-color: var(--color-sky-500);\n }\n .bg-sky-600 {\n background-color: var(--color-sky-600);\n }\n .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .bg-slate-50\\/60 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);\n }\n }\n .bg-slate-50\\/70 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 70%, transparent);\n }\n }\n .bg-slate-100 {\n background-color: var(--color-slate-100);\n }\n .bg-slate-200 {\n background-color: var(--color-slate-200);\n }\n .bg-slate-700 {\n background-color: var(--color-slate-700);\n }\n .bg-slate-900 {\n background-color: var(--color-slate-900);\n }\n .bg-slate-900\\/20 {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 20%, transparent);\n }\n }\n .bg-teal-50 {\n background-color: var(--color-teal-50);\n }\n .bg-teal-500 {\n background-color: var(--color-teal-500);\n }\n .bg-teal-600 {\n background-color: var(--color-teal-600);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-violet-50 {\n background-color: var(--color-violet-50);\n }\n .bg-violet-100 {\n background-color: var(--color-violet-100);\n }\n .bg-violet-200 {\n background-color: var(--color-violet-200);\n }\n .bg-violet-500 {\n background-color: var(--color-violet-500);\n }\n .bg-violet-600 {\n background-color: var(--color-violet-600);\n }\n .bg-violet-700 {\n background-color: var(--color-violet-700);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-white\\/5 {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n .bg-white\\/10 {\n background-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n .bg-white\\/20 {\n background-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n .bg-white\\/90 {\n background-color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n .bg-yellow-50 {\n background-color: var(--color-yellow-50);\n }\n .bg-yellow-100 {\n background-color: var(--color-yellow-100);\n }\n .bg-yellow-200 {\n background-color: var(--color-yellow-200);\n }\n .bg-yellow-500 {\n background-color: var(--color-yellow-500);\n }\n .bg-yellow-600 {\n background-color: var(--color-yellow-600);\n }\n .bg-zinc-200 {\n background-color: var(--color-zinc-200);\n }\n .bg-zinc-300 {\n background-color: var(--color-zinc-300);\n }\n .bg-zinc-900 {\n background-color: var(--color-zinc-900);\n }\n .bg-linear-to-r {\n --tw-gradient-position: to right;\n @supports (background-image: linear-gradient(in lab, red, red)) {\n --tw-gradient-position: to right in oklab;\n }\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-b {\n --tw-gradient-position: to bottom in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-br {\n --tw-gradient-position: to bottom right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-l {\n --tw-gradient-position: to left in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-r {\n --tw-gradient-position: to right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-t {\n --tw-gradient-position: to top in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-\\[linear-gradient\\(90deg\\,\\#FF0000\\,\\#FFFF00\\,\\#00FF00\\,\\#00FFFF\\,\\#0000FF\\,\\#FF00FF\\,\\#FF0000\\)\\] {\n background-image: linear-gradient(90deg,#FF0000,#FFFF00,#00FF00,#00FFFF,#0000FF,#FF00FF,#FF0000);\n }\n .bg-\\[linear-gradient\\(135deg\\,\\#0d1b2a\\,\\#1a3050\\)\\] {\n background-image: linear-gradient(135deg,#0d1b2a,#1a3050);\n }\n .bg-\\[linear-gradient\\(135deg\\,\\#0d1b2a_0\\%\\,\\#1a2e4a_100\\%\\)\\] {\n background-image: linear-gradient(135deg,#0d1b2a 0%,#1a2e4a 100%);\n }\n .bg-\\[linear-gradient\\(160deg\\,\\#07111f_0\\%\\,\\#0c1e3a_55\\%\\,\\#060e1a_100\\%\\)\\] {\n background-image: linear-gradient(160deg,#07111f 0%,#0c1e3a 55%,#060e1a 100%);\n }\n .bg-\\[linear-gradient\\(160deg\\,\\#07111f_0\\%\\,\\#0d2040_60\\%\\,\\#060e1a_100\\%\\)\\] {\n background-image: linear-gradient(160deg,#07111f 0%,#0d2040 60%,#060e1a 100%);\n }\n .bg-\\[radial-gradient\\(circle\\,\\#cbd5e1_1px\\,transparent_1px\\)\\] {\n background-image: radial-gradient(circle,#cbd5e1 1px,transparent 1px);\n }\n .bg-\\[repeating-linear-gradient\\(-45deg\\,var\\(--card\\)\\,var\\(--card\\)_5px\\,var\\(--card2\\)_5px\\,var\\(--card2\\)_10px\\)\\] {\n background-image: repeating-linear-gradient(-45deg,var(--card),var(--card) 5px,var(--card2) 5px,var(--card2) 10px);\n }\n .bg-\\[repeating-linear-gradient\\(0deg\\,var\\(--muted\\)_0_3px\\,transparent_3px_7px\\)\\] {\n background-image: repeating-linear-gradient(0deg,var(--muted) 0 3px,transparent 3px 7px);\n }\n .bg-none {\n background-image: none;\n }\n .from-\\[\\#2B5876\\] {\n --tw-gradient-from: #2B5876;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#a78bfa\\] {\n --tw-gradient-from: #a78bfa;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#c084fc\\] {\n --tw-gradient-from: #c084fc;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#e76d4e\\] {\n --tw-gradient-from: #e76d4e;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#f5fdf9\\] {\n --tw-gradient-from: #f5fdf9;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-\\[\\#fdba74\\] {\n --tw-gradient-from: #fdba74;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-blue-50 {\n --tw-gradient-from: var(--color-blue-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-cyan-500 {\n --tw-gradient-from: var(--color-cyan-500);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-emerald-50 {\n --tw-gradient-from: var(--color-emerald-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-slate-950 {\n --tw-gradient-from: var(--color-slate-950);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-teal-400 {\n --tw-gradient-from: var(--color-teal-400);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-transparent {\n --tw-gradient-from: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-white {\n --tw-gradient-from: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-white\\/40 {\n --tw-gradient-from: color-mix(in srgb, #fff 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-from: color-mix(in oklab, var(--color-white) 40%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .via-cyan-950 {\n --tw-gradient-via: var(--color-cyan-950);\n --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-via-stops);\n }\n .via-white {\n --tw-gradient-via: var(--color-white);\n --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-via-stops);\n }\n .to-\\[\\#4E4376\\] {\n --tw-gradient-to: #4E4376;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#818cf8\\] {\n --tw-gradient-to: #818cf8;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#6366f1\\] {\n --tw-gradient-to: #6366f1;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#f6c344\\] {\n --tw-gradient-to: #f6c344;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#f472b6\\] {\n --tw-gradient-to: #f472b6;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-black\\/50 {\n --tw-gradient-to: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-blue-500 {\n --tw-gradient-to: var(--color-blue-500);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-indigo-50 {\n --tw-gradient-to: var(--color-indigo-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-indigo-50\\/40 {\n --tw-gradient-to: color-mix(in srgb, oklch(96.2% 0.018 272.314) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-indigo-50) 40%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-slate-950 {\n --tw-gradient-to: var(--color-slate-950);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-white {\n --tw-gradient-to: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-yellow-500\\/40 {\n --tw-gradient-to: color-mix(in srgb, oklch(79.5% 0.184 86.047) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-yellow-500) 40%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .bg-\\[length\\:24px_24px\\] {\n background-size: 24px 24px;\n }\n .bg-cover {\n background-size: cover;\n }\n .bg-clip-text {\n background-clip: text;\n }\n .bg-center {\n background-position: center;\n }\n .bg-no-repeat {\n background-repeat: no-repeat;\n }\n .fill-\\[var\\(--b-tooltip-bg\\)\\] {\n fill: var(--b-tooltip-bg);\n }\n .fill-amber-400 {\n fill: var(--color-amber-400);\n }\n .fill-blue-500 {\n fill: var(--color-blue-500);\n }\n .fill-card {\n fill: var(--color-card);\n }\n .fill-current {\n fill: currentcolor;\n }\n .fill-green-500 {\n fill: var(--color-green-500);\n }\n .fill-primary {\n fill: var(--color-primary);\n }\n .fill-red-500 {\n fill: var(--color-red-500);\n }\n .fill-slate-500 {\n fill: var(--color-slate-500);\n }\n .fill-slate-900 {\n fill: var(--color-slate-900);\n }\n .stroke-card {\n stroke: var(--color-card);\n }\n .stroke-slate-500 {\n stroke: var(--color-slate-500);\n }\n .object-contain {\n object-fit: contain;\n }\n .object-cover {\n object-fit: cover;\n }\n .object-center {\n object-position: center;\n }\n .\\!p-0 {\n padding: calc(var(--spacing) * 0) !important;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-3\\.5 {\n padding: calc(var(--spacing) * 3.5);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .p-7 {\n padding: calc(var(--spacing) * 7);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .p-9 {\n padding: calc(var(--spacing) * 9);\n }\n .p-10 {\n padding: calc(var(--spacing) * 10);\n }\n .p-12 {\n padding: calc(var(--spacing) * 12);\n }\n .p-16 {\n padding: calc(var(--spacing) * 16);\n }\n .p-1234 {\n padding: calc(var(--spacing) * 1234);\n }\n .p-4321 {\n padding: calc(var(--spacing) * 4321);\n }\n .p-9999 {\n padding: calc(var(--spacing) * 9999);\n }\n .p-\\[1\\.5px\\] {\n padding: 1.5px;\n }\n .p-\\[2px\\] {\n padding: 2px;\n }\n .p-\\[3px\\] {\n padding: 3px;\n }\n .p-\\[4px\\] {\n padding: 4px;\n }\n .p-\\[6px\\] {\n padding: 6px;\n }\n .p-\\[8px\\] {\n padding: 8px;\n }\n .p-\\[8px_10px\\] {\n padding: 8px 10px;\n }\n .p-\\[9\\.7px\\] {\n padding: 9.7px;\n }\n .p-\\[9px\\] {\n padding: 9px;\n }\n .p-\\[9px_10px\\] {\n padding: 9px 10px;\n }\n .p-\\[10px\\] {\n padding: 10px;\n }\n .p-\\[12px\\] {\n padding: 12px;\n }\n .p-\\[14px\\] {\n padding: 14px;\n }\n .p-\\[16px\\] {\n padding: 16px;\n }\n .p-\\[17px\\] {\n padding: 17px;\n }\n .p-\\[18px\\] {\n padding: 18px;\n }\n .p-\\[20px\\] {\n padding: 20px;\n }\n .p-\\[22px\\] {\n padding: 22px;\n }\n .p-\\[24px\\] {\n padding: 24px;\n }\n .p-\\[26px\\] {\n padding: 26px;\n }\n .px-0 {\n padding-inline: calc(var(--spacing) * 0);\n }\n .px-0\\.5 {\n padding-inline: calc(var(--spacing) * 0.5);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-1\\.5 {\n padding-inline: calc(var(--spacing) * 1.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .px-7 {\n padding-inline: calc(var(--spacing) * 7);\n }\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\n }\n .px-9 {\n padding-inline: calc(var(--spacing) * 9);\n }\n .px-10 {\n padding-inline: calc(var(--spacing) * 10);\n }\n .px-11 {\n padding-inline: calc(var(--spacing) * 11);\n }\n .px-123 {\n padding-inline: calc(var(--spacing) * 123);\n }\n .px-\\[2px\\] {\n padding-inline: 2px;\n }\n .px-\\[4px\\] {\n padding-inline: 4px;\n }\n .px-\\[5px\\] {\n padding-inline: 5px;\n }\n .px-\\[6px\\] {\n padding-inline: 6px;\n }\n .px-\\[7px\\] {\n padding-inline: 7px;\n }\n .px-\\[8px\\] {\n padding-inline: 8px;\n }\n .px-\\[9px\\] {\n padding-inline: 9px;\n }\n .px-\\[10px\\] {\n padding-inline: 10px;\n }\n .px-\\[11px\\] {\n padding-inline: 11px;\n }\n .px-\\[12px\\] {\n padding-inline: 12px;\n }\n .px-\\[13px\\] {\n padding-inline: 13px;\n }\n .px-\\[14px\\] {\n padding-inline: 14px;\n }\n .px-\\[15px\\] {\n padding-inline: 15px;\n }\n .px-\\[16px\\] {\n padding-inline: 16px;\n }\n .px-\\[17px\\] {\n padding-inline: 17px;\n }\n .px-\\[18px\\] {\n padding-inline: 18px;\n }\n .px-\\[20px\\] {\n padding-inline: 20px;\n }\n .px-\\[22px\\] {\n padding-inline: 22px;\n }\n .px-\\[26px\\] {\n padding-inline: 26px;\n }\n .px-\\[30px\\] {\n padding-inline: 30px;\n }\n .px-\\[40px\\] {\n padding-inline: 40px;\n }\n .py-0 {\n padding-block: calc(var(--spacing) * 0);\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-3\\.5 {\n padding-block: calc(var(--spacing) * 3.5);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .py-5 {\n padding-block: calc(var(--spacing) * 5);\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6);\n }\n .py-8 {\n padding-block: calc(var(--spacing) * 8);\n }\n .py-10 {\n padding-block: calc(var(--spacing) * 10);\n }\n .py-12 {\n padding-block: calc(var(--spacing) * 12);\n }\n .py-14 {\n padding-block: calc(var(--spacing) * 14);\n }\n .py-16 {\n padding-block: calc(var(--spacing) * 16);\n }\n .py-20 {\n padding-block: calc(var(--spacing) * 20);\n }\n .py-24 {\n padding-block: calc(var(--spacing) * 24);\n }\n .py-\\[1\\.5px\\] {\n padding-block: 1.5px;\n }\n .py-\\[1px\\] {\n padding-block: 1px;\n }\n .py-\\[2\\.5px\\] {\n padding-block: 2.5px;\n }\n .py-\\[2px\\] {\n padding-block: 2px;\n }\n .py-\\[3px\\] {\n padding-block: 3px;\n }\n .py-\\[4\\.5px\\] {\n padding-block: 4.5px;\n }\n .py-\\[4px\\] {\n padding-block: 4px;\n }\n .py-\\[5px\\] {\n padding-block: 5px;\n }\n .py-\\[6\\.5px\\] {\n padding-block: 6.5px;\n }\n .py-\\[6px\\] {\n padding-block: 6px;\n }\n .py-\\[7px\\] {\n padding-block: 7px;\n }\n .py-\\[8px\\] {\n padding-block: 8px;\n }\n .py-\\[9px\\] {\n padding-block: 9px;\n }\n .py-\\[10\\.5px\\] {\n padding-block: 10.5px;\n }\n .py-\\[10px\\] {\n padding-block: 10px;\n }\n .py-\\[11px\\] {\n padding-block: 11px;\n }\n .py-\\[12px\\] {\n padding-block: 12px;\n }\n .py-\\[13px\\] {\n padding-block: 13px;\n }\n .py-\\[14px\\] {\n padding-block: 14px;\n }\n .py-\\[15px\\] {\n padding-block: 15px;\n }\n .py-\\[16px\\] {\n padding-block: 16px;\n }\n .py-\\[18px\\] {\n padding-block: 18px;\n }\n .py-\\[20px\\] {\n padding-block: 20px;\n }\n .py-\\[24px\\] {\n padding-block: 24px;\n }\n .py-\\[28px\\] {\n padding-block: 28px;\n }\n .py-\\[30px\\] {\n padding-block: 30px;\n }\n .py-\\[32px\\] {\n padding-block: 32px;\n }\n .py-\\[40px\\] {\n padding-block: 40px;\n }\n .py-\\[46px\\] {\n padding-block: 46px;\n }\n .py-\\[48px\\] {\n padding-block: 48px;\n }\n .py-\\[64px\\] {\n padding-block: 64px;\n }\n .py-\\[80px\\] {\n padding-block: 80px;\n }\n .py-px {\n padding-block: 1px;\n }\n .ps-0 {\n padding-inline-start: calc(var(--spacing) * 0);\n }\n .pt-0 {\n padding-top: calc(var(--spacing) * 0);\n }\n .pt-0\\.5 {\n padding-top: calc(var(--spacing) * 0.5);\n }\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n .pt-1\\.5 {\n padding-top: calc(var(--spacing) * 1.5);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pt-2\\.5 {\n padding-top: calc(var(--spacing) * 2.5);\n }\n .pt-3 {\n padding-top: calc(var(--spacing) * 3);\n }\n .pt-3\\.5 {\n padding-top: calc(var(--spacing) * 3.5);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-5 {\n padding-top: calc(var(--spacing) * 5);\n }\n .pt-6 {\n padding-top: calc(var(--spacing) * 6);\n }\n .pt-7 {\n padding-top: calc(var(--spacing) * 7);\n }\n .pt-8 {\n padding-top: calc(var(--spacing) * 8);\n }\n .pt-10 {\n padding-top: calc(var(--spacing) * 10);\n }\n .pt-11 {\n padding-top: calc(var(--spacing) * 11);\n }\n .pt-12 {\n padding-top: calc(var(--spacing) * 12);\n }\n .pt-14 {\n padding-top: calc(var(--spacing) * 14);\n }\n .pt-16 {\n padding-top: calc(var(--spacing) * 16);\n }\n .pt-24 {\n padding-top: calc(var(--spacing) * 24);\n }\n .pt-\\[2px\\] {\n padding-top: 2px;\n }\n .pt-\\[3px\\] {\n padding-top: 3px;\n }\n .pt-\\[4px\\] {\n padding-top: 4px;\n }\n .pt-\\[5px\\] {\n padding-top: 5px;\n }\n .pt-\\[6px\\] {\n padding-top: 6px;\n }\n .pt-\\[8px\\] {\n padding-top: 8px;\n }\n .pt-\\[10px\\] {\n padding-top: 10px;\n }\n .pt-\\[11px\\] {\n padding-top: 11px;\n }\n .pt-\\[14px\\] {\n padding-top: 14px;\n }\n .pt-\\[18px\\] {\n padding-top: 18px;\n }\n .pt-\\[22px\\] {\n padding-top: 22px;\n }\n .pt-\\[26px\\] {\n padding-top: 26px;\n }\n .pr-0 {\n padding-right: calc(var(--spacing) * 0);\n }\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n .pr-1\\.5 {\n padding-right: calc(var(--spacing) * 1.5);\n }\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n .pr-5 {\n padding-right: calc(var(--spacing) * 5);\n }\n .pr-6 {\n padding-right: calc(var(--spacing) * 6);\n }\n .pr-8 {\n padding-right: calc(var(--spacing) * 8);\n }\n .pr-9 {\n padding-right: calc(var(--spacing) * 9);\n }\n .pr-10 {\n padding-right: calc(var(--spacing) * 10);\n }\n .pr-\\[6px\\] {\n padding-right: 6px;\n }\n .pr-\\[8px\\] {\n padding-right: 8px;\n }\n .pr-\\[10px\\] {\n padding-right: 10px;\n }\n .pr-\\[12px\\] {\n padding-right: 12px;\n }\n .pr-\\[14px\\] {\n padding-right: 14px;\n }\n .pr-\\[16px\\] {\n padding-right: 16px;\n }\n .pr-\\[17px\\] {\n padding-right: 17px;\n }\n .pr-\\[40px\\] {\n padding-right: 40px;\n }\n .pb-0 {\n padding-bottom: calc(var(--spacing) * 0);\n }\n .pb-0\\.5 {\n padding-bottom: calc(var(--spacing) * 0.5);\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1);\n }\n .pb-1\\.5 {\n padding-bottom: calc(var(--spacing) * 1.5);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-2\\.5 {\n padding-bottom: calc(var(--spacing) * 2.5);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-3\\.5 {\n padding-bottom: calc(var(--spacing) * 3.5);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pb-5 {\n padding-bottom: calc(var(--spacing) * 5);\n }\n .pb-6 {\n padding-bottom: calc(var(--spacing) * 6);\n }\n .pb-7 {\n padding-bottom: calc(var(--spacing) * 7);\n }\n .pb-8 {\n padding-bottom: calc(var(--spacing) * 8);\n }\n .pb-\\[3px\\] {\n padding-bottom: 3px;\n }\n .pb-\\[4px\\] {\n padding-bottom: 4px;\n }\n .pb-\\[6px\\] {\n padding-bottom: 6px;\n }\n .pb-\\[8px\\] {\n padding-bottom: 8px;\n }\n .pb-\\[10px\\] {\n padding-bottom: 10px;\n }\n .pb-\\[11px\\] {\n padding-bottom: 11px;\n }\n .pb-\\[12px\\] {\n padding-bottom: 12px;\n }\n .pb-\\[13px\\] {\n padding-bottom: 13px;\n }\n .pb-\\[14px\\] {\n padding-bottom: 14px;\n }\n .pb-\\[16px\\] {\n padding-bottom: 16px;\n }\n .pb-\\[18px\\] {\n padding-bottom: 18px;\n }\n .pb-\\[22px\\] {\n padding-bottom: 22px;\n }\n .pb-\\[24px\\] {\n padding-bottom: 24px;\n }\n .pb-\\[30px\\] {\n padding-bottom: 30px;\n }\n .pb-\\[40px\\] {\n padding-bottom: 40px;\n }\n .pl-0 {\n padding-left: calc(var(--spacing) * 0);\n }\n .pl-0\\.5 {\n padding-left: calc(var(--spacing) * 0.5);\n }\n .pl-1 {\n padding-left: calc(var(--spacing) * 1);\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .pl-5 {\n padding-left: calc(var(--spacing) * 5);\n }\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n .pl-7 {\n padding-left: calc(var(--spacing) * 7);\n }\n .pl-8 {\n padding-left: calc(var(--spacing) * 8);\n }\n .pl-9 {\n padding-left: calc(var(--spacing) * 9);\n }\n .pl-10 {\n padding-left: calc(var(--spacing) * 10);\n }\n .pl-11 {\n padding-left: calc(var(--spacing) * 11);\n }\n .pl-14 {\n padding-left: calc(var(--spacing) * 14);\n }\n .pl-\\[2px\\] {\n padding-left: 2px;\n }\n .pl-\\[4px\\] {\n padding-left: 4px;\n }\n .pl-\\[6px\\] {\n padding-left: 6px;\n }\n .pl-\\[9px\\] {\n padding-left: 9px;\n }\n .pl-\\[10px\\] {\n padding-left: 10px;\n }\n .pl-\\[11px\\] {\n padding-left: 11px;\n }\n .pl-\\[16px\\] {\n padding-left: 16px;\n }\n .pl-\\[17px\\] {\n padding-left: 17px;\n }\n .pl-\\[20px\\] {\n padding-left: 20px;\n }\n .pl-\\[28px\\] {\n padding-left: 28px;\n }\n .pl-\\[32px\\] {\n padding-left: 32px;\n }\n .pl-\\[42px\\] {\n padding-left: 42px;\n }\n .pl-\\[68px\\] {\n padding-left: 68px;\n }\n .pl-\\[84px\\] {\n padding-left: 84px;\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .text-right {\n text-align: right;\n }\n .text-start {\n text-align: start;\n }\n .align-baseline {\n vertical-align: baseline;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-top {\n vertical-align: top;\n }\n .font-\\[inherit\\] {\n font-family: inherit;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n .text-5xl {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-sm\\/6 {\n font-size: var(--text-sm);\n line-height: calc(var(--spacing) * 6);\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xl\\/7 {\n font-size: var(--text-xl);\n line-height: calc(var(--spacing) * 7);\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-xs\\/5 {\n font-size: var(--text-xs);\n line-height: calc(var(--spacing) * 5);\n }\n .text-\\[0\\.7rem\\] {\n font-size: 0.7rem;\n }\n .text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n }\n .text-\\[0\\.56rem\\] {\n font-size: 0.56rem;\n }\n .text-\\[0\\.85em\\] {\n font-size: 0.85em;\n }\n .text-\\[8\\.5px\\] {\n font-size: 8.5px;\n }\n .text-\\[8px\\] {\n font-size: 8px;\n }\n .text-\\[9\\.5px\\] {\n font-size: 9.5px;\n }\n .text-\\[9px\\] {\n font-size: 9px;\n }\n .text-\\[10\\.5px\\] {\n font-size: 10.5px;\n }\n .text-\\[10px\\] {\n font-size: 10px;\n }\n .text-\\[11\\.5px\\] {\n font-size: 11.5px;\n }\n .text-\\[11px\\] {\n font-size: 11px;\n }\n .text-\\[12\\.5px\\] {\n font-size: 12.5px;\n }\n .text-\\[12px\\] {\n font-size: 12px;\n }\n .text-\\[13\\.5px\\] {\n font-size: 13.5px;\n }\n .text-\\[13px\\] {\n font-size: 13px;\n }\n .text-\\[14px\\] {\n font-size: 14px;\n }\n .text-\\[15px\\] {\n font-size: 15px;\n }\n .text-\\[16px\\] {\n font-size: 16px;\n }\n .text-\\[17px\\] {\n font-size: 17px;\n }\n .text-\\[18px\\] {\n font-size: 18px;\n }\n .text-\\[20px\\] {\n font-size: 20px;\n }\n .text-\\[21px\\] {\n font-size: 21px;\n }\n .text-\\[22px\\] {\n font-size: 22px;\n }\n .text-\\[23px\\] {\n font-size: 23px;\n }\n .text-\\[24px\\] {\n font-size: 24px;\n }\n .text-\\[26px\\] {\n font-size: 26px;\n }\n .text-\\[28px\\] {\n font-size: 28px;\n }\n .text-\\[30px\\] {\n font-size: 30px;\n }\n .text-\\[32px\\] {\n font-size: 32px;\n }\n .text-\\[48px\\] {\n font-size: 48px;\n }\n .leading-1 {\n --tw-leading: calc(var(--spacing) * 1);\n line-height: calc(var(--spacing) * 1);\n }\n .leading-4 {\n --tw-leading: calc(var(--spacing) * 4);\n line-height: calc(var(--spacing) * 4);\n }\n .leading-5 {\n --tw-leading: calc(var(--spacing) * 5);\n line-height: calc(var(--spacing) * 5);\n }\n .leading-6 {\n --tw-leading: calc(var(--spacing) * 6);\n line-height: calc(var(--spacing) * 6);\n }\n .leading-7 {\n --tw-leading: calc(var(--spacing) * 7);\n line-height: calc(var(--spacing) * 7);\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .leading-9 {\n --tw-leading: calc(var(--spacing) * 9);\n line-height: calc(var(--spacing) * 9);\n }\n .leading-\\[1\\.1\\] {\n --tw-leading: 1.1;\n line-height: 1.1;\n }\n .leading-\\[1\\.2\\] {\n --tw-leading: 1.2;\n line-height: 1.2;\n }\n .leading-\\[1\\.3\\] {\n --tw-leading: 1.3;\n line-height: 1.3;\n }\n .leading-\\[1\\.5\\] {\n --tw-leading: 1.5;\n line-height: 1.5;\n }\n .leading-\\[1\\.6\\] {\n --tw-leading: 1.6;\n line-height: 1.6;\n }\n .leading-\\[1\\.7\\] {\n --tw-leading: 1.7;\n line-height: 1.7;\n }\n .leading-\\[1\\.08\\] {\n --tw-leading: 1.08;\n line-height: 1.08;\n }\n .leading-\\[1\\.12\\] {\n --tw-leading: 1.12;\n line-height: 1.12;\n }\n .leading-\\[1\\.15\\] {\n --tw-leading: 1.15;\n line-height: 1.15;\n }\n .leading-\\[1\\.25\\] {\n --tw-leading: 1.25;\n line-height: 1.25;\n }\n .leading-\\[1\\.35\\] {\n --tw-leading: 1.35;\n line-height: 1.35;\n }\n .leading-\\[1\\.55\\] {\n --tw-leading: 1.55;\n line-height: 1.55;\n }\n .leading-\\[1\\.65\\] {\n --tw-leading: 1.65;\n line-height: 1.65;\n }\n .leading-\\[1\\.75\\] {\n --tw-leading: 1.75;\n line-height: 1.75;\n }\n .leading-\\[1\\.95\\] {\n --tw-leading: 1.95;\n line-height: 1.95;\n }\n .leading-\\[1\\] {\n --tw-leading: 1;\n line-height: 1;\n }\n .leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .leading-\\[21px\\] {\n --tw-leading: 21px;\n line-height: 21px;\n }\n .leading-\\[24px\\] {\n --tw-leading: 24px;\n line-height: 24px;\n }\n .leading-\\[32px\\] {\n --tw-leading: 32px;\n line-height: 32px;\n }\n .leading-\\[36px\\] {\n --tw-leading: 36px;\n line-height: 36px;\n }\n .leading-\\[40px\\] {\n --tw-leading: 40px;\n line-height: 40px;\n }\n .leading-\\[56px\\] {\n --tw-leading: 56px;\n line-height: 56px;\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .leading-normal {\n --tw-leading: var(--leading-normal);\n line-height: var(--leading-normal);\n }\n .leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: var(--leading-relaxed);\n }\n .leading-snug {\n --tw-leading: var(--leading-snug);\n line-height: var(--leading-snug);\n }\n .leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n }\n .font-\\[400\\] {\n --tw-font-weight: 400;\n font-weight: 400;\n }\n .font-\\[450\\] {\n --tw-font-weight: 450;\n font-weight: 450;\n }\n .font-\\[500\\] {\n --tw-font-weight: 500;\n font-weight: 500;\n }\n .font-black {\n --tw-font-weight: var(--font-weight-black);\n font-weight: var(--font-weight-black);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-extrabold {\n --tw-font-weight: var(--font-weight-extrabold);\n font-weight: var(--font-weight-extrabold);\n }\n .font-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-\\[-0\\.01em\\] {\n --tw-tracking: -0.01em;\n letter-spacing: -0.01em;\n }\n .tracking-\\[-0\\.02em\\] {\n --tw-tracking: -0.02em;\n letter-spacing: -0.02em;\n }\n .tracking-\\[-0\\.2px\\] {\n --tw-tracking: -0.2px;\n letter-spacing: -0.2px;\n }\n .tracking-\\[-0\\.5px\\] {\n --tw-tracking: -0.5px;\n letter-spacing: -0.5px;\n }\n .tracking-\\[-0\\.6px\\] {\n --tw-tracking: -0.6px;\n letter-spacing: -0.6px;\n }\n .tracking-\\[-0\\.015em\\] {\n --tw-tracking: -0.015em;\n letter-spacing: -0.015em;\n }\n .tracking-\\[-0\\.028em\\] {\n --tw-tracking: -0.028em;\n letter-spacing: -0.028em;\n }\n .tracking-\\[0\\.01em\\] {\n --tw-tracking: 0.01em;\n letter-spacing: 0.01em;\n }\n .tracking-\\[0\\.1em\\] {\n --tw-tracking: 0.1em;\n letter-spacing: 0.1em;\n }\n .tracking-\\[0\\.02em\\] {\n --tw-tracking: 0.02em;\n letter-spacing: 0.02em;\n }\n .tracking-\\[0\\.03em\\] {\n --tw-tracking: 0.03em;\n letter-spacing: 0.03em;\n }\n .tracking-\\[0\\.04em\\] {\n --tw-tracking: 0.04em;\n letter-spacing: 0.04em;\n }\n .tracking-\\[0\\.4px\\] {\n --tw-tracking: 0.4px;\n letter-spacing: 0.4px;\n }\n .tracking-\\[0\\.05em\\] {\n --tw-tracking: 0.05em;\n letter-spacing: 0.05em;\n }\n .tracking-\\[0\\.06em\\] {\n --tw-tracking: 0.06em;\n letter-spacing: 0.06em;\n }\n .tracking-\\[0\\.6px\\] {\n --tw-tracking: 0.6px;\n letter-spacing: 0.6px;\n }\n .tracking-\\[0\\.07em\\] {\n --tw-tracking: 0.07em;\n letter-spacing: 0.07em;\n }\n .tracking-\\[0\\.08em\\] {\n --tw-tracking: 0.08em;\n letter-spacing: 0.08em;\n }\n .tracking-\\[0\\.09em\\] {\n --tw-tracking: 0.09em;\n letter-spacing: 0.09em;\n }\n .tracking-\\[0\\.10em\\] {\n --tw-tracking: 0.10em;\n letter-spacing: 0.10em;\n }\n .tracking-\\[0\\.11em\\] {\n --tw-tracking: 0.11em;\n letter-spacing: 0.11em;\n }\n .tracking-normal {\n --tw-tracking: var(--tracking-normal);\n letter-spacing: var(--tracking-normal);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .tracking-wide {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n }\n .tracking-wider {\n --tw-tracking: var(--tracking-wider);\n letter-spacing: var(--tracking-wider);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .\\[text-wrap\\:wrap\\] {\n text-wrap: wrap;\n }\n .text-balance {\n text-wrap: balance;\n }\n .text-pretty {\n text-wrap: pretty;\n }\n .text-wrap {\n text-wrap: wrap;\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .break-all {\n word-break: break-all;\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .\\!whitespace-normal {\n white-space: normal !important;\n }\n .whitespace-normal {\n white-space: normal;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre {\n white-space: pre;\n }\n .whitespace-pre-line {\n white-space: pre-line;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .\\!text-white {\n color: var(--color-white) !important;\n }\n .text-\\[\\#0d1b2a\\] {\n color: #0d1b2a;\n }\n .text-\\[\\#0f766e\\] {\n color: #0f766e;\n }\n .text-\\[\\#1F1F1F\\] {\n color: #1F1F1F;\n }\n .text-\\[\\#1F9D55\\] {\n color: #1F9D55;\n }\n .text-\\[\\#1FAE9F\\] {\n color: #1FAE9F;\n }\n .text-\\[\\#1d4ed8\\] {\n color: #1d4ed8;\n }\n .text-\\[\\#3b82f6\\] {\n color: #3b82f6;\n }\n .text-\\[\\#4E647F\\] {\n color: #4E647F;\n }\n .text-\\[\\#4b5563\\] {\n color: #4b5563;\n }\n .text-\\[\\#6b7280\\] {\n color: #6b7280;\n }\n .text-\\[\\#7e22ce\\] {\n color: #7e22ce;\n }\n .text-\\[\\#9ca3af\\] {\n color: #9ca3af;\n }\n .text-\\[\\#16a34a\\] {\n color: #16a34a;\n }\n .text-\\[\\#22c55e\\] {\n color: #22c55e;\n }\n .text-\\[\\#94a3b8\\] {\n color: #94a3b8;\n }\n .text-\\[\\#666\\] {\n color: #666;\n }\n .text-\\[\\#2563eb\\] {\n color: #2563eb;\n }\n .text-\\[\\#3763f4\\] {\n color: #3763f4;\n }\n .text-\\[\\#8799AF\\] {\n color: #8799AF;\n }\n .text-\\[\\#09090b\\] {\n color: #09090b;\n }\n .text-\\[\\#18181b\\] {\n color: #18181b;\n }\n .text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .text-\\[\\#71717A\\] {\n color: #71717A;\n }\n .text-\\[\\#71717a\\] {\n color: #71717a;\n }\n .text-\\[\\#92400e\\] {\n color: #92400e;\n }\n .text-\\[\\#111111\\] {\n color: #111111;\n }\n .text-\\[\\#161823\\] {\n color: #161823;\n }\n .text-\\[\\#166534\\] {\n color: #166534;\n }\n .text-\\[\\#222831\\] {\n color: #222831;\n }\n .text-\\[\\#334155\\] {\n color: #334155;\n }\n .text-\\[\\#374151\\] {\n color: #374151;\n }\n .text-\\[\\#475569\\] {\n color: #475569;\n }\n .text-\\[\\#979797\\] {\n color: #979797;\n }\n .text-\\[\\#B7791F\\] {\n color: #B7791F;\n }\n .text-\\[\\#D64545\\] {\n color: #D64545;\n }\n .text-\\[\\#d32f2f\\] {\n color: #d32f2f;\n }\n .text-\\[\\#e2e8f0\\] {\n color: #e2e8f0;\n }\n .text-\\[\\#ef4444\\] {\n color: #ef4444;\n }\n .text-\\[color\\:var\\(--dn-fg\\)\\] {\n color: var(--dn-fg);\n }\n .text-\\[color\\:var\\(--ob-fg\\)\\] {\n color: var(--ob-fg);\n }\n .text-\\[rgba\\(17\\,17\\,17\\,0\\.32\\)\\] {\n color: rgba(17,17,17,0.32);\n }\n .text-\\[var\\(--bc-error-color\\,\\#DC2626\\)\\] {\n color: var(--bc-error-color,#DC2626);\n }\n .text-\\[var\\(--bc-link-color\\)\\] {\n color: var(--bc-link-color);\n }\n .text-\\[var\\(--bc-link-color\\,\\#6D28D9\\)\\] {\n color: var(--bc-link-color,#6D28D9);\n }\n .text-\\[var\\(--bc-primary-button-text-color\\)\\] {\n color: var(--bc-primary-button-text-color);\n }\n .text-\\[var\\(--bc-secondary-button-text-color\\)\\] {\n color: var(--bc-secondary-button-text-color);\n }\n .text-\\[var\\(--bc-text-color\\)\\] {\n color: var(--bc-text-color);\n }\n .text-\\[var\\(--bc-text-color\\,\\#18181B\\)\\] {\n color: var(--bc-text-color,#18181B);\n }\n .text-\\[var\\(--ds-text-mid\\)\\] {\n color: var(--ds-text-mid);\n }\n .text-accent {\n color: var(--color-accent);\n }\n .text-accent-foreground {\n color: var(--color-accent-foreground);\n }\n .text-accent\\/80 {\n color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-accent) 80%, transparent);\n }\n }\n .text-amber-300 {\n color: var(--color-amber-300);\n }\n .text-amber-400 {\n color: var(--color-amber-400);\n }\n .text-amber-500 {\n color: var(--color-amber-500);\n }\n .text-amber-600 {\n color: var(--color-amber-600);\n }\n .text-amber-700 {\n color: var(--color-amber-700);\n }\n .text-amber-800 {\n color: var(--color-amber-800);\n }\n .text-amber-900 {\n color: var(--color-amber-900);\n }\n .text-amber-900\\/90 {\n color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-amber-900) 90%, transparent);\n }\n }\n .text-background {\n color: var(--color-background);\n }\n .text-black {\n color: var(--color-black);\n }\n .text-blue-400 {\n color: var(--color-blue-400);\n }\n .text-blue-500 {\n color: var(--color-blue-500);\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n .text-blue-800 {\n color: var(--color-blue-800);\n }\n .text-blue-900 {\n color: var(--color-blue-900);\n }\n .text-card-foreground {\n color: var(--color-card-foreground);\n }\n .text-current {\n color: currentcolor;\n }\n .text-destructive {\n color: var(--color-destructive);\n }\n .text-destructive-foreground {\n color: var(--color-destructive-foreground);\n }\n .text-destructive\\/70 {\n color: color-mix(in srgb, #dc2626 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-destructive) 70%, transparent);\n }\n }\n .text-destructive\\/80 {\n color: color-mix(in srgb, #dc2626 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-destructive) 80%, transparent);\n }\n }\n .text-emerald-300 {\n color: var(--color-emerald-300);\n }\n .text-emerald-500 {\n color: var(--color-emerald-500);\n }\n .text-emerald-600 {\n color: var(--color-emerald-600);\n }\n .text-emerald-700 {\n color: var(--color-emerald-700);\n }\n .text-gray-100 {\n color: var(--color-gray-100);\n }\n .text-gray-300 {\n color: var(--color-gray-300);\n }\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .text-gray-800 {\n color: var(--color-gray-800);\n }\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n .text-green-400 {\n color: var(--color-green-400);\n }\n .text-green-500 {\n color: var(--color-green-500);\n }\n .text-green-600 {\n color: var(--color-green-600);\n }\n .text-green-700 {\n color: var(--color-green-700);\n }\n .text-green-800 {\n color: var(--color-green-800);\n }\n .text-green-900 {\n color: var(--color-green-900);\n }\n .text-indigo-500 {\n color: var(--color-indigo-500);\n }\n .text-indigo-600 {\n color: var(--color-indigo-600);\n }\n .text-indigo-700 {\n color: var(--color-indigo-700);\n }\n .text-inherit {\n color: inherit;\n }\n .text-input {\n color: var(--color-input);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-muted-foreground\\/60 {\n color: color-mix(in srgb, #74716e 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-muted-foreground) 60%, transparent);\n }\n }\n .text-muted-foreground\\/70 {\n color: color-mix(in srgb, #74716e 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-muted-foreground) 70%, transparent);\n }\n }\n .text-neutral-70 {\n color: var(--color-neutral-70);\n }\n .text-neutral-300 {\n color: var(--color-neutral-300);\n }\n .text-neutral-400 {\n color: var(--color-neutral-400);\n }\n .text-neutral-500 {\n color: var(--color-neutral-500);\n }\n .text-neutral-600 {\n color: var(--color-neutral-600);\n }\n .text-neutral-700 {\n color: var(--color-neutral-700);\n }\n .text-neutral-900 {\n color: var(--color-neutral-900);\n }\n .text-orange-500 {\n color: var(--color-orange-500);\n }\n .text-orange-600 {\n color: var(--color-orange-600);\n }\n .text-orange-700 {\n color: var(--color-orange-700);\n }\n .text-orange-800 {\n color: var(--color-orange-800);\n }\n .text-primary {\n color: var(--color-primary);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-primary\\/10 {\n color: color-mix(in srgb, #18181b 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .text-primary\\/40 {\n color: color-mix(in srgb, #18181b 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 40%, transparent);\n }\n }\n .text-primary\\/50 {\n color: color-mix(in srgb, #18181b 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 50%, transparent);\n }\n }\n .text-primary\\/60 {\n color: color-mix(in srgb, #18181b 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 60%, transparent);\n }\n }\n .text-primary\\/70 {\n color: color-mix(in srgb, #18181b 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 70%, transparent);\n }\n }\n .text-purple-500 {\n color: var(--color-purple-500);\n }\n .text-purple-600 {\n color: var(--color-purple-600);\n }\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n .text-purple-800 {\n color: var(--color-purple-800);\n }\n .text-purple-900 {\n color: var(--color-purple-900);\n }\n .text-red-400 {\n color: var(--color-red-400);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-600 {\n color: var(--color-red-600);\n }\n .text-red-700 {\n color: var(--color-red-700);\n }\n .text-red-800 {\n color: var(--color-red-800);\n }\n .text-red-900 {\n color: var(--color-red-900);\n }\n .text-rose-500 {\n color: var(--color-rose-500);\n }\n .text-rose-600 {\n color: var(--color-rose-600);\n }\n .text-rose-700 {\n color: var(--color-rose-700);\n }\n .text-secondary-foreground {\n color: var(--color-secondary-foreground);\n }\n .text-sky-700 {\n color: var(--color-sky-700);\n }\n .text-slate-100 {\n color: var(--color-slate-100);\n }\n .text-slate-300 {\n color: var(--color-slate-300);\n }\n .text-slate-400 {\n color: var(--color-slate-400);\n }\n .text-slate-500 {\n color: var(--color-slate-500);\n }\n .text-slate-600 {\n color: var(--color-slate-600);\n }\n .text-slate-700 {\n color: var(--color-slate-700);\n }\n .text-slate-800 {\n color: var(--color-slate-800);\n }\n .text-slate-900 {\n color: var(--color-slate-900);\n }\n .text-slate-950 {\n color: var(--color-slate-950);\n }\n .text-teal-400 {\n color: var(--color-teal-400);\n }\n .text-teal-700 {\n color: var(--color-teal-700);\n }\n .text-teal-900 {\n color: var(--color-teal-900);\n }\n .text-teal-900\\/70 {\n color: color-mix(in srgb, oklch(38.6% 0.063 188.416) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-900) 70%, transparent);\n }\n }\n .text-teal-900\\/80 {\n color: color-mix(in srgb, oklch(38.6% 0.063 188.416) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-900) 80%, transparent);\n }\n }\n .text-teal-900\\/90 {\n color: color-mix(in srgb, oklch(38.6% 0.063 188.416) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-900) 90%, transparent);\n }\n }\n .text-transparent {\n color: transparent;\n }\n .text-violet-600 {\n color: var(--color-violet-600);\n }\n .text-violet-700 {\n color: var(--color-violet-700);\n }\n .text-violet-800 {\n color: var(--color-violet-800);\n }\n .text-white {\n color: var(--color-white);\n }\n .text-white\\/35 {\n color: color-mix(in srgb, #fff 35%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 35%, transparent);\n }\n }\n .text-white\\/40 {\n color: color-mix(in srgb, #fff 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 40%, transparent);\n }\n }\n .text-white\\/70 {\n color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n .text-yellow-300 {\n color: var(--color-yellow-300);\n }\n .text-yellow-400 {\n color: var(--color-yellow-400);\n }\n .text-yellow-500 {\n color: var(--color-yellow-500);\n }\n .text-yellow-600 {\n color: var(--color-yellow-600);\n }\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n .text-yellow-800 {\n color: var(--color-yellow-800);\n }\n .text-yellow-900 {\n color: var(--color-yellow-900);\n }\n .text-zinc-500 {\n color: var(--color-zinc-500);\n }\n .text-zinc-600 {\n color: var(--color-zinc-600);\n }\n .text-zinc-900 {\n color: var(--color-zinc-900);\n }\n .capitalize {\n text-transform: capitalize;\n }\n .lowercase {\n text-transform: lowercase;\n }\n .normal-case {\n text-transform: none;\n }\n .uppercase {\n text-transform: uppercase;\n }\n .uppercase\\! {\n text-transform: uppercase !important;\n }\n .italic {\n font-style: italic;\n }\n .ordinal {\n --tw-ordinal: ordinal;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .no-underline {\n text-decoration-line: none;\n }\n .underline {\n text-decoration-line: underline;\n }\n .decoration-muted-foreground\\/50 {\n text-decoration-color: color-mix(in srgb, #74716e 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n text-decoration-color: color-mix(in oklab, var(--color-muted-foreground) 50%, transparent);\n }\n }\n .decoration-dotted {\n text-decoration-style: dotted;\n }\n .decoration-solid {\n text-decoration-style: solid;\n }\n .underline-offset-2 {\n text-underline-offset: 2px;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .underline-offset-\\[3px\\] {\n text-underline-offset: 3px;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .caret-red-600 {\n caret-color: var(--color-red-600);\n }\n .caret-slate-900 {\n caret-color: var(--color-slate-900);\n }\n .accent-\\[var\\(--brand\\)\\] {\n accent-color: var(--brand);\n }\n .accent-accent {\n accent-color: var(--color-accent);\n }\n .accent-black {\n accent-color: var(--color-black);\n }\n .accent-primary {\n accent-color: var(--color-primary);\n }\n .\\[color-scheme\\:light\\] {\n color-scheme: light;\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-10 {\n opacity: 10%;\n }\n .opacity-30 {\n opacity: 30%;\n }\n .opacity-40 {\n opacity: 40%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-55 {\n opacity: 55%;\n }\n .opacity-60 {\n opacity: 60%;\n }\n .opacity-70 {\n opacity: 70%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .opacity-80 {\n opacity: 80%;\n }\n .opacity-90 {\n opacity: 90%;\n }\n .opacity-95 {\n opacity: 95%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .opacity-\\[0\\.28\\] {\n opacity: 0.28;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow\\! {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-border\\)\\)\\] {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_2px_8px_rgba\\(217\\,74\\,30\\,0\\.15\\)\\] {\n --tw-shadow: 0 2px 8px var(--tw-shadow-color, rgba(217,74,30,0.15));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_3px_10px_rgba\\(0\\,0\\,0\\,0\\.14\\)\\] {\n --tw-shadow: 0 3px 10px var(--tw-shadow-color, rgba(0,0,0,0.14));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_8px_32px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\,0_2px_8px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\] {\n --tw-shadow: 0 8px 32px var(--tw-shadow-color, rgba(0,0,0,0.12)), 0 2px 8px var(--tw-shadow-color, rgba(0,0,0,0.06));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0px_0px_4px_0px_\\#e4e4e7\\] {\n --tw-shadow: 0px 0px 4px 0px var(--tw-shadow-color, #e4e4e7);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0px_1px_2px_0px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\] {\n --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, rgba(0,0,0,0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0px_10px_15px_-3px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\,0px_4px_6px_-2px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\] {\n --tw-shadow: 0px 10px 15px -3px var(--tw-shadow-color, rgba(0,0,0,0.1)), 0px 4px 6px -2px var(--tw-shadow-color, rgba(0,0,0,0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[2px_0_4px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\] {\n --tw-shadow: 2px 0 4px var(--tw-shadow-color, rgba(0,0,0,0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[inset_0_-1px_0_var\\(--border\\)\\] {\n --tw-shadow: inset 0 -1px 0 var(--tw-shadow-color, var(--border));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[inset_0_1px_0_rgba\\(255\\,255\\,255\\,\\.2\\)\\] {\n --tw-shadow: inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,.2));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[inset_0_1px_0_rgba\\(255\\,255\\,255\\,\\.16\\)\\] {\n --tw-shadow: inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,.16));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[var\\(--shadow\\)\\] {\n --tw-shadow: var(--shadow);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-inner {\n --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-none {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow\\/ring {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-0 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-\\[1\\.5px\\] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-\\[3px\\] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .\\[box-shadow\\:none\\] {\n box-shadow: none;\n }\n .shadow-card {\n --tw-shadow-color: #ffffff;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-shadow-color: color-mix(in oklab, var(--color-card) var(--tw-shadow-alpha), transparent);\n }\n }\n .ring-\\[\\#10b981\\]\\/40 {\n --tw-ring-color: color-mix(in oklab, #10b981 40%, transparent);\n }\n .ring-black\\/5 {\n --tw-ring-color: color-mix(in srgb, #000 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n }\n .ring-blue-300\\/60 {\n --tw-ring-color: color-mix(in srgb, oklch(80.9% 0.105 251.813) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-blue-300) 60%, transparent);\n }\n }\n .ring-blue-500 {\n --tw-ring-color: var(--color-blue-500);\n }\n .ring-border {\n --tw-ring-color: var(--color-border);\n }\n .ring-card {\n --tw-ring-color: var(--color-card);\n }\n .ring-gray-300 {\n --tw-ring-color: var(--color-gray-300);\n }\n .ring-gray-900\\/10 {\n --tw-ring-color: color-mix(in srgb, oklch(21% 0.034 264.665) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-gray-900) 10%, transparent);\n }\n }\n .ring-orange-400 {\n --tw-ring-color: var(--color-orange-400);\n }\n .ring-primary {\n --tw-ring-color: var(--color-primary);\n }\n .ring-sidebar-ring {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n .ring-offset-4 {\n --tw-ring-offset-width: 4px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\n }\n .ring-offset-gray-200 {\n --tw-ring-offset-color: var(--color-gray-200);\n }\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .outline-1 {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .-outline-offset-1 {\n outline-offset: calc(1px * -1);\n }\n .outline-gray-300 {\n outline-color: var(--color-gray-300);\n }\n .outline-red-300 {\n outline-color: var(--color-red-300);\n }\n .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .blur-2xl {\n --tw-blur: blur(var(--blur-2xl));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .blur-3xl {\n --tw-blur: blur(var(--blur-3xl));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .drop-shadow-\\[0_3px_9px_rgba\\(124\\,92\\,255\\,0\\.4\\)\\] {\n --tw-drop-shadow-size: drop-shadow(0 3px 9px var(--tw-drop-shadow-color, rgba(124,92,255,0.4)));\n --tw-drop-shadow: var(--tw-drop-shadow-size);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .drop-shadow-md {\n --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.12)));\n --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .\\!filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter\\! {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;\n }\n .backdrop-blur {\n --tw-backdrop-blur: blur(8px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-\\[1px\\] {\n --tw-backdrop-blur: blur(1px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-sm {\n --tw-backdrop-blur: blur(var(--blur-sm));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-blur-xl {\n --tw-backdrop-blur: blur(var(--blur-xl));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition\\! {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-\\[border-color\\,box-shadow\\,background-color\\] {\n transition-property: border-color,box-shadow,background-color;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[border-color\\,box-shadow\\] {\n transition-property: border-color,box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[color\\,box-shadow\\] {\n transition-property: color,box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[filter\\] {\n transition-property: filter;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[grid-template-rows\\] {\n transition-property: grid-template-rows;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[left\\,right\\,width\\] {\n transition-property: left,right,width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[margin\\,opacity\\] {\n transition-property: margin,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[margin-right\\] {\n transition-property: margin-right;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[opacity\\,transform\\] {\n transition-property: opacity,transform;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[right\\] {\n transition-property: right;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[transform\\,width\\,height\\,opacity\\] {\n transition-property: transform,width,height,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\,height\\,padding\\] {\n transition-property: width,height,padding;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\,right\\,margin-right\\] {\n transition-property: width,right,margin-right;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\] {\n transition-property: width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-none {\n transition-property: none;\n }\n .duration-75 {\n --tw-duration: 75ms;\n transition-duration: 75ms;\n }\n .duration-100 {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n .duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .duration-\\[100ms\\] {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n .duration-\\[120ms\\] {\n --tw-duration: 120ms;\n transition-duration: 120ms;\n }\n .duration-\\[130ms\\] {\n --tw-duration: 130ms;\n transition-duration: 130ms;\n }\n .duration-\\[140ms\\] {\n --tw-duration: 140ms;\n transition-duration: 140ms;\n }\n .duration-\\[160ms\\] {\n --tw-duration: 160ms;\n transition-duration: 160ms;\n }\n .duration-\\[180ms\\] {\n --tw-duration: 180ms;\n transition-duration: 180ms;\n }\n .duration-\\[220ms\\] {\n --tw-duration: 220ms;\n transition-duration: 220ms;\n }\n .duration-\\[250ms\\] {\n --tw-duration: 250ms;\n transition-duration: 250ms;\n }\n .duration-\\[280ms\\] {\n --tw-duration: 280ms;\n transition-duration: 280ms;\n }\n .duration-\\[380ms\\] {\n --tw-duration: 380ms;\n transition-duration: 380ms;\n }\n .duration-\\[500ms\\] {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .duration-\\[600ms\\] {\n --tw-duration: 600ms;\n transition-duration: 600ms;\n }\n .ease-\\[cubic-bezier\\(0\\.2\\,0\\.8\\,0\\.2\\,1\\)\\] {\n --tw-ease: cubic-bezier(0.2,0.8,0.2,1);\n transition-timing-function: cubic-bezier(0.2,0.8,0.2,1);\n }\n .ease-\\[cubic-bezier\\(0\\.34\\,1\\.42\\,0\\.64\\,1\\)\\] {\n --tw-ease: cubic-bezier(0.34,1.42,0.64,1);\n transition-timing-function: cubic-bezier(0.34,1.42,0.64,1);\n }\n .ease-in {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .will-change-transform {\n will-change: transform;\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-all {\n -webkit-user-select: all;\n user-select: all;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .\\[-ms-overflow-style\\:none\\] {\n -ms-overflow-style: none;\n }\n .\\[-webkit-overflow-scrolling\\:touch\\] {\n -webkit-overflow-scrolling: touch;\n }\n .\\[cron\\:alarm-detection\\] {\n cron: alarm-detection;\n }\n .\\[cron\\:bulk-subscribe-failure-retention\\] {\n cron: bulk-subscribe-failure-retention;\n }\n .\\[cron\\:bulk-subscribe-watchdog\\] {\n cron: bulk-subscribe-watchdog;\n }\n .\\[cron\\:daily-summary\\] {\n cron: daily-summary;\n }\n .\\[cron\\:event-processor\\] {\n cron: event-processor;\n }\n .\\[cron\\:invitation-retention\\] {\n cron: invitation-retention;\n }\n .\\[cron\\:opt-out-token-retention\\] {\n cron: opt-out-token-retention;\n }\n .\\[cron\\:payout-calc\\] {\n cron: payout-calc;\n }\n .\\[cron\\:referral-webhook-dispatch\\] {\n cron: referral-webhook-dispatch;\n }\n .\\[cron\\:session-cleanup\\] {\n cron: session-cleanup;\n }\n .\\[cron\\:testing-expiry\\] {\n cron: testing-expiry;\n }\n .\\[daily-summary\\:backfill\\] {\n daily-summary: backfill;\n }\n .\\[daily-summary\\:diag\\] {\n daily-summary: diag;\n }\n .\\[event-processor\\:diag\\] {\n event-processor: diag;\n }\n .\\[event-processor\\:parsers\\] {\n event-processor: parsers;\n }\n .\\[lead-pipeline\\:diag\\] {\n lead-pipeline: diag;\n }\n .\\[min-inline-size\\:0\\] {\n min-inline-size: 0;\n }\n .\\[payout-calc\\:diag\\] {\n payout-calc: diag;\n }\n .\\[payout\\:trigger\\] {\n payout: trigger;\n }\n .\\[scrollbar-gutter\\:stable\\] {\n scrollbar-gutter: stable;\n }\n .\\[scrollbar-width\\:none\\] {\n scrollbar-width: none;\n }\n .\\[scrollbar-width\\:thin\\] {\n scrollbar-width: thin;\n }\n .\\[transition\\:max-height_200ms\\,opacity_150ms\\,padding_200ms\\] {\n transition: max-height 200ms,opacity 150ms,padding 200ms;\n }\n .\\[transition\\:opacity_120ms\\,margin_250ms_ease-in-out\\] {\n transition: opacity 120ms,margin 250ms ease-in-out;\n }\n .\\[transition\\:opacity_150ms\\,max-width_250ms_ease-in-out\\] {\n transition: opacity 150ms,max-width 250ms ease-in-out;\n }\n .\\[transition\\:opacity_150ms_ease\\,max-width_250ms_ease-in-out\\] {\n transition: opacity 150ms ease,max-width 250ms ease-in-out;\n }\n .ring-inset {\n --tw-ring-inset: inset;\n }\n .group-focus-within\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):focus-within *) {\n opacity: 100%;\n }\n }\n .group-hover\\:block {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n display: block;\n }\n }\n }\n .group-hover\\:border-gray-400 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n }\n .group-hover\\:bg-black\\/20 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 20%, transparent);\n }\n }\n }\n }\n .group-hover\\:bg-black\\/30 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n }\n }\n }\n .group-hover\\:text-blue-600 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n }\n .group-hover\\:opacity-60 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 60%;\n }\n }\n }\n .group-hover\\:opacity-80 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 80%;\n }\n }\n }\n .group-hover\\:opacity-100 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-hover\\:brightness-110 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n --tw-brightness: brightness(110%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n }\n .group-hover\\:brightness-\\[1\\.18\\] {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n --tw-brightness: brightness(1.18);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n }\n .group-hover\\/card\\:pointer-events-auto {\n &:is(:where(.group\\/card):hover *) {\n @media (hover: hover) {\n pointer-events: auto;\n }\n }\n }\n .group-hover\\/card\\:translate-y-0 {\n &:is(:where(.group\\/card):hover *) {\n @media (hover: hover) {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .group-hover\\/card\\:opacity-100 {\n &:is(:where(.group\\/card):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-hover\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pr-8 {\n &:is(:where(.group\\/menu-item):has(*[data-sidebar=\"menu-action\"]) *) {\n padding-right: calc(var(--spacing) * 8);\n }\n }\n .group-data-\\[checked\\]\\:translate-x-5 {\n &:is(:where(.group)[data-checked] *) {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .group-data-\\[checked\\]\\:opacity-0 {\n &:is(:where(.group)[data-checked] *) {\n opacity: 0%;\n }\n }\n .group-data-\\[checked\\]\\:opacity-100 {\n &:is(:where(.group)[data-checked] *) {\n opacity: 100%;\n }\n }\n .group-data-\\[checked\\]\\:duration-100 {\n &:is(:where(.group)[data-checked] *) {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n }\n .group-data-\\[checked\\]\\:duration-200 {\n &:is(:where(.group)[data-checked] *) {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n }\n .group-data-\\[checked\\]\\:ease-in {\n &:is(:where(.group)[data-checked] *) {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n }\n .group-data-\\[checked\\]\\:ease-out {\n &:is(:where(.group)[data-checked] *) {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:-mt-8 {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n margin-top: calc(var(--spacing) * -8);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:hidden {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n display: none;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:size-8\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--spacing) * 8) !important;\n height: calc(var(--spacing) * 8) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\) {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: var(--sidebar-width-icon);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\] {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)));\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\] {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n overflow: hidden;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:p-0\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 0) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:p-2\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 2) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:opacity-0 {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n opacity: 0%;\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n right: calc(var(--sidebar-width) * -1);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n left: calc(var(--sidebar-width) * -1);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:w-0 {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n width: calc(var(--spacing) * 0);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0 {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .group-data-\\[side\\=left\\]\\:-right-4 {\n &:is(:where(.group)[data-side=\"left\"] *) {\n right: calc(var(--spacing) * -4);\n }\n }\n .group-data-\\[side\\=left\\]\\:border-r {\n &:is(:where(.group)[data-side=\"left\"] *) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .group-data-\\[side\\=right\\]\\:left-0 {\n &:is(:where(.group)[data-side=\"right\"] *) {\n left: calc(var(--spacing) * 0);\n }\n }\n .group-data-\\[side\\=right\\]\\:rotate-180 {\n &:is(:where(.group)[data-side=\"right\"] *) {\n rotate: 180deg;\n }\n }\n .group-data-\\[side\\=right\\]\\:border-l {\n &:is(:where(.group)[data-side=\"right\"] *) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .group-data-\\[size\\=default\\]\\/switch\\:size-4 {\n &:is(:where(.group\\/switch)[data-size=\"default\"] *) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .group-data-\\[size\\=sm\\]\\/switch\\:size-3 {\n &:is(:where(.group\\/switch)[data-size=\"sm\"] *) {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n .group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none {\n &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n border-radius: 0;\n }\n }\n .group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2 {\n &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n padding-inline: calc(var(--spacing) * 2);\n }\n }\n .group-data-\\[state\\=checked\\]\\:opacity-100 {\n &:is(:where(.group)[data-state=\"checked\"] *) {\n opacity: 100%;\n }\n }\n .group-data-\\[state\\=open\\]\\/tagswitch\\:rotate-180 {\n &:is(:where(.group\\/tagswitch)[data-state=\"open\"] *) {\n rotate: 180deg;\n }\n }\n .group-data-\\[state\\=unchecked\\]\\:opacity-100 {\n &:is(:where(.group)[data-state=\"unchecked\"] *) {\n opacity: 100%;\n }\n }\n .group-data-\\[variant\\=floating\\]\\:rounded-lg {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-radius: var(--radius-lg);\n }\n }\n .group-data-\\[variant\\=floating\\]\\:border {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .group-data-\\[variant\\=floating\\]\\:shadow-sm {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .peer-disabled\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n .peer-disabled\\:opacity-70 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 70%;\n }\n }\n .peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5 {\n &:is(:where(.peer\\/menu-button)[data-size=\"default\"] ~ *) {\n top: calc(var(--spacing) * 1.5);\n }\n }\n .peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5 {\n &:is(:where(.peer\\/menu-button)[data-size=\"lg\"] ~ *) {\n top: calc(var(--spacing) * 2.5);\n }\n }\n .peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1 {\n &:is(:where(.peer\\/menu-button)[data-size=\"sm\"] ~ *) {\n top: calc(var(--spacing) * 1);\n }\n }\n .selection\\:bg-primary {\n & *::selection {\n background-color: var(--color-primary);\n }\n &::selection {\n background-color: var(--color-primary);\n }\n }\n .selection\\:text-primary-foreground {\n & *::selection {\n color: var(--color-primary-foreground);\n }\n &::selection {\n color: var(--color-primary-foreground);\n }\n }\n .file\\:inline-flex {\n &::file-selector-button {\n display: inline-flex;\n }\n }\n .file\\:h-7 {\n &::file-selector-button {\n height: calc(var(--spacing) * 7);\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .placeholder\\:text-gray-400 {\n &::placeholder {\n color: var(--color-gray-400);\n }\n }\n .placeholder\\:text-muted-foreground {\n &::placeholder {\n color: var(--color-muted-foreground);\n }\n }\n .placeholder\\:text-red-300 {\n &::placeholder {\n color: var(--color-red-300);\n }\n }\n .placeholder\\:text-slate-400 {\n &::placeholder {\n color: var(--color-slate-400);\n }\n }\n .placeholder\\:opacity-85 {\n &::placeholder {\n opacity: 85%;\n }\n }\n .before\\:absolute {\n &::before {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .before\\:top-0 {\n &::before {\n content: var(--tw-content);\n top: calc(var(--spacing) * 0);\n }\n }\n .before\\:bottom-0 {\n &::before {\n content: var(--tw-content);\n bottom: calc(var(--spacing) * 0);\n }\n }\n .before\\:left-0 {\n &::before {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .before\\:w-px {\n &::before {\n content: var(--tw-content);\n width: 1px;\n }\n }\n .before\\:bg-border {\n &::before {\n content: var(--tw-content);\n background-color: var(--color-border);\n }\n }\n .after\\:absolute {\n &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .after\\:-inset-2 {\n &::after {\n content: var(--tw-content);\n inset: calc(var(--spacing) * -2);\n }\n }\n .after\\:-inset-x-3 {\n &::after {\n content: var(--tw-content);\n inset-inline: calc(var(--spacing) * -3);\n }\n }\n .after\\:-inset-y-2 {\n &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * -2);\n }\n }\n .after\\:inset-y-0 {\n &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .after\\:right-0 {\n &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * 0);\n }\n }\n .after\\:bottom-0 {\n &::after {\n content: var(--tw-content);\n bottom: calc(var(--spacing) * 0);\n }\n }\n .after\\:left-0 {\n &::after {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .after\\:left-1\\/2 {\n &::after {\n content: var(--tw-content);\n left: calc(1/2 * 100%);\n }\n }\n .after\\:h-\\[2px\\] {\n &::after {\n content: var(--tw-content);\n height: 2px;\n }\n }\n .after\\:w-\\[2px\\] {\n &::after {\n content: var(--tw-content);\n width: 2px;\n }\n }\n .after\\:scale-x-0 {\n &::after {\n content: var(--tw-content);\n --tw-scale-x: 0%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .after\\:bg-\\[var\\(--tab-indicator-color\\)\\] {\n &::after {\n content: var(--tw-content);\n background-color: var(--tab-indicator-color);\n }\n }\n .after\\:transition-transform {\n &::after {\n content: var(--tw-content);\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n &::after {\n content: var(--tw-content);\n left: 100%;\n }\n }\n }\n .first\\:border-l-0 {\n &:first-child {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n .last\\:mb-0 {\n &:last-child {\n margin-bottom: calc(var(--spacing) * 0);\n }\n }\n .last\\:border-0 {\n &:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .last\\:border-r-0 {\n &:last-child {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n }\n .last\\:border-b {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .last\\:border-b-0 {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .last\\:pb-0 {\n &:last-child {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n .last\\:pb-\\[3px\\] {\n &:last-child {\n padding-bottom: 3px;\n }\n }\n .focus-within\\:pointer-events-auto {\n &:focus-within {\n pointer-events: auto;\n }\n }\n .focus-within\\:relative {\n &:focus-within {\n position: relative;\n }\n }\n .focus-within\\:translate-y-0 {\n &:focus-within {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .focus-within\\:opacity-100 {\n &:focus-within {\n opacity: 100%;\n }\n }\n .focus-within\\:ring-2 {\n &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-\\[3px\\] {\n &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-accent {\n &:focus-within {\n --tw-ring-color: var(--color-accent);\n }\n }\n .focus-within\\:ring-accent\\/40 {\n &:focus-within {\n --tw-ring-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n }\n .focus-within\\:ring-blue-600 {\n &:focus-within {\n --tw-ring-color: var(--color-blue-600);\n }\n }\n .focus-within\\:ring-offset-2 {\n &:focus-within {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-within\\:outline-none {\n &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .hover\\:-translate-y-0\\.5 {\n &:hover {\n @media (hover: hover) {\n --tw-translate-y: calc(var(--spacing) * -0.5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .hover\\:-translate-y-px {\n &:hover {\n @media (hover: hover) {\n --tw-translate-y: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .hover\\:translate-y-0 {\n &:hover {\n @media (hover: hover) {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .hover\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\n }\n }\n }\n .hover\\:border-\\[\\#2563eb\\] {\n &:hover {\n @media (hover: hover) {\n border-color: #2563eb;\n }\n }\n }\n .hover\\:border-\\[color\\:var\\(--ob-bd-h\\)\\] {\n &:hover {\n @media (hover: hover) {\n border-color: var(--ob-bd-h);\n }\n }\n }\n .hover\\:border-accent\\/50 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n .hover\\:border-blue-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-400);\n }\n }\n }\n .hover\\:border-blue-600 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-600);\n }\n }\n }\n .hover\\:border-border {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-border);\n }\n }\n }\n .hover\\:border-gray-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-300);\n }\n }\n }\n .hover\\:border-gray-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n }\n .hover\\:border-gray-500 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-500);\n }\n }\n }\n .hover\\:border-indigo-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-indigo-300);\n }\n }\n }\n .hover\\:border-muted-foreground {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-muted-foreground);\n }\n }\n }\n .hover\\:border-orange-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-orange-400);\n }\n }\n }\n .hover\\:border-primary {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-primary);\n }\n }\n }\n .hover\\:border-primary\\/40 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #18181b 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);\n }\n }\n }\n }\n .hover\\:border-primary\\/50 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #18181b 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);\n }\n }\n }\n }\n .hover\\:border-purple-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-purple-400);\n }\n }\n }\n .hover\\:border-red-200 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-200);\n }\n }\n }\n .hover\\:border-red-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-300);\n }\n }\n }\n .hover\\:border-red-600 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-600);\n }\n }\n }\n .hover\\:border-slate-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-400);\n }\n }\n }\n .hover\\:\\!bg-\\[\\#12478a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #12478a !important;\n }\n }\n }\n .hover\\:\\!bg-\\[\\#af543d\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #af543d !important;\n }\n }\n }\n .hover\\:bg-\\[\\#1a2e4a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #1a2e4a;\n }\n }\n }\n .hover\\:bg-\\[\\#1d4ed8\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #1d4ed8;\n }\n }\n }\n .hover\\:bg-\\[\\#2d3544\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #2d3544;\n }\n }\n }\n .hover\\:bg-\\[\\#16a34a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #16a34a;\n }\n }\n }\n .hover\\:bg-\\[\\#166FE5\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #166FE5;\n }\n }\n }\n .hover\\:bg-\\[\\#18181b\\]\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, #18181b 90%, transparent);\n }\n }\n }\n .hover\\:bg-\\[\\#E88B00\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #E88B00;\n }\n }\n }\n .hover\\:bg-\\[\\#F1F4F8\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #F1F4F8;\n }\n }\n }\n .hover\\:bg-\\[\\#d0d8e4\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #d0d8e4;\n }\n }\n }\n .hover\\:bg-\\[\\#f2f2f2\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #f2f2f2;\n }\n }\n }\n .hover\\:bg-\\[\\#fafafa\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #fafafa;\n }\n }\n }\n .hover\\:bg-\\[color\\:var\\(--ob-bg-h\\)\\] {\n &:hover {\n @media (hover: hover) {\n background-color: var(--ob-bg-h);\n }\n }\n }\n .hover\\:bg-\\[var\\(--bc-primary-button-background-color\\)\\] {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bc-primary-button-background-color);\n }\n }\n }\n .hover\\:bg-\\[var\\(--bc-secondary-button-background-color\\)\\] {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bc-secondary-button-background-color);\n }\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n .hover\\:bg-accent\\/10 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);\n }\n }\n }\n }\n .hover\\:bg-accent\\/30 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 30%, transparent);\n }\n }\n }\n }\n .hover\\:bg-accent\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-accent\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-amber-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-amber-100);\n }\n }\n }\n .hover\\:bg-background {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-background);\n }\n }\n }\n .hover\\:bg-black\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-blue-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-100);\n }\n }\n }\n .hover\\:bg-blue-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-200);\n }\n }\n }\n .hover\\:bg-blue-500 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-500);\n }\n }\n }\n .hover\\:bg-blue-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-700);\n }\n }\n }\n .hover\\:bg-border {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-border);\n }\n }\n }\n .hover\\:bg-border\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #e4e4e7 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-border) 60%, transparent);\n }\n }\n }\n }\n .hover\\:bg-card {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-card);\n }\n }\n }\n .hover\\:bg-destructive {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-destructive);\n }\n }\n }\n .hover\\:bg-destructive\\/10 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n }\n }\n .hover\\:bg-destructive\\/20 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-gray-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-50);\n }\n }\n }\n .hover\\:bg-gray-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-100);\n }\n }\n }\n .hover\\:bg-gray-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-200);\n }\n }\n }\n .hover\\:bg-gray-300 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-300);\n }\n }\n }\n .hover\\:bg-gray-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-800);\n }\n }\n }\n .hover\\:bg-green-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-green-700);\n }\n }\n }\n .hover\\:bg-indigo-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-indigo-50);\n }\n }\n }\n .hover\\:bg-indigo-50\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(96.2% 0.018 272.314) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-50) 60%, transparent);\n }\n }\n }\n }\n .hover\\:bg-indigo-500\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-indigo-500) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .hover\\:bg-muted\\/30 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 30%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/40 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 40%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/70 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 70%, transparent);\n }\n }\n }\n }\n .hover\\:bg-neutral-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-neutral-100);\n }\n }\n }\n .hover\\:bg-neutral-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-neutral-200);\n }\n }\n }\n .hover\\:bg-orange-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-orange-100);\n }\n }\n }\n .hover\\:bg-primary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-purple-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-purple-100);\n }\n }\n }\n .hover\\:bg-purple-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-purple-700);\n }\n }\n }\n .hover\\:bg-red-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-50);\n }\n }\n }\n .hover\\:bg-red-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-200);\n }\n }\n }\n .hover\\:bg-red-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-700);\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-slate-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-50);\n }\n }\n }\n .hover\\:bg-slate-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-100);\n }\n }\n }\n .hover\\:bg-slate-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-800);\n }\n }\n }\n .hover\\:bg-teal-600 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-teal-600);\n }\n }\n }\n .hover\\:bg-teal-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-teal-700);\n }\n }\n }\n .hover\\:bg-transparent {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n .hover\\:bg-violet-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-violet-700);\n }\n }\n }\n .hover\\:bg-violet-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-violet-800);\n }\n }\n }\n .hover\\:bg-white {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n .hover\\:bg-white\\/20 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n }\n }\n .hover\\:bg-white\\/\\[0\\.04\\] {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 4%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 4%, transparent);\n }\n }\n }\n }\n .hover\\:bg-yellow-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-yellow-700);\n }\n }\n }\n .hover\\:bg-zinc-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-zinc-100);\n }\n }\n }\n .hover\\:bg-zinc-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-zinc-800);\n }\n }\n }\n .hover\\:text-\\[\\#1d4ed8\\] {\n &:hover {\n @media (hover: hover) {\n color: #1d4ed8;\n }\n }\n }\n .hover\\:text-\\[\\#6b7280\\] {\n &:hover {\n @media (hover: hover) {\n color: #6b7280;\n }\n }\n }\n .hover\\:text-\\[\\#18181b\\] {\n &:hover {\n @media (hover: hover) {\n color: #18181b;\n }\n }\n }\n .hover\\:text-\\[\\#64748b\\] {\n &:hover {\n @media (hover: hover) {\n color: #64748b;\n }\n }\n }\n .hover\\:text-\\[color\\:var\\(--dn-fg-hover\\)\\] {\n &:hover {\n @media (hover: hover) {\n color: var(--dn-fg-hover);\n }\n }\n }\n .hover\\:text-\\[color\\:var\\(--ob-fg-h\\)\\] {\n &:hover {\n @media (hover: hover) {\n color: var(--ob-fg-h);\n }\n }\n }\n .hover\\:text-\\[var\\(--bc-secondary-button-text-color\\)\\] {\n &:hover {\n @media (hover: hover) {\n color: var(--bc-secondary-button-text-color);\n }\n }\n }\n .hover\\:text-accent {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent);\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .hover\\:text-accent\\/80 {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-accent) 80%, transparent);\n }\n }\n }\n }\n .hover\\:text-black {\n &:hover {\n @media (hover: hover) {\n color: var(--color-black);\n }\n }\n }\n .hover\\:text-blue-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-500);\n }\n }\n }\n .hover\\:text-blue-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n }\n .hover\\:text-blue-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-700);\n }\n }\n }\n .hover\\:text-blue-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-800);\n }\n }\n }\n .hover\\:text-blue-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-900);\n }\n }\n }\n .hover\\:text-destructive {\n &:hover {\n @media (hover: hover) {\n color: var(--color-destructive);\n }\n }\n }\n .hover\\:text-gray-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-500);\n }\n }\n }\n .hover\\:text-gray-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-600);\n }\n }\n }\n .hover\\:text-gray-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-700);\n }\n }\n }\n .hover\\:text-gray-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-800);\n }\n }\n }\n .hover\\:text-gray-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-900);\n }\n }\n }\n .hover\\:text-green-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-green-900);\n }\n }\n }\n .hover\\:text-indigo-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-indigo-600);\n }\n }\n }\n .hover\\:text-muted-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-muted-foreground);\n }\n }\n }\n .hover\\:text-neutral-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-neutral-900);\n }\n }\n }\n .hover\\:text-orange-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-orange-500);\n }\n }\n }\n .hover\\:text-primary {\n &:hover {\n @media (hover: hover) {\n color: var(--color-primary);\n }\n }\n }\n .hover\\:text-primary\\/60 {\n &:hover {\n @media (hover: hover) {\n color: color-mix(in srgb, #18181b 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary) 60%, transparent);\n }\n }\n }\n }\n .hover\\:text-red-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-500);\n }\n }\n }\n .hover\\:text-red-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-600);\n }\n }\n }\n .hover\\:text-red-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-700);\n }\n }\n }\n .hover\\:text-red-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-800);\n }\n }\n }\n .hover\\:text-red-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-900);\n }\n }\n }\n .hover\\:text-slate-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-600);\n }\n }\n }\n .hover\\:text-slate-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-700);\n }\n }\n }\n .hover\\:text-slate-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-800);\n }\n }\n }\n .hover\\:text-teal-950 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-teal-950);\n }\n }\n }\n .hover\\:text-violet-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-violet-800);\n }\n }\n }\n .hover\\:text-white {\n &:hover {\n @media (hover: hover) {\n color: var(--color-white);\n }\n }\n }\n .hover\\:text-yellow-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-yellow-900);\n }\n }\n }\n .hover\\:no-underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: none;\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .hover\\:opacity-70 {\n &:hover {\n @media (hover: hover) {\n opacity: 70%;\n }\n }\n }\n .hover\\:opacity-80 {\n &:hover {\n @media (hover: hover) {\n opacity: 80%;\n }\n }\n }\n .hover\\:opacity-90 {\n &:hover {\n @media (hover: hover) {\n opacity: 90%;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .hover\\:opacity-\\[0\\.88\\] {\n &:hover {\n @media (hover: hover) {\n opacity: 0.88;\n }\n }\n }\n .hover\\:shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-accent\\)\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-\\[0_4px_14px_rgba\\(37\\,99\\,235\\,0\\.1\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 4px 14px var(--tw-shadow-color, rgba(37,99,235,0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-\\[0_8px_24px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 8px 24px var(--tw-shadow-color, rgba(0,0,0,0.08));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-md {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-sm {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .hover\\:shadow-card {\n &:hover {\n @media (hover: hover) {\n --tw-shadow-color: #ffffff;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-shadow-color: color-mix(in oklab, var(--color-card) var(--tw-shadow-alpha), transparent);\n }\n }\n }\n }\n .hover\\:brightness-110 {\n &:hover {\n @media (hover: hover) {\n --tw-brightness: brightness(110%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n }\n .hover\\:brightness-\\[1\\.15\\] {\n &:hover {\n @media (hover: hover) {\n --tw-brightness: brightness(1.15);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n }\n .focus\\:relative {\n &:focus {\n position: relative;\n }\n }\n .focus\\:z-10 {\n &:focus {\n z-index: 10;\n }\n }\n .focus\\:z-20 {\n &:focus {\n z-index: 20;\n }\n }\n .focus\\:border-accent {\n &:focus {\n border-color: var(--color-accent);\n }\n }\n .focus\\:border-destructive {\n &:focus {\n border-color: var(--color-destructive);\n }\n }\n .focus\\:border-gray-500 {\n &:focus {\n border-color: var(--color-gray-500);\n }\n }\n .focus\\:border-indigo-500 {\n &:focus {\n border-color: var(--color-indigo-500);\n }\n }\n .focus\\:border-primary {\n &:focus {\n border-color: var(--color-primary);\n }\n }\n .focus\\:border-red-500 {\n &:focus {\n border-color: var(--color-red-500);\n }\n }\n .focus\\:border-transparent {\n &:focus {\n border-color: transparent;\n }\n }\n .focus\\:bg-accent {\n &:focus {\n background-color: var(--color-accent);\n }\n }\n .focus\\:bg-card {\n &:focus {\n background-color: var(--color-card);\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--color-accent-foreground);\n }\n }\n .focus\\:text-destructive {\n &:focus {\n color: var(--color-destructive);\n }\n }\n .focus\\:opacity-100 {\n &:focus {\n opacity: 100%;\n }\n }\n .focus\\:ring-0 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-1 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:\\[box-shadow\\:none\\] {\n &:focus {\n box-shadow: none;\n }\n }\n .focus\\:ring-accent {\n &:focus {\n --tw-ring-color: var(--color-accent);\n }\n }\n .focus\\:ring-accent\\/30 {\n &:focus {\n --tw-ring-color: color-mix(in srgb, #f4f4f5 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-accent) 30%, transparent);\n }\n }\n }\n .focus\\:ring-accent\\/40 {\n &:focus {\n --tw-ring-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n }\n .focus\\:ring-black {\n &:focus {\n --tw-ring-color: var(--color-black);\n }\n }\n .focus\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n .focus\\:ring-blue-600 {\n &:focus {\n --tw-ring-color: var(--color-blue-600);\n }\n }\n .focus\\:ring-destructive {\n &:focus {\n --tw-ring-color: var(--color-destructive);\n }\n }\n .focus\\:ring-gray-500 {\n &:focus {\n --tw-ring-color: var(--color-gray-500);\n }\n }\n .focus\\:ring-primary {\n &:focus {\n --tw-ring-color: var(--color-primary);\n }\n }\n .focus\\:ring-purple-500 {\n &:focus {\n --tw-ring-color: var(--color-purple-500);\n }\n }\n .focus\\:ring-white\\/50 {\n &:focus {\n --tw-ring-color: color-mix(in srgb, #fff 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n }\n .focus\\:ring-offset-0 {\n &:focus {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .focus\\:outline-2 {\n &:focus {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n }\n .focus\\:-outline-offset-2 {\n &:focus {\n outline-offset: calc(2px * -1);\n }\n }\n .focus\\:outline-offset-0 {\n &:focus {\n outline-offset: 0px;\n }\n }\n .focus\\:outline-blue-600 {\n &:focus {\n outline-color: var(--color-blue-600);\n }\n }\n .focus\\:outline-red-600 {\n &:focus {\n outline-color: var(--color-red-600);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .focus-visible\\:z-10 {\n &:focus-visible {\n z-index: 10;\n }\n }\n .focus-visible\\:border-\\[\\#2563eb\\] {\n &:focus-visible {\n border-color: #2563eb;\n }\n }\n .focus-visible\\:border-blue-600 {\n &:focus-visible {\n border-color: var(--color-blue-600);\n }\n }\n .focus-visible\\:border-indigo-300 {\n &:focus-visible {\n border-color: var(--color-indigo-300);\n }\n }\n .focus-visible\\:border-indigo-500 {\n &:focus-visible {\n border-color: var(--color-indigo-500);\n }\n }\n .focus-visible\\:border-red-300 {\n &:focus-visible {\n border-color: var(--color-red-300);\n }\n }\n .focus-visible\\:bg-white {\n &:focus-visible {\n background-color: var(--color-white);\n }\n }\n .focus-visible\\:opacity-100 {\n &:focus-visible {\n opacity: 100%;\n }\n }\n .focus-visible\\:ring-0 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-1 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-2 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-\\[3px\\] {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:\\[box-shadow\\:none\\] {\n &:focus-visible {\n box-shadow: none;\n }\n }\n .focus-visible\\:ring-accent\\/40 {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #f4f4f5 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-accent) 40%, transparent);\n }\n }\n }\n .focus-visible\\:ring-border {\n &:focus-visible {\n --tw-ring-color: var(--color-border);\n }\n }\n .focus-visible\\:ring-destructive\\/20 {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .focus-visible\\:ring-indigo-500\\/\\[0\\.06\\] {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 6%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-indigo-500) 6%, transparent);\n }\n }\n }\n .focus-visible\\:ring-neutral-300 {\n &:focus-visible {\n --tw-ring-color: var(--color-neutral-300);\n }\n }\n .focus-visible\\:ring-red-300 {\n &:focus-visible {\n --tw-ring-color: var(--color-red-300);\n }\n }\n .focus-visible\\:ring-sidebar-ring {\n &:focus-visible {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n }\n .focus-visible\\:ring-offset-0 {\n &:focus-visible {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:outline {\n &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n }\n .focus-visible\\:outline-2 {\n &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n }\n .focus-visible\\:outline-offset-2 {\n &:focus-visible {\n outline-offset: 2px;\n }\n }\n .focus-visible\\:outline-blue-600 {\n &:focus-visible {\n outline-color: var(--color-blue-600);\n }\n }\n .focus-visible\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .focus-visible\\:ring-inset {\n &:focus-visible {\n --tw-ring-inset: inset;\n }\n }\n .active\\:bg-accent\\/80 {\n &:active {\n background-color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 80%, transparent);\n }\n }\n }\n .active\\:bg-gray-100 {\n &:active {\n background-color: var(--color-gray-100);\n }\n }\n .active\\:bg-gray-200 {\n &:active {\n background-color: var(--color-gray-200);\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:cursor-default {\n &:disabled {\n cursor: default;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:bg-gray-50 {\n &:disabled {\n background-color: var(--color-gray-50);\n }\n }\n .disabled\\:text-gray-500 {\n &:disabled {\n color: var(--color-gray-500);\n }\n }\n .disabled\\:opacity-30 {\n &:disabled {\n opacity: 30%;\n }\n }\n .disabled\\:opacity-40 {\n &:disabled {\n opacity: 40%;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .disabled\\:opacity-60 {\n &:disabled {\n opacity: 60%;\n }\n }\n .disabled\\:opacity-100 {\n &:disabled {\n opacity: 100%;\n }\n }\n .disabled\\:outline-gray-200 {\n &:disabled {\n outline-color: var(--color-gray-200);\n }\n }\n .in-data-\\[side\\=left\\]\\:cursor-w-resize {\n :where(*[data-side=\"left\"]) & {\n cursor: w-resize;\n }\n }\n .in-data-\\[side\\=right\\]\\:cursor-e-resize {\n :where(*[data-side=\"right\"]) & {\n cursor: e-resize;\n }\n }\n .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\] {\n &:has(*[data-slot=\"card-action\"]) {\n grid-template-columns: 1fr auto;\n }\n }\n .has-\\[\\[aria-checked\\=true\\]\\]\\:border-blue-600 {\n &:has(*:is([aria-checked=true])) {\n border-color: var(--color-blue-600);\n }\n }\n .has-\\[\\[aria-checked\\=true\\]\\]\\:bg-blue-50 {\n &:has(*:is([aria-checked=true])) {\n background-color: var(--color-blue-50);\n }\n }\n .has-\\[\\>svg\\]\\:px-0 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .aria-disabled\\:pointer-events-none {\n &[aria-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .aria-disabled\\:opacity-50 {\n &[aria-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .aria-expanded\\:ring-2 {\n &[aria-expanded=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .aria-expanded\\:ring-muted-foreground {\n &[aria-expanded=\"true\"] {\n --tw-ring-color: var(--color-muted-foreground);\n }\n }\n .aria-invalid\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: var(--color-destructive);\n }\n }\n .aria-invalid\\:ring-3 {\n &[aria-invalid=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .aria-invalid\\:ring-\\[3px\\] {\n &[aria-invalid=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .aria-invalid\\:ring-destructive\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .aria-pressed\\:bg-muted {\n &[aria-pressed=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[active\\=true\\]\\:font-medium {\n &[data-active=\"true\"] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .data-\\[checked\\]\\:bg-blue-600 {\n &[data-checked] {\n background-color: var(--color-blue-600);\n }\n }\n .data-\\[closed\\]\\:-translate-x-full {\n &[data-closed] {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[closed\\]\\:translate-y-4 {\n &[data-closed] {\n --tw-translate-y: calc(var(--spacing) * 4);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[closed\\]\\:scale-95 {\n &[data-closed] {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .data-\\[closed\\]\\:opacity-0 {\n &[data-closed] {\n opacity: 0%;\n }\n }\n .data-\\[disabled\\]\\:pointer-events-none {\n &[data-disabled] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\]\\:opacity-50 {\n &[data-disabled] {\n opacity: 50%;\n }\n }\n .data-\\[disabled\\=true\\]\\:pointer-events-none {\n &[data-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\=true\\]\\:cursor-not-allowed {\n &[data-disabled=\"true\"] {\n cursor: not-allowed;\n }\n }\n .data-\\[disabled\\=true\\]\\:opacity-50 {\n &[data-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .data-\\[enter\\]\\:duration-300 {\n &[data-enter] {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n }\n .data-\\[enter\\]\\:ease-out {\n &[data-enter] {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n }\n .data-\\[error\\=true\\]\\:text-destructive {\n &[data-error=\"true\"] {\n color: var(--color-destructive);\n }\n }\n .data-\\[highlighted\\]\\:bg-accent {\n &[data-highlighted] {\n background-color: var(--color-accent);\n }\n }\n .data-\\[leave\\]\\:duration-200 {\n &[data-leave] {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n }\n .data-\\[leave\\]\\:ease-in {\n &[data-leave] {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n }\n .data-\\[orientation\\=horizontal\\]\\:h-px {\n &[data-orientation=\"horizontal\"] {\n height: 1px;\n }\n }\n .data-\\[orientation\\=horizontal\\]\\:w-full {\n &[data-orientation=\"horizontal\"] {\n width: 100%;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:h-full {\n &[data-orientation=\"vertical\"] {\n height: 100%;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:w-px {\n &[data-orientation=\"vertical\"] {\n width: 1px;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:flex-col {\n &[data-orientation=\"vertical\"] {\n flex-direction: column;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:items-stretch {\n &[data-orientation=\"vertical\"] {\n align-items: stretch;\n }\n }\n .data-\\[placeholder\\]\\:text-muted-foreground {\n &[data-placeholder] {\n color: var(--color-muted-foreground);\n }\n }\n .data-\\[selected\\=true\\]\\:bg-muted {\n &[data-selected=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[side\\=bottom\\]\\:translate-y-1 {\n &[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=left\\]\\:-translate-x-1 {\n &[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=right\\]\\:translate-x-1 {\n &[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=top\\]\\:-translate-y-1 {\n &[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[size\\=default\\]\\:h-\\[18\\.4px\\] {\n &[data-size=\"default\"] {\n height: 18.4px;\n }\n }\n .data-\\[size\\=default\\]\\:w-\\[32px\\] {\n &[data-size=\"default\"] {\n width: 32px;\n }\n }\n .data-\\[size\\=sm\\]\\:h-\\[14px\\] {\n &[data-size=\"sm\"] {\n height: 14px;\n }\n }\n .data-\\[size\\=sm\\]\\:w-\\[24px\\] {\n &[data-size=\"sm\"] {\n width: 24px;\n }\n }\n .data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\] {\n &[data-size=\"sm\"] {\n border-radius: min(var(--radius-md), 10px);\n }\n }\n .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-l-lg {\n &:is(:where(.group\\/toggle-group)[data-horizontal] *) {\n &[data-spacing=\"0\"] {\n &:first-child {\n border-top-left-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n }\n }\n .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg {\n &:is(:where(.group\\/toggle-group)[data-vertical] *) {\n &[data-spacing=\"0\"] {\n &:first-child {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n }\n }\n }\n .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-r-lg {\n &:is(:where(.group\\/toggle-group)[data-horizontal] *) {\n &[data-spacing=\"0\"] {\n &:last-child {\n border-top-right-radius: var(--radius-lg);\n border-bottom-right-radius: var(--radius-lg);\n }\n }\n }\n }\n .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg {\n &:is(:where(.group\\/toggle-group)[data-vertical] *) {\n &[data-spacing=\"0\"] {\n &:last-child {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n }\n }\n .data-\\[state\\=active\\]\\:border-slate-900 {\n &[data-state=\"active\"] {\n border-color: var(--color-slate-900);\n }\n }\n .data-\\[state\\=active\\]\\:border-b-primary {\n &[data-state=\"active\"] {\n border-bottom-color: var(--color-primary);\n }\n }\n .data-\\[state\\=active\\]\\:bg-\\[\\#6366f1\\] {\n &[data-state=\"active\"] {\n background-color: #6366f1;\n }\n }\n .data-\\[state\\=active\\]\\:bg-\\[var\\(--base-accent\\,\\#F4F4F5\\)\\] {\n &[data-state=\"active\"] {\n background-color: var(--base-accent,#F4F4F5);\n }\n }\n .data-\\[state\\=active\\]\\:bg-background {\n &[data-state=\"active\"] {\n background-color: var(--color-background);\n }\n }\n .data-\\[state\\=active\\]\\:bg-slate-900 {\n &[data-state=\"active\"] {\n background-color: var(--color-slate-900);\n }\n }\n .data-\\[state\\=active\\]\\:text-\\[var\\(--tab-active-color\\)\\] {\n &[data-state=\"active\"] {\n color: var(--tab-active-color);\n }\n }\n .data-\\[state\\=active\\]\\:text-white {\n &[data-state=\"active\"] {\n color: var(--color-white);\n }\n }\n .data-\\[state\\=active\\]\\:shadow-none {\n &[data-state=\"active\"] {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .data-\\[state\\=active\\]\\:shadow-sm {\n &[data-state=\"active\"] {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .data-\\[state\\=active\\]\\:after\\:scale-x-100 {\n &[data-state=\"active\"] {\n &::after {\n content: var(--tw-content);\n --tw-scale-x: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .data-\\[state\\=checked\\]\\:translate-x-\\[72px\\] {\n &[data-state=\"checked\"] {\n --tw-translate-x: 72px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=checked\\]\\:translate-x-\\[var\\(--sw-on\\)\\] {\n &[data-state=\"checked\"] {\n --tw-translate-x: var(--sw-on);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=checked\\]\\:border-black {\n &[data-state=\"checked\"] {\n border-color: var(--color-black);\n }\n }\n .data-\\[state\\=checked\\]\\:border-blue-600 {\n &[data-state=\"checked\"] {\n border-color: var(--color-blue-600);\n }\n }\n .data-\\[state\\=checked\\]\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: var(--color-primary);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-black {\n &[data-state=\"checked\"] {\n background-color: var(--color-black);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-blue-600 {\n &[data-state=\"checked\"] {\n background-color: var(--color-blue-600);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary);\n }\n }\n .data-\\[state\\=checked\\]\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: var(--color-primary-foreground);\n }\n }\n .data-\\[state\\=checked\\]\\:text-white {\n &[data-state=\"checked\"] {\n color: var(--color-white);\n }\n }\n .data-\\[state\\=checked\\]\\:\\[background\\:var\\(--switch-checked-bg\\)\\] {\n &[data-state=\"checked\"] {\n background: var(--switch-checked-bg);\n }\n }\n .group-data-\\[size\\=default\\]\\/switch\\:data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\] {\n &:is(:where(.group\\/switch)[data-size=\"default\"] *) {\n &[data-state=\"checked\"] {\n --tw-translate-x: calc(100% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .group-data-\\[size\\=sm\\]\\/switch\\:data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\] {\n &:is(:where(.group\\/switch)[data-size=\"sm\"] *) {\n &[data-state=\"checked\"] {\n --tw-translate-x: calc(100% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .data-\\[state\\=closed\\]\\:duration-300 {\n &[data-state=\"closed\"] {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n }\n .data-\\[state\\=inactive\\]\\:hidden {\n &[data-state=\"inactive\"] {\n display: none;\n }\n }\n .data-\\[state\\=on\\]\\:bg-muted {\n &[data-state=\"on\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--color-accent);\n }\n }\n .data-\\[state\\=open\\]\\:bg-secondary {\n &[data-state=\"open\"] {\n background-color: var(--color-secondary);\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--color-muted-foreground);\n }\n }\n .data-\\[state\\=open\\]\\:opacity-100 {\n &[data-state=\"open\"] {\n opacity: 100%;\n }\n }\n .data-\\[state\\=open\\]\\:duration-500 {\n &[data-state=\"open\"] {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n }\n .data-\\[state\\=selected\\]\\:bg-muted {\n &[data-state=\"selected\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[state\\=unchecked\\]\\:translate-x-\\[4px\\] {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: 4px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=unchecked\\]\\:translate-x-\\[var\\(--sw-off\\)\\] {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: var(--sw-off);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=unchecked\\]\\:bg-input {\n &[data-state=\"unchecked\"] {\n background-color: var(--color-input);\n }\n }\n .group-data-\\[size\\=default\\]\\/switch\\:data-\\[state\\=unchecked\\]\\:translate-x-0 {\n &:is(:where(.group\\/switch)[data-size=\"default\"] *) {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .group-data-\\[size\\=sm\\]\\/switch\\:data-\\[state\\=unchecked\\]\\:translate-x-0 {\n &:is(:where(.group\\/switch)[data-size=\"sm\"] *) {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-l-0 {\n &:is(:where(.group\\/toggle-group)[data-horizontal] *) {\n &[data-spacing=\"0\"] {\n &[data-variant=\"outline\"] {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n }\n }\n .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0 {\n &:is(:where(.group\\/toggle-group)[data-vertical] *) {\n &[data-spacing=\"0\"] {\n &[data-variant=\"outline\"] {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n }\n }\n .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-l {\n &:is(:where(.group\\/toggle-group)[data-horizontal] *) {\n &[data-spacing=\"0\"] {\n &[data-variant=\"outline\"] {\n &:first-child {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n }\n }\n }\n .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t {\n &:is(:where(.group\\/toggle-group)[data-vertical] *) {\n &[data-spacing=\"0\"] {\n &[data-variant=\"outline\"] {\n &:first-child {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n }\n }\n }\n }\n .supports-\\[backdrop-filter\\]\\:bg-background\\/80 {\n @supports (backdrop-filter: var(--tw)) {\n background-color: color-mix(in srgb, #ffffff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-background) 80%, transparent);\n }\n }\n }\n .motion-safe\\:transition-\\[width\\] {\n @media (prefers-reduced-motion: no-preference) {\n transition-property: width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n }\n .motion-safe\\:duration-1000 {\n @media (prefers-reduced-motion: no-preference) {\n --tw-duration: 1000ms;\n transition-duration: 1000ms;\n }\n }\n .motion-safe\\:ease-linear {\n @media (prefers-reduced-motion: no-preference) {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n }\n .motion-reduce\\:transition-none {\n @media (prefers-reduced-motion: reduce) {\n transition-property: none;\n }\n }\n .max-\\[860px\\]\\:gap-\\[6px\\] {\n @media (width < 860px) {\n gap: 6px;\n }\n }\n .max-\\[860px\\]\\:p-\\[6px\\] {\n @media (width < 860px) {\n padding: 6px;\n }\n }\n .max-\\[800px\\]\\:flex-col {\n @media (width < 800px) {\n flex-direction: column;\n }\n }\n .max-\\[750px\\]\\:col-start-1 {\n @media (width < 750px) {\n grid-column-start: 1;\n }\n }\n .max-\\[750px\\]\\:col-end-1 {\n @media (width < 750px) {\n grid-column-end: 1;\n }\n }\n .max-\\[750px\\]\\:grid-cols-1 {\n @media (width < 750px) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .max-\\[750px\\]\\:flex-col {\n @media (width < 750px) {\n flex-direction: column;\n }\n }\n .max-\\[750px\\]\\:gap-0 {\n @media (width < 750px) {\n gap: calc(var(--spacing) * 0);\n }\n }\n .max-md\\:flex-wrap {\n @media (width < 48rem) {\n flex-wrap: wrap;\n }\n }\n .max-sm\\:mt-2 {\n @media (width < 40rem) {\n margin-top: calc(var(--spacing) * 2);\n }\n }\n .min-\\[861px\\]\\:col-span-2 {\n @media (width >= 861px) {\n grid-column: span 2 / span 2;\n }\n }\n .min-\\[861px\\]\\:mx-0 {\n @media (width >= 861px) {\n margin-inline: calc(var(--spacing) * 0);\n }\n }\n .min-\\[861px\\]\\:basis-\\[42\\%\\] {\n @media (width >= 861px) {\n flex-basis: 42%;\n }\n }\n .min-\\[861px\\]\\:grid-cols-2 {\n @media (width >= 861px) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .min-\\[861px\\]\\:grid-cols-3 {\n @media (width >= 861px) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .min-\\[861px\\]\\:grid-cols-4 {\n @media (width >= 861px) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .min-\\[861px\\]\\:flex-row {\n @media (width >= 861px) {\n flex-direction: row;\n }\n }\n .min-\\[861px\\]\\:items-center {\n @media (width >= 861px) {\n align-items: center;\n }\n }\n .min-\\[1101px\\]\\:grid-cols-3 {\n @media (width >= 1101px) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .min-\\[1101px\\]\\:grid-cols-5 {\n @media (width >= 1101px) {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n }\n .min-\\[1101px\\]\\:grid-cols-6 {\n @media (width >= 1101px) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .sm\\:col-span-2 {\n @media (width >= 40rem) {\n grid-column: span 2 / span 2;\n }\n }\n .sm\\:col-span-3 {\n @media (width >= 40rem) {\n grid-column: span 3 / span 3;\n }\n }\n .sm\\:-mx-6 {\n @media (width >= 40rem) {\n margin-inline: calc(var(--spacing) * -6);\n }\n }\n .sm\\:my-8 {\n @media (width >= 40rem) {\n margin-block: calc(var(--spacing) * 8);\n }\n }\n .sm\\:mt-0 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .sm\\:mt-10 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 10);\n }\n }\n .sm\\:mb-1 {\n @media (width >= 40rem) {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .sm\\:ml-2 {\n @media (width >= 40rem) {\n margin-left: calc(var(--spacing) * 2);\n }\n }\n .sm\\:ml-4 {\n @media (width >= 40rem) {\n margin-left: calc(var(--spacing) * 4);\n }\n }\n .sm\\:block {\n @media (width >= 40rem) {\n display: block;\n }\n }\n .sm\\:flex {\n @media (width >= 40rem) {\n display: flex;\n }\n }\n .sm\\:grid {\n @media (width >= 40rem) {\n display: grid;\n }\n }\n .sm\\:hidden {\n @media (width >= 40rem) {\n display: none;\n }\n }\n .sm\\:size-4 {\n @media (width >= 40rem) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .sm\\:w-1\\/2 {\n @media (width >= 40rem) {\n width: calc(1/2 * 100%);\n }\n }\n .sm\\:w-auto {\n @media (width >= 40rem) {\n width: auto;\n }\n }\n .sm\\:w-full {\n @media (width >= 40rem) {\n width: 100%;\n }\n }\n .sm\\:max-w-1\\/2 {\n @media (width >= 40rem) {\n max-width: calc(1/2 * 100%);\n }\n }\n .sm\\:max-w-2xl {\n @media (width >= 40rem) {\n max-width: var(--container-2xl);\n }\n }\n .sm\\:max-w-3xl {\n @media (width >= 40rem) {\n max-width: var(--container-3xl);\n }\n }\n .sm\\:max-w-3xl\\! {\n @media (width >= 40rem) {\n max-width: var(--container-3xl) !important;\n }\n }\n .sm\\:max-w-6xl {\n @media (width >= 40rem) {\n max-width: var(--container-6xl);\n }\n }\n .sm\\:max-w-\\[420px\\] {\n @media (width >= 40rem) {\n max-width: 420px;\n }\n }\n .sm\\:max-w-\\[425px\\] {\n @media (width >= 40rem) {\n max-width: 425px;\n }\n }\n .sm\\:max-w-\\[440px\\] {\n @media (width >= 40rem) {\n max-width: 440px;\n }\n }\n .sm\\:max-w-\\[480px\\] {\n @media (width >= 40rem) {\n max-width: 480px;\n }\n }\n .sm\\:max-w-\\[520px\\] {\n @media (width >= 40rem) {\n max-width: 520px;\n }\n }\n .sm\\:max-w-\\[540px\\] {\n @media (width >= 40rem) {\n max-width: 540px;\n }\n }\n .sm\\:max-w-\\[560px\\] {\n @media (width >= 40rem) {\n max-width: 560px;\n }\n }\n .sm\\:max-w-\\[600px\\] {\n @media (width >= 40rem) {\n max-width: 600px;\n }\n }\n .sm\\:max-w-\\[860px\\] {\n @media (width >= 40rem) {\n max-width: 860px;\n }\n }\n .sm\\:max-w-\\[950px\\] {\n @media (width >= 40rem) {\n max-width: 950px;\n }\n }\n .sm\\:max-w-lg {\n @media (width >= 40rem) {\n max-width: var(--container-lg);\n }\n }\n .sm\\:max-w-md {\n @media (width >= 40rem) {\n max-width: var(--container-md);\n }\n }\n .sm\\:max-w-none {\n @media (width >= 40rem) {\n max-width: none;\n }\n }\n .sm\\:max-w-sm {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n .sm\\:max-w-xl {\n @media (width >= 40rem) {\n max-width: var(--container-xl);\n }\n }\n .sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-3 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-4 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-5 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-6 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:flex-row-reverse {\n @media (width >= 40rem) {\n flex-direction: row-reverse;\n }\n }\n .sm\\:items-center {\n @media (width >= 40rem) {\n align-items: center;\n }\n }\n .sm\\:\\!justify-start {\n @media (width >= 40rem) {\n justify-content: flex-start !important;\n }\n }\n .sm\\:justify-between {\n @media (width >= 40rem) {\n justify-content: space-between;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .sm\\:justify-start {\n @media (width >= 40rem) {\n justify-content: flex-start;\n }\n }\n .sm\\:gap-2\\.5 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 2.5);\n }\n }\n .sm\\:gap-3 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 3);\n }\n }\n .sm\\:gap-4 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .sm\\:gap-5 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 5);\n }\n }\n .sm\\:gap-6 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 6);\n }\n }\n .sm\\:truncate {\n @media (width >= 40rem) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .sm\\:rounded-lg {\n @media (width >= 40rem) {\n border-radius: var(--radius-lg);\n }\n }\n .sm\\:border-t-0 {\n @media (width >= 40rem) {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n .sm\\:border-l {\n @media (width >= 40rem) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .sm\\:p-0 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 0);\n }\n }\n .sm\\:p-4 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 4);\n }\n }\n .sm\\:p-6 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 6);\n }\n }\n .sm\\:p-8 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 8);\n }\n }\n .sm\\:px-0 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .sm\\:px-6 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 6);\n }\n }\n .sm\\:px-8 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .sm\\:py-4 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 4);\n }\n }\n .sm\\:py-5 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 5);\n }\n }\n .sm\\:py-32 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 32);\n }\n }\n .sm\\:pt-8 {\n @media (width >= 40rem) {\n padding-top: calc(var(--spacing) * 8);\n }\n }\n .sm\\:pr-0 {\n @media (width >= 40rem) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .sm\\:pr-8 {\n @media (width >= 40rem) {\n padding-right: calc(var(--spacing) * 8);\n }\n }\n .sm\\:pl-0 {\n @media (width >= 40rem) {\n padding-left: calc(var(--spacing) * 0);\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left;\n }\n }\n .sm\\:text-2xl {\n @media (width >= 40rem) {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n }\n .sm\\:text-4xl {\n @media (width >= 40rem) {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n }\n .sm\\:text-5xl {\n @media (width >= 40rem) {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n }\n .sm\\:text-7xl {\n @media (width >= 40rem) {\n font-size: var(--text-7xl);\n line-height: var(--tw-leading, var(--text-7xl--line-height));\n }\n }\n .sm\\:text-sm\\/6 {\n @media (width >= 40rem) {\n font-size: var(--text-sm);\n line-height: calc(var(--spacing) * 6);\n }\n }\n .sm\\:text-xl {\n @media (width >= 40rem) {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n }\n .sm\\:text-xl\\/8 {\n @media (width >= 40rem) {\n font-size: var(--text-xl);\n line-height: calc(var(--spacing) * 8);\n }\n }\n .sm\\:tracking-tight {\n @media (width >= 40rem) {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n }\n .data-\\[closed\\]\\:sm\\:translate-y-0 {\n &[data-closed] {\n @media (width >= 40rem) {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .data-\\[closed\\]\\:sm\\:scale-95 {\n &[data-closed] {\n @media (width >= 40rem) {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .md\\:static {\n @media (width >= 48rem) {\n position: static;\n }\n }\n .md\\:col-span-2 {\n @media (width >= 48rem) {\n grid-column: span 2 / span 2;\n }\n }\n .md\\:mt-0 {\n @media (width >= 48rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .md\\:block {\n @media (width >= 48rem) {\n display: block;\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .md\\:w-\\[125px\\] {\n @media (width >= 48rem) {\n width: 125px;\n }\n }\n .md\\:w-auto {\n @media (width >= 48rem) {\n width: auto;\n }\n }\n .md\\:flex-1 {\n @media (width >= 48rem) {\n flex: 1;\n }\n }\n .md\\:flex-\\[1\\.15\\] {\n @media (width >= 48rem) {\n flex: 1.15;\n }\n }\n .md\\:translate-x-0 {\n @media (width >= 48rem) {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .md\\:grid-cols-1 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-3 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-4 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-\\[1fr_1\\.2fr\\] {\n @media (width >= 48rem) {\n grid-template-columns: 1fr 1.2fr;\n }\n }\n .md\\:grid-cols-\\[220px_1fr\\] {\n @media (width >= 48rem) {\n grid-template-columns: 220px 1fr;\n }\n }\n .md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_280px\\] {\n @media (width >= 48rem) {\n grid-template-columns: minmax(0,1fr) 280px;\n }\n }\n .md\\:flex-row {\n @media (width >= 48rem) {\n flex-direction: row;\n }\n }\n .md\\:items-center {\n @media (width >= 48rem) {\n align-items: center;\n }\n }\n .md\\:justify-between {\n @media (width >= 48rem) {\n justify-content: space-between;\n }\n }\n .md\\:gap-2 {\n @media (width >= 48rem) {\n gap: calc(var(--spacing) * 2);\n }\n }\n .md\\:gap-4 {\n @media (width >= 48rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .md\\:rounded-full {\n @media (width >= 48rem) {\n border-radius: calc(infinity * 1px);\n }\n }\n .md\\:border-r {\n @media (width >= 48rem) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .md\\:border-b-0 {\n @media (width >= 48rem) {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .md\\:px-3 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .md\\:py-1 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 1);\n }\n }\n .md\\:py-16 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 16);\n }\n }\n .md\\:py-28 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 28);\n }\n }\n .md\\:pt-4 {\n @media (width >= 48rem) {\n padding-top: calc(var(--spacing) * 4);\n }\n }\n .md\\:text-6xl {\n @media (width >= 48rem) {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .md\\:leading-normal {\n @media (width >= 48rem) {\n --tw-leading: var(--leading-normal);\n line-height: var(--leading-normal);\n }\n }\n .md\\:opacity-0 {\n @media (width >= 48rem) {\n opacity: 0%;\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:m-2 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin: calc(var(--spacing) * 2);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:ml-0 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin-left: calc(var(--spacing) * 0);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n border-radius: var(--radius-xl);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n &:is(:where(.peer)[data-state=\"collapsed\"] ~ *) {\n margin-left: calc(var(--spacing) * 2);\n }\n }\n }\n }\n .md\\:after\\:hidden {\n @media (width >= 48rem) {\n &::after {\n content: var(--tw-content);\n display: none;\n }\n }\n }\n .lg\\:fixed {\n @media (width >= 64rem) {\n position: fixed;\n }\n }\n .lg\\:sticky {\n @media (width >= 64rem) {\n position: sticky;\n }\n }\n .lg\\:inset-y-0 {\n @media (width >= 64rem) {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .lg\\:top-6 {\n @media (width >= 64rem) {\n top: calc(var(--spacing) * 6);\n }\n }\n .lg\\:z-50 {\n @media (width >= 64rem) {\n z-index: 50;\n }\n }\n .lg\\:col-span-1 {\n @media (width >= 64rem) {\n grid-column: span 1 / span 1;\n }\n }\n .lg\\:col-span-2 {\n @media (width >= 64rem) {\n grid-column: span 2 / span 2;\n }\n }\n .lg\\:-mx-8 {\n @media (width >= 64rem) {\n margin-inline: calc(var(--spacing) * -8);\n }\n }\n .lg\\:block {\n @media (width >= 64rem) {\n display: block;\n }\n }\n .lg\\:flex {\n @media (width >= 64rem) {\n display: flex;\n }\n }\n .lg\\:grid {\n @media (width >= 64rem) {\n display: grid;\n }\n }\n .lg\\:hidden {\n @media (width >= 64rem) {\n display: none;\n }\n }\n .lg\\:h-\\[75vh\\] {\n @media (width >= 64rem) {\n height: 75vh;\n }\n }\n .lg\\:w-72 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 72);\n }\n }\n .lg\\:w-full {\n @media (width >= 64rem) {\n width: 100%;\n }\n }\n .lg\\:flex-\\[0_0_35\\%\\] {\n @media (width >= 64rem) {\n flex: 0 0 35%;\n }\n }\n .lg\\:flex-\\[0_0_65\\%\\] {\n @media (width >= 64rem) {\n flex: 0 0 65%;\n }\n }\n .lg\\:grid-cols-2 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-3 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-4 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-5 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-6 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .lg\\:grid-cols-\\[1fr_420px\\] {\n @media (width >= 64rem) {\n grid-template-columns: 1fr 420px;\n }\n }\n .lg\\:grid-cols-\\[2fr_1fr\\] {\n @media (width >= 64rem) {\n grid-template-columns: 2fr 1fr;\n }\n }\n .lg\\:flex-col {\n @media (width >= 64rem) {\n flex-direction: column;\n }\n }\n .lg\\:flex-row {\n @media (width >= 64rem) {\n flex-direction: row;\n }\n }\n .lg\\:items-start {\n @media (width >= 64rem) {\n align-items: flex-start;\n }\n }\n .lg\\:items-stretch {\n @media (width >= 64rem) {\n align-items: stretch;\n }\n }\n .lg\\:justify-between {\n @media (width >= 64rem) {\n justify-content: space-between;\n }\n }\n .lg\\:justify-end {\n @media (width >= 64rem) {\n justify-content: flex-end;\n }\n }\n .lg\\:gap-8 {\n @media (width >= 64rem) {\n gap: calc(var(--spacing) * 8);\n }\n }\n .lg\\:self-start {\n @media (width >= 64rem) {\n align-self: flex-start;\n }\n }\n .lg\\:border-r {\n @media (width >= 64rem) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .lg\\:p-8 {\n @media (width >= 64rem) {\n padding: calc(var(--spacing) * 8);\n }\n }\n .lg\\:px-6 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 6);\n }\n }\n .lg\\:px-8 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .lg\\:py-5 {\n @media (width >= 64rem) {\n padding-block: calc(var(--spacing) * 5);\n }\n }\n .lg\\:pt-8 {\n @media (width >= 64rem) {\n padding-top: calc(var(--spacing) * 8);\n }\n }\n .lg\\:pl-72 {\n @media (width >= 64rem) {\n padding-left: calc(var(--spacing) * 72);\n }\n }\n .xl\\:sticky {\n @media (width >= 80rem) {\n position: sticky;\n }\n }\n .xl\\:top-0 {\n @media (width >= 80rem) {\n top: calc(var(--spacing) * 0);\n }\n }\n .xl\\:grid-cols-4 {\n @media (width >= 80rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .xl\\:grid-cols-\\[250px_minmax\\(0\\,1fr\\)_236px\\] {\n @media (width >= 80rem) {\n grid-template-columns: 250px minmax(0,1fr) 236px;\n }\n }\n .xl\\:grid-cols-\\[760px_280px\\] {\n @media (width >= 80rem) {\n grid-template-columns: 760px 280px;\n }\n }\n .xl\\:gap-x-8 {\n @media (width >= 80rem) {\n column-gap: calc(var(--spacing) * 8);\n }\n }\n .\\32 xl\\:grid-cols-3 {\n @media (width >= 96rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .\\@max-md\\:hidden {\n @container (width < 28rem) {\n display: none;\n }\n }\n .\\@max-md\\:grid-cols-1 {\n @container (width < 28rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .\\@min-\\[460px\\]\\/strip\\:grid-cols-2 {\n @container strip (width >= 460px) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .\\@min-\\[640px\\]\\:px-8 {\n @container (width >= 640px) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .\\@min-\\[640px\\]\\:pb-3 {\n @container (width >= 640px) {\n padding-bottom: calc(var(--spacing) * 3);\n }\n }\n .\\@min-\\[760px\\]\\/strip\\:grid-cols-3 {\n @container strip (width >= 760px) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .\\@min-\\[1200px\\]\\/strip\\:grid-cols-6 {\n @container strip (width >= 1200px) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .dark\\:block {\n @media (prefers-color-scheme: dark) {\n display: block;\n }\n }\n .dark\\:hidden {\n @media (prefers-color-scheme: dark) {\n display: none;\n }\n }\n .dark\\:border-amber-800 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-amber-800);\n }\n }\n .dark\\:border-amber-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-amber-900);\n }\n }\n .dark\\:border-blue-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-blue-900);\n }\n }\n .dark\\:border-emerald-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-emerald-900);\n }\n }\n .dark\\:border-gray-500 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-gray-500);\n }\n }\n .dark\\:border-green-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-green-900);\n }\n }\n .dark\\:border-input {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-input);\n }\n }\n .dark\\:border-purple-900 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-purple-900);\n }\n }\n .dark\\:border-slate-700 {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-slate-700);\n }\n }\n .dark\\:border-teal-400\\/25 {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-teal-400) 25%, transparent);\n }\n }\n }\n .dark\\:bg-amber-950\\/40 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-950) 40%, transparent);\n }\n }\n }\n .dark\\:bg-amber-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-blue-950\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-950) 20%, transparent);\n }\n }\n }\n .dark\\:bg-blue-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-destructive\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #dc2626 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent);\n }\n }\n }\n .dark\\:bg-emerald-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-emerald-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-gray-100 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-100);\n }\n }\n .dark\\:bg-gray-500 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-500);\n }\n }\n .dark\\:bg-gray-600 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-600);\n }\n }\n .dark\\:bg-gray-700 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-700);\n }\n }\n .dark\\:bg-gray-900 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-900);\n }\n }\n .dark\\:bg-green-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(26.6% 0.065 152.934) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-green-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-input\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #e4e4e7 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n .dark\\:bg-orange-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(26.6% 0.079 36.259) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-orange-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-purple-950\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(29.1% 0.149 302.717) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-purple-950) 50%, transparent);\n }\n }\n }\n .dark\\:bg-slate-900\\/50 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent);\n }\n }\n }\n .dark\\:bg-teal-950\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(27.7% 0.046 192.524) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-teal-950) 30%, transparent);\n }\n }\n }\n .dark\\:bg-white {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-white);\n }\n }\n .dark\\:p-\\[3px\\] {\n @media (prefers-color-scheme: dark) {\n padding: 3px;\n }\n }\n .dark\\:text-amber-200 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-200);\n }\n }\n .dark\\:text-amber-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-300);\n }\n }\n .dark\\:text-amber-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-amber-400);\n }\n }\n .dark\\:text-blue-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-blue-300);\n }\n }\n .dark\\:text-emerald-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-emerald-300);\n }\n }\n .dark\\:text-gray-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-gray-300);\n }\n }\n .dark\\:text-gray-600 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-gray-600);\n }\n }\n .dark\\:text-gray-900 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-gray-900);\n }\n }\n .dark\\:text-green-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-green-300);\n }\n }\n .dark\\:text-orange-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-orange-300);\n }\n }\n .dark\\:text-purple-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-purple-300);\n }\n }\n .dark\\:text-red-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-red-400);\n }\n }\n .dark\\:text-slate-300 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-300);\n }\n }\n .dark\\:text-slate-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-slate-400);\n }\n }\n .dark\\:text-teal-100 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-teal-100);\n }\n }\n .dark\\:text-teal-100\\/60 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(95.3% 0.051 180.801) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-100) 60%, transparent);\n }\n }\n }\n .dark\\:text-teal-100\\/70 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(95.3% 0.051 180.801) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-100) 70%, transparent);\n }\n }\n }\n .dark\\:text-teal-100\\/80 {\n @media (prefers-color-scheme: dark) {\n color: color-mix(in srgb, oklch(95.3% 0.051 180.801) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-teal-100) 80%, transparent);\n }\n }\n }\n .dark\\:group-hover\\:border-gray-500 {\n @media (prefers-color-scheme: dark) {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n border-color: var(--color-gray-500);\n }\n }\n }\n }\n .dark\\:hover\\:border-gray-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n }\n }\n .dark\\:hover\\:border-gray-500 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-500);\n }\n }\n }\n }\n .dark\\:hover\\:border-red-900 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-900);\n }\n }\n }\n }\n .dark\\:hover\\:bg-accent\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-amber-900\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-amber-900) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-gray-50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-50);\n }\n }\n }\n }\n .dark\\:hover\\:bg-gray-700 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-700);\n }\n }\n }\n }\n .dark\\:hover\\:bg-input\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #e4e4e7 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-red-950\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(25.8% 0.092 26.042) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-red-950) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:text-red-400 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-400);\n }\n }\n }\n }\n .dark\\:hover\\:text-teal-50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n color: var(--color-teal-50);\n }\n }\n }\n }\n .dark\\:focus\\:border-gray-400 {\n @media (prefers-color-scheme: dark) {\n &:focus {\n border-color: var(--color-gray-400);\n }\n }\n }\n .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #dc2626 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .dark\\:disabled\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n &:disabled {\n background-color: color-mix(in srgb, #e4e4e7 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .dark\\:has-\\[\\[aria-checked\\=true\\]\\]\\:border-blue-900 {\n @media (prefers-color-scheme: dark) {\n &:has(*:is([aria-checked=true])) {\n border-color: var(--color-blue-900);\n }\n }\n }\n .dark\\:has-\\[\\[aria-checked\\=true\\]\\]\\:bg-blue-950 {\n @media (prefers-color-scheme: dark) {\n &:has(*:is([aria-checked=true])) {\n background-color: var(--color-blue-950);\n }\n }\n }\n .dark\\:aria-invalid\\:border-destructive\\/50 {\n @media (prefers-color-scheme: dark) {\n &[aria-invalid=\"true\"] {\n border-color: color-mix(in srgb, #dc2626 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n }\n }\n .dark\\:aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, #dc2626 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .dark\\:data-\\[state\\=active\\]\\:border-slate-100 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"active\"] {\n border-color: var(--color-slate-100);\n }\n }\n }\n .dark\\:data-\\[state\\=active\\]\\:bg-slate-100 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"active\"] {\n background-color: var(--color-slate-100);\n }\n }\n }\n .dark\\:data-\\[state\\=active\\]\\:text-slate-900 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"active\"] {\n color: var(--color-slate-900);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:border-blue-700 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n border-color: var(--color-blue-700);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-blue-700 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-blue-700);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-primary {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary-foreground);\n }\n }\n }\n .dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"unchecked\"] {\n background-color: color-mix(in srgb, #e4e4e7 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .print\\:fill-\\[\\#3730A3\\] {\n @media print {\n fill: #3730A3;\n }\n }\n .\\[\\&_\\.react-draggable\\]\\:cursor-grab {\n & .react-draggable {\n cursor: grab;\n }\n }\n .\\[\\&_\\.react-draggable-dragging\\]\\:\\!cursor-grabbing {\n & .react-draggable-dragging {\n cursor: grabbing !important;\n }\n }\n .\\[\\&_\\.react-grid-placeholder\\]\\:\\!bg-\\[\\#6366f1\\] {\n & .react-grid-placeholder {\n background-color: #6366f1 !important;\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:absolute {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:right-0 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * 0);\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:bottom-0 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n bottom: calc(var(--spacing) * 0);\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:h-\\[10px\\] {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n height: 10px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:w-\\[10px\\] {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n width: 10px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-t-0 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-r-2 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-right-style: var(--tw-border-style);\n border-right-width: 2px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-b-2 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-l-0 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-solid {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n --tw-border-style: solid;\n border-style: solid;\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:border-indigo-400 {\n & .react-resizable-handle-se {\n &::after {\n content: var(--tw-content);\n border-color: var(--color-indigo-400);\n }\n }\n }\n .\\[\\&_\\.react-resizable-handle-se\\]\\:after\\:content-\\[\\\"\\\"\\] {\n & .react-resizable-handle-se {\n &::after {\n --tw-content: \"\";\n content: var(--tw-content);\n }\n }\n }\n .\\[\\&_\\.toggle\\.active\\]\\:bg-\\[\\#4E647F\\]\\! {\n & .toggle.active {\n background-color: #4E647F !important;\n }\n }\n .\\[\\&_\\:is\\(h1\\,h2\\,h3\\)\\]\\:m-0 {\n & :is(h1,h2,h3) {\n margin: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_a\\]\\:text-accent {\n & a {\n color: var(--color-accent);\n }\n }\n .\\[\\&_a\\]\\:text-blue-400 {\n & a {\n color: var(--color-blue-400);\n }\n }\n .\\[\\&_a\\]\\:text-blue-500 {\n & a {\n color: var(--color-blue-500);\n }\n }\n .\\[\\&_a\\]\\:text-white {\n & a {\n color: var(--color-white);\n }\n }\n .\\[\\&_a\\]\\:underline {\n & a {\n text-decoration-line: underline;\n }\n }\n .\\[\\&_a\\]\\:hover\\:text-blue-300 {\n & a {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-300);\n }\n }\n }\n }\n .\\[\\&_a\\]\\:hover\\:no-underline {\n & a {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: none;\n }\n }\n }\n }\n .\\[\\&_code\\]\\:rounded {\n & code {\n border-radius: 0.25rem;\n }\n }\n .\\[\\&_code\\]\\:rounded-\\[4px\\] {\n & code {\n border-radius: 4px;\n }\n }\n .\\[\\&_code\\]\\:bg-blue-100 {\n & code {\n background-color: var(--color-blue-100);\n }\n }\n .\\[\\&_code\\]\\:px-1 {\n & code {\n padding-inline: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_code\\]\\:px-\\[4px\\] {\n & code {\n padding-inline: 4px;\n }\n }\n .\\[\\&_code\\]\\:px-\\[5px\\] {\n & code {\n padding-inline: 5px;\n }\n }\n .\\[\\&_code\\]\\:py-0\\.5 {\n & code {\n padding-block: calc(var(--spacing) * 0.5);\n }\n }\n .\\[\\&_code\\]\\:py-\\[1px\\] {\n & code {\n padding-block: 1px;\n }\n }\n .\\[\\&_code\\]\\:font-mono {\n & code {\n font-family: var(--font-mono);\n }\n }\n .\\[\\&_code\\]\\:text-xs {\n & code {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .\\[\\&_code\\]\\:text-\\[11px\\] {\n & code {\n font-size: 11px;\n }\n }\n .\\[\\&_em\\]\\:italic {\n & em {\n font-style: italic;\n }\n }\n .\\[\\&_h1\\]\\:mt-2 {\n & h1 {\n margin-top: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_h1\\]\\:mb-1 {\n & h1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_h1\\]\\:text-lg {\n & h1 {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n }\n .\\[\\&_h1\\]\\:font-bold {\n & h1 {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n }\n .\\[\\&_h2\\]\\:mt-2 {\n & h2 {\n margin-top: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_h2\\]\\:mt-\\[1em\\] {\n & h2 {\n margin-top: 1em;\n }\n }\n .\\[\\&_h2\\]\\:mb-1 {\n & h2 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_h2\\]\\:text-base {\n & h2 {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n }\n .\\[\\&_h2\\]\\:text-lg {\n & h2 {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n }\n .\\[\\&_h2\\]\\:font-semibold {\n & h2 {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&_h2\\,\\&_h3\\]\\:mt-\\[1em\\] {\n & h2,& h3 {\n margin-top: 1em;\n }\n }\n .\\[\\&_h3\\]\\:mt-1 {\n & h3 {\n margin-top: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_h3\\]\\:mb-1 {\n & h3 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_h3\\]\\:text-sm {\n & h3 {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .\\[\\&_h3\\]\\:font-semibold {\n & h3 {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&_hr\\]\\:my-\\[1em\\] {\n & hr {\n margin-block: 1em;\n }\n }\n .\\[\\&_img\\]\\:my-2 {\n & img {\n margin-block: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_img\\]\\:max-w-full {\n & img {\n max-width: 100%;\n }\n }\n .\\[\\&_img\\]\\:rounded {\n & img {\n border-radius: 0.25rem;\n }\n }\n .\\[\\&_li\\]\\:my-0\\.5 {\n & li {\n margin-block: calc(var(--spacing) * 0.5);\n }\n }\n .\\[\\&_ol\\]\\:my-1 {\n & ol {\n margin-block: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_ol\\]\\:list-decimal {\n & ol {\n list-style-type: decimal;\n }\n }\n .\\[\\&_ol\\]\\:pl-4 {\n & ol {\n padding-left: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_ol\\]\\:pl-5 {\n & ol {\n padding-left: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_p\\]\\:my-1 {\n & p {\n margin-block: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_p\\+p\\]\\:mt-\\[1em\\] {\n & p+p {\n margin-top: 1em;\n }\n }\n .\\[\\&_pre\\]\\:my-2 {\n & pre {\n margin-block: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_pre\\]\\:max-w-full {\n & pre {\n max-width: 100%;\n }\n }\n .\\[\\&_pre\\]\\:overflow-x-auto {\n & pre {\n overflow-x: auto;\n }\n }\n .\\[\\&_pre\\]\\:rounded {\n & pre {\n border-radius: 0.25rem;\n }\n }\n .\\[\\&_pre\\]\\:bg-gray-800 {\n & pre {\n background-color: var(--color-gray-800);\n }\n }\n .\\[\\&_pre\\]\\:p-2 {\n & pre {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_pre\\]\\:text-gray-100 {\n & pre {\n color: var(--color-gray-100);\n }\n }\n .\\[\\&_pre_code\\]\\:bg-transparent {\n & pre code {\n background-color: transparent;\n }\n }\n .\\[\\&_pre_code\\]\\:p-0 {\n & pre code {\n padding: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_pre_code\\]\\:break-words {\n & pre code {\n overflow-wrap: break-word;\n }\n }\n .\\[\\&_pre_code\\]\\:whitespace-pre-wrap {\n & pre code {\n white-space: pre-wrap;\n }\n }\n .\\[\\&_strong\\]\\:font-medium {\n & strong {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n .\\[\\&_svg\\]\\:size-4 {\n & svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_svg\\]\\:h-\\[12px\\] {\n & svg {\n height: 12px;\n }\n }\n .\\[\\&_svg\\]\\:h-\\[13px\\] {\n & svg {\n height: 13px;\n }\n }\n .\\[\\&_svg\\]\\:w-\\[12px\\] {\n & svg {\n width: 12px;\n }\n }\n .\\[\\&_svg\\]\\:w-\\[13px\\] {\n & svg {\n width: 13px;\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_table\\]\\:min-w-full {\n & table {\n min-width: 100%;\n }\n }\n .\\[\\&_table\\]\\:table-fixed {\n & table {\n table-layout: fixed;\n }\n }\n .\\[\\&_tbody_td\\]\\:px-\\[17px\\] {\n & tbody td {\n padding-inline: 17px;\n }\n }\n .\\[\\&_tbody_td\\]\\:py-0 {\n & tbody td {\n padding-block: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_tbody_td\\]\\:text-\\[12px\\] {\n & tbody td {\n font-size: 12px;\n }\n }\n .\\[\\&_tbody_td\\]\\:tabular-nums {\n & tbody td {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n }\n .\\[\\&_tbody_tr\\]\\:h-\\[53px\\] {\n & tbody tr {\n height: 53px;\n }\n }\n .\\[\\&_tbody_tr\\]\\:transition-colors {\n & tbody tr {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n }\n .\\[\\&_td\\]\\:border {\n & td {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .\\[\\&_td\\]\\:border-border {\n & td {\n border-color: var(--color-border);\n }\n }\n .\\[\\&_td\\]\\:border-neutral-10 {\n & td {\n border-color: var(--color-neutral-10);\n }\n }\n .\\[\\&_td\\]\\:border-neutral-200 {\n & td {\n border-color: var(--color-neutral-200);\n }\n }\n .\\[\\&_td\\]\\:p-1 {\n & td {\n padding: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_td\\]\\:p-2 {\n & td {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_td\\]\\:px-3 {\n & td {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&_td\\]\\:py-1\\.5 {\n & td {\n padding-block: calc(var(--spacing) * 1.5);\n }\n }\n .\\[\\&_th\\]\\:sticky {\n & th {\n position: sticky;\n }\n }\n .\\[\\&_th\\]\\:top-0 {\n & th {\n top: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_th\\]\\:z-\\[1\\] {\n & th {\n z-index: 1;\n }\n }\n .\\[\\&_th\\]\\:border {\n & th {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .\\[\\&_th\\]\\:border-border {\n & th {\n border-color: var(--color-border);\n }\n }\n .\\[\\&_th\\]\\:border-neutral-10 {\n & th {\n border-color: var(--color-neutral-10);\n }\n }\n .\\[\\&_th\\]\\:border-neutral-200 {\n & th {\n border-color: var(--color-neutral-200);\n }\n }\n .\\[\\&_th\\]\\:p-1 {\n & th {\n padding: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_th\\]\\:p-2 {\n & th {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_th\\]\\:px-3 {\n & th {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&_th\\]\\:py-1\\.5 {\n & th {\n padding-block: calc(var(--spacing) * 1.5);\n }\n }\n .\\[\\&_th\\]\\:py-2 {\n & th {\n padding-block: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_th\\]\\:text-\\[14px\\] {\n & th {\n font-size: 14px;\n }\n }\n .\\[\\&_th\\]\\:font-medium {\n & th {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&_th\\]\\:tracking-wide {\n & th {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n }\n }\n .\\[\\&_th\\]\\:uppercase {\n & th {\n text-transform: uppercase;\n }\n }\n .\\[\\&_th\\]\\:shadow-\\[inset_0_-1px_0_var\\(--border\\)\\] {\n & th {\n --tw-shadow: inset 0 -1px 0 var(--tw-shadow-color, var(--border));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .\\[\\&_thead_th\\]\\:sticky {\n & thead th {\n position: sticky;\n }\n }\n .\\[\\&_thead_th\\]\\:h-\\[48px\\] {\n & thead th {\n height: 48px;\n }\n }\n .\\[\\&_thead_th\\]\\:px-\\[17px\\] {\n & thead th {\n padding-inline: 17px;\n }\n }\n .\\[\\&_thead_th\\]\\:font-mono {\n & thead th {\n font-family: var(--font-mono);\n }\n }\n .\\[\\&_thead_th\\]\\:text-\\[10px\\] {\n & thead th {\n font-size: 10px;\n }\n }\n .\\[\\&_thead_th\\]\\:font-medium {\n & thead th {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&_thead_th\\]\\:tracking-\\[0\\.05em\\] {\n & thead th {\n --tw-tracking: 0.05em;\n letter-spacing: 0.05em;\n }\n }\n .\\[\\&_thead_th\\]\\:whitespace-nowrap {\n & thead th {\n white-space: nowrap;\n }\n }\n .\\[\\&_thead_th\\]\\:uppercase {\n & thead th {\n text-transform: uppercase;\n }\n }\n .\\[\\&_thead_th_div\\>button\\]\\:gap-\\[4px\\] {\n & thead th div>button {\n gap: 4px;\n }\n }\n .\\[\\&_thead_th_div\\>button\\]\\:\\!text-\\[10px\\] {\n & thead th div>button {\n font-size: 10px !important;\n }\n }\n .\\[\\&_thead_th_div\\>button\\]\\:hover\\:bg-transparent {\n & thead th div>button {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n }\n .\\[\\&_thead_th_div\\>button_svg\\]\\:h-\\[11px\\] {\n & thead th div>button svg {\n height: 11px;\n }\n }\n .\\[\\&_thead_th_div\\>button_svg\\]\\:w-\\[11px\\] {\n & thead th div>button svg {\n width: 11px;\n }\n }\n .\\[\\&_thead_tr\\]\\:bg-blue-50 {\n & thead tr {\n background-color: var(--color-blue-50);\n }\n }\n .\\[\\&_thead_tr\\]\\:bg-muted\\/50 {\n & thead tr {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n .\\[\\&_thead_tr\\]\\:bg-neutral-50 {\n & thead tr {\n background-color: var(--color-neutral-50);\n }\n }\n .\\[\\&_tr\\]\\:border-b {\n & tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .\\[\\&_tr\\:last-child\\]\\:border-0 {\n & tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .\\[\\&_ul\\]\\:my-1 {\n & ul {\n margin-block: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_ul\\]\\:list-inside {\n & ul {\n list-style-position: inside;\n }\n }\n .\\[\\&_ul\\]\\:list-disc {\n & ul {\n list-style-type: disc;\n }\n }\n .\\[\\&_ul\\]\\:pl-4 {\n & ul {\n padding-left: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_ul\\]\\:pl-5 {\n & ul {\n padding-left: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden {\n &::-webkit-scrollbar {\n display: none;\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar\\]\\:w-1\\.5 {\n &::-webkit-scrollbar {\n width: calc(var(--spacing) * 1.5);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar\\]\\:w-\\[6px\\] {\n &::-webkit-scrollbar {\n width: 6px;\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:rounded-full {\n &::-webkit-scrollbar-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:bg-slate-300 {\n &::-webkit-scrollbar-thumb {\n background-color: var(--color-slate-300);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar-track\\]\\:bg-transparent {\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0 {\n &:has([role=checkbox]) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .\\[\\.border-b\\]\\:pb-6 {\n &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 6);\n }\n }\n .\\[\\.border-t\\]\\:pt-6 {\n &:is(.border-t) {\n padding-top: calc(var(--spacing) * 6);\n }\n }\n .\\[\\&\\:last-child\\>td\\]\\:border-b-0 {\n &:last-child>td {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .\\[\\&\\>\\*\\]\\:m-0 {\n &>* {\n margin: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&\\>\\*\\]\\:shrink-0 {\n &>* {\n flex-shrink: 0;\n }\n }\n .\\[\\&\\>button\\]\\:hidden {\n &>button {\n display: none;\n }\n }\n .\\[\\&\\>button\\]\\:w-auto {\n &>button {\n width: auto;\n }\n }\n .\\[\\&\\>button\\]\\:cursor-not-allowed {\n &>button {\n cursor: not-allowed;\n }\n }\n .\\[\\&\\>button\\]\\:rounded-none\\! {\n &>button {\n border-radius: 0 !important;\n }\n }\n .\\[\\&\\>button\\]\\:bg-neutral-900 {\n &>button {\n background-color: var(--color-neutral-900);\n }\n }\n .\\[\\&\\>button\\]\\:bg-transparent\\! {\n &>button {\n background-color: transparent !important;\n }\n }\n .\\[\\&\\>button\\]\\:font-semibold {\n &>button {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&\\>button\\]\\:text-neutral-300 {\n &>button {\n color: var(--color-neutral-300);\n }\n }\n .\\[\\&\\>button\\]\\:text-neutral-900\\! {\n &>button {\n color: var(--color-neutral-900) !important;\n }\n }\n .\\[\\&\\>button\\]\\:text-white {\n &>button {\n color: var(--color-white);\n }\n }\n .\\[\\&\\>button\\]\\:line-through {\n &>button {\n text-decoration-line: line-through;\n }\n }\n .\\[\\&\\>button\\]\\:underline {\n &>button {\n text-decoration-line: underline;\n }\n }\n .\\[\\&\\>button\\]\\:decoration-2 {\n &>button {\n text-decoration-thickness: 2px;\n }\n }\n .\\[\\&\\>button\\]\\:underline-offset-4 {\n &>button {\n text-underline-offset: 4px;\n }\n }\n .\\[\\&\\>button\\]\\:hover\\:bg-neutral-900 {\n &>button {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-neutral-900);\n }\n }\n }\n }\n .\\[\\&\\>button\\]\\:hover\\:bg-transparent\\! {\n &>button {\n &:hover {\n @media (hover: hover) {\n background-color: transparent !important;\n }\n }\n }\n }\n .\\[\\&\\>button\\]\\:hover\\:text-neutral-900\\! {\n &>button {\n &:hover {\n @media (hover: hover) {\n color: var(--color-neutral-900) !important;\n }\n }\n }\n }\n .\\[\\&\\>button\\]\\:hover\\:text-white {\n &>button {\n &:hover {\n @media (hover: hover) {\n color: var(--color-white);\n }\n }\n }\n }\n .\\[\\&\\>button\\:last-child\\]\\:mt-0 {\n &>button:last-child {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&\\>div\\]\\:min-w-\\[200px\\] {\n &>div {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\]\\:flex-1 {\n &>div {\n flex: 1;\n }\n }\n .\\[\\&\\>div\\]\\:\\!rounded-none {\n &>div {\n border-radius: 0 !important;\n }\n }\n .\\[\\&\\>div\\]\\:\\!border-0 {\n &>div {\n border-style: var(--tw-border-style) !important;\n border-width: 0px !important;\n }\n }\n .\\[\\&\\>div\\]\\:\\!shadow-none {\n &>div {\n --tw-shadow: 0 0 #0000 !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n }\n .\\[\\&\\>div_label\\]\\:mb-2 {\n &>div label {\n margin-bottom: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>div_label\\]\\:block {\n &>div label {\n display: block;\n }\n }\n .\\[\\&\\>div_label\\]\\:text-sm {\n &>div label {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .\\[\\&\\>div_label\\]\\:font-medium {\n &>div label {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&\\>div_label\\]\\:text-gray-700 {\n &>div label {\n color: var(--color-gray-700);\n }\n }\n .\\[\\&\\>div\\:first-child\\]\\:min-w-\\[200px\\] {\n &>div:first-child {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\:first-child\\]\\:flex-1 {\n &>div:first-child {\n flex: 1;\n }\n }\n .\\[\\&\\>div\\:nth-child\\(2\\)\\]\\:min-w-\\[200px\\] {\n &>div:nth-child(2) {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\:nth-child\\(2\\)\\]\\:flex-1 {\n &>div:nth-child(2) {\n flex: 1;\n }\n }\n .\\[\\&\\>label\\]\\:mb-2 {\n &>label {\n margin-bottom: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>label\\]\\:block {\n &>label {\n display: block;\n }\n }\n .\\[\\&\\>label\\]\\:text-sm {\n &>label {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .\\[\\&\\>label\\]\\:font-medium {\n &>label {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&\\>label\\]\\:text-gray-700 {\n &>label {\n color: var(--color-gray-700);\n }\n }\n .max-\\[800px\\]\\:\\[\\&\\>li\\]\\:pb-4 {\n @media (width < 800px) {\n &>li {\n padding-bottom: calc(var(--spacing) * 4);\n }\n }\n }\n .\\[\\&\\>span\\]\\:line-clamp-1 {\n &>span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n }\n .\\[\\&\\>span\\:last-child\\]\\:truncate {\n &>span:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .\\[\\&\\>svg\\]\\:pointer-events-none {\n &>svg {\n pointer-events: none;\n }\n }\n .\\[\\&\\>svg\\]\\:size-3 {\n &>svg {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&\\>svg\\]\\:size-4 {\n &>svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\>svg\\]\\:h-3\\.5 {\n &>svg {\n height: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:h-\\[12px\\] {\n &>svg {\n height: 12px;\n }\n }\n .\\[\\&\\>svg\\]\\:w-3\\.5 {\n &>svg {\n width: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:w-\\[12px\\] {\n &>svg {\n width: 12px;\n }\n }\n .\\[\\&\\>svg\\]\\:shrink-0 {\n &>svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&\\>tbody\\>tr\\:last-child\\>td\\]\\:border-b-0 {\n &>tbody>tr:last-child>td {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .\\[\\&\\>td\\]\\:border-b-0 {\n &>td {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .\\[\\&\\>td\\]\\:p-2 {\n &>td {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>th\\]\\:sticky {\n &>th {\n position: sticky;\n }\n }\n .\\[\\&\\>th\\]\\:top-0 {\n &>th {\n top: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&\\>th\\]\\:z-10 {\n &>th {\n z-index: 10;\n }\n }\n .\\[\\&\\>th\\]\\:bg-muted {\n &>th {\n background-color: var(--color-muted);\n }\n }\n .\\[\\&\\>th\\]\\:bg-muted\\/70 {\n &>th {\n background-color: color-mix(in srgb, #f7f7f6 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 70%, transparent);\n }\n }\n }\n .\\[\\&\\>th\\]\\:p-2 {\n &>th {\n padding: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>th\\]\\:text-left {\n &>th {\n text-align: left;\n }\n }\n .\\[\\&\\>th\\]\\:font-semibold {\n &>th {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&\\>tr\\]\\:last\\:border-b-0 {\n &>tr {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n .\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180 {\n &[data-state=open]>svg {\n rotate: 180deg;\n }\n }\n .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2 {\n [data-side=left][data-collapsible=offcanvas] & {\n right: calc(var(--spacing) * -2);\n }\n }\n .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize {\n [data-side=left][data-state=collapsed] & {\n cursor: e-resize;\n }\n }\n .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2 {\n [data-side=right][data-collapsible=offcanvas] & {\n left: calc(var(--spacing) * -2);\n }\n }\n .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize {\n [data-side=right][data-state=collapsed] & {\n cursor: w-resize;\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-accent {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-destructive\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-green-200 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-green-200);\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-primary\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-secondary\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:text-accent-foreground {\n a& {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n }\n .\\[table\\[data-flush\\]_\\&\\:last-child\\>td\\:first-child\\]\\:rounded-bl-\\[13px\\] {\n table[data-flush] &:last-child>td:first-child {\n border-bottom-left-radius: 13px;\n }\n }\n .\\[table\\[data-flush\\]_\\&\\:last-child\\>td\\:last-child\\]\\:rounded-br-\\[13px\\] {\n table[data-flush] &:last-child>td:last-child {\n border-bottom-right-radius: 13px;\n }\n }\n}\n@layer base {\n :root,\n :host {\n font-family: 'Inter', sans-serif;\n }\n}\n@property --tw-border-spacing-x {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-spacing-y {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-scroll-snap-strictness {\n syntax: \"*\";\n inherits: false;\n initial-value: proximity;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-scroll-snap-strictness: proximity;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: \"\";\n }\n }\n}\n";
2798
3928
 
2799
3929
  /**
2800
3930
  * Global stylesheet registry (shared across independently-bundled SDKs via
@@ -7636,20 +8766,33 @@ const renderImageBlock = (block) => {
7636
8766
  if (!block.props.url || !isSafeImageUrl(block.props.url)) {
7637
8767
  return null;
7638
8768
  }
8769
+ // The step's rows grow to fit their content, and an `<img>` grid item
8770
+ // contributes its natural aspect-ratio height — a banner area holding a
8771
+ // square photo would grow to the photo instead of cropping it. Taking the
8772
+ // image out of flow leaves the wrapper nothing to contribute, so the image
8773
+ // fills exactly the cells it was placed in.
8774
+ const wrapper = document.createElement('div');
8775
+ applyStyles(wrapper, { position: 'relative', width: '100%', height: '100%' });
7639
8776
  const el = document.createElement('img');
7640
8777
  el.src = block.props.url;
7641
8778
  el.alt = (_a = block.props.alt) !== null && _a !== void 0 ? _a : '';
7642
8779
  applyStyles(el, {
8780
+ position: 'absolute',
8781
+ top: '0',
8782
+ left: '0',
7643
8783
  width: '100%',
7644
8784
  height: '100%',
7645
8785
  'object-fit': 'cover',
7646
8786
  display: 'block',
7647
8787
  'border-radius': block.props.borderRadius,
7648
8788
  });
7649
- return el;
8789
+ wrapper.appendChild(el);
8790
+ return wrapper;
7650
8791
  };
7651
8792
 
7652
- const renderPhoneInputBlock = (block) => {
8793
+ // eslint-disable-next-line @nx/enforce-module-boundaries
8794
+ const COUNTRIES = Object.keys(COUNTRY_DIAL_CODES).sort();
8795
+ const renderPhoneInputBlock = (block, ctx) => {
7653
8796
  const wrapper = document.createElement('div');
7654
8797
  applyStyles(wrapper, { 'margin-bottom': '0.5em' });
7655
8798
  if (block.props.label) {
@@ -7671,38 +8814,71 @@ const renderPhoneInputBlock = (block) => {
7671
8814
  }
7672
8815
  const row = document.createElement('div');
7673
8816
  applyStyles(row, { display: 'flex' });
7674
- if (block.props.defaultCountry) {
7675
- const prefix = document.createElement('span');
7676
- prefix.textContent = block.props.defaultCountry;
7677
- applyStyles(prefix, {
7678
- padding: '0.625em 0.75em',
7679
- border: '1px solid #d1d5db',
7680
- 'border-radius': '0.375em 0 0 0.375em',
7681
- 'border-right': 'none',
7682
- background: '#f9fafb',
7683
- 'font-size': '0.875em',
7684
- color: '#6b7280',
7685
- });
7686
- row.appendChild(prefix);
7687
- }
8817
+ // Geo first unless the merchant pinned the country, then whatever they
8818
+ // configured, then the fallback — so an unknown country never leaves the
8819
+ // picker blank.
8820
+ const initialCountry = block.props.useShopperCountry === false
8821
+ ? resolveCountry(block.props.defaultCountry)
8822
+ : resolveCountry(ctx.geoCountry, block.props.defaultCountry);
8823
+ // Deliberately unnamed. `collectFormData` collects every named input and
8824
+ // select, and the country is an input to the phone value rather than a field
8825
+ // of its own — naming it would forward a stray key to the leads backend.
8826
+ const country = document.createElement('select');
8827
+ country.setAttribute('aria-label', 'Country calling code');
8828
+ for (const iso of COUNTRIES) {
8829
+ const option = document.createElement('option');
8830
+ option.value = iso;
8831
+ option.textContent = `${iso} +${COUNTRY_DIAL_CODES[iso]}`;
8832
+ country.appendChild(option);
8833
+ }
8834
+ country.value = initialCountry;
8835
+ applyStyles(country, {
8836
+ padding: '0.5em',
8837
+ border: '1px solid #d1d5db',
8838
+ 'border-right': 'none',
8839
+ 'border-radius': '0.375em 0 0 0.375em',
8840
+ background: '#f9fafb',
8841
+ 'font-size': '0.875em',
8842
+ color: '#374151',
8843
+ 'font-family': 'inherit',
8844
+ });
8845
+ row.appendChild(country);
8846
+ // Also unnamed: the canonical E.164 value is submitted from the hidden input
8847
+ // below, so every lead carries one shape whatever the shopper typed.
7688
8848
  const input = document.createElement('input');
7689
8849
  input.type = 'tel';
7690
- input.name = 'phone';
7691
8850
  input.autocomplete = 'tel';
7692
8851
  input.inputMode = 'tel';
7693
8852
  input.placeholder = block.props.placeholder;
7694
8853
  input.required = block.props.required;
7695
8854
  applyStyles(input, {
7696
8855
  flex: '1',
8856
+ 'min-width': '0',
7697
8857
  padding: '0.625em 0.75em',
7698
8858
  border: '1px solid #d1d5db',
7699
- 'border-radius': block.props.defaultCountry
7700
- ? '0 0.375em 0.375em 0'
7701
- : '0.375em',
8859
+ 'border-radius': '0 0.375em 0.375em 0',
7702
8860
  'font-size': '0.875em',
7703
8861
  });
7704
8862
  row.appendChild(input);
7705
8863
  wrapper.appendChild(row);
8864
+ const canonical = document.createElement('input');
8865
+ canonical.type = 'hidden';
8866
+ canonical.name = 'phone';
8867
+ wrapper.appendChild(canonical);
8868
+ attachFieldValidation({
8869
+ input,
8870
+ wrapper,
8871
+ root: ctx.popupRoot,
8872
+ check: phoneCheck(() => dialCode(country.value), block.props.invalidMessage, block.props.required),
8873
+ onValue: (value) => {
8874
+ canonical.value = toE164(value, dialCode(country.value));
8875
+ },
8876
+ });
8877
+ // Changing the country changes what counts as valid, so a number already
8878
+ // typed is re-judged rather than left showing a stale verdict.
8879
+ country.addEventListener('change', () => {
8880
+ input.dispatchEvent(new Event('input'));
8881
+ });
7706
8882
  return wrapper;
7707
8883
  };
7708
8884
 
@@ -7713,6 +8889,8 @@ const renderPhoneInputBlock = (block) => {
7713
8889
  // card unmounting must not cancel the request other cards are awaiting.
7714
8890
  const productCache = new Map();
7715
8891
  const inFlight = new Map();
8892
+ /** Synchronous cache read, so a warmed product can render on the first paint. */
8893
+ const getCachedProduct = (handle) => productCache.get(handle);
7716
8894
  const fetchProduct = (handle) => {
7717
8895
  const cached = productCache.get(handle);
7718
8896
  if (cached) {
@@ -7739,6 +8917,7 @@ const fetchProduct = (handle) => {
7739
8917
  inFlight.set(handle, promise);
7740
8918
  return promise;
7741
8919
  };
8920
+
7742
8921
  const renderProductCardBlock = (block) => {
7743
8922
  var _a, _b, _c;
7744
8923
  const card = document.createElement('div');
@@ -8059,7 +9238,20 @@ const renderTestimonialBlock = (block) => {
8059
9238
  return wrapper;
8060
9239
  };
8061
9240
 
9241
+ // eslint-disable-next-line @nx/enforce-module-boundaries
9242
+ /** One resolve pass; containers recurse through here, so nesting is covered. */
8062
9243
  const renderBlock = (block, ctx) => {
9244
+ var _a;
9245
+ const resolved = ctx.tokens
9246
+ ? resolveBlockProps(block, ctx.tokens.values)
9247
+ : block;
9248
+ const el = dispatchBlock(resolved, ctx);
9249
+ if (el && ((_a = ctx.tokens) === null || _a === void 0 ? void 0 : _a.onBlockRendered)) {
9250
+ ctx.tokens.onBlockRendered(block, el);
9251
+ }
9252
+ return el;
9253
+ };
9254
+ const dispatchBlock = (block, ctx) => {
8063
9255
  switch (block.type) {
8064
9256
  case 'heading':
8065
9257
  return renderHeadingBlock(block);
@@ -8074,7 +9266,7 @@ const renderBlock = (block, ctx) => {
8074
9266
  case 'email-input':
8075
9267
  return renderEmailInputBlock(block, ctx);
8076
9268
  case 'phone-input':
8077
- return renderPhoneInputBlock(block);
9269
+ return renderPhoneInputBlock(block, ctx);
8078
9270
  case 'consent':
8079
9271
  return renderConsentBlock(block);
8080
9272
  case 'countdown':
@@ -8096,7 +9288,7 @@ const renderBlock = (block, ctx) => {
8096
9288
  case 'radio-group':
8097
9289
  return renderRadioGroupBlock(block);
8098
9290
  case 'form-input':
8099
- return renderFormInputBlock(block);
9291
+ return renderFormInputBlock(block, ctx);
8100
9292
  case 'floating-image':
8101
9293
  return renderFloatingImageBlock(block);
8102
9294
  case 'product-card':
@@ -8166,6 +9358,11 @@ const pickStep = (rule) => {
8166
9358
  const renderStep = (step, ctx) => {
8167
9359
  var _a, _b, _c, _d;
8168
9360
  const isMobile = isMobileViewport();
9361
+ // An inline form is sized by whatever section the merchant dropped it into,
9362
+ // so it is laid out fluidly rather than as the fixed box every floating
9363
+ // format gets, and it comes back wrapped in the element its rows measure
9364
+ // against. The blocks and their placement are identical either way.
9365
+ const isInline = isInlineRule(ctx.rule);
8169
9366
  const container = document.createElement('div');
8170
9367
  applyStyles(container, {
8171
9368
  ...rootStyleToCss(step.rootStyle, ctx.theme),
@@ -8176,18 +9373,46 @@ const renderStep = (step, ctx) => {
8176
9373
  'grid-auto-rows': 'minmax(8px, auto)',
8177
9374
  'box-sizing': 'border-box',
8178
9375
  // A block taller than the rows it was given is clipped to the popup rather
8179
- // than escaping it and floating over the merchant's page.
8180
- overflow: 'hidden',
9376
+ // than escaping it and floating over the merchant's page. An inline form
9377
+ // has no such edge to escape, and clipping it would cut off its own fields
9378
+ // as soon as the rows reflow in a column narrower than the canvas.
9379
+ overflow: isInline ? 'visible' : 'hidden',
8181
9380
  });
8182
- if (step.popupDimensions) {
8183
- const size = isMobile
9381
+ const size = step.popupDimensions
9382
+ ? isMobile
8184
9383
  ? step.popupDimensions.mobile
8185
- : step.popupDimensions.desktop;
8186
- applyStyles(container, {
8187
- width: `${size.width}px`,
8188
- height: `${size.height}px`,
8189
- 'grid-auto-rows': `${size.width / CANVAS_COLS}px`,
8190
- });
9384
+ : step.popupDimensions.desktop
9385
+ : undefined;
9386
+ if (size) {
9387
+ applyStyles(container, isInline
9388
+ ? {
9389
+ // The authored width becomes a ceiling, not a box: the form fills a
9390
+ // narrow footer column and stops growing past the size it was
9391
+ // designed at. Height stays automatic, because content that
9392
+ // reflows into more rows must not be cut off.
9393
+ width: '100%',
9394
+ // Rows track the width the form actually got, so a design squeezed
9395
+ // into a narrow column keeps its proportions instead of collapsing
9396
+ // to content. Leaving this at the `minmax(8px, auto)` default took
9397
+ // a 4-row spacer on a 480 canvas from 160px to 32px. `100cqw`
9398
+ // resolves against the wrapper added below — a grid cannot query
9399
+ // its own width — and `auto` as the ceiling keeps a block whose
9400
+ // content reflows taller from being clipped.
9401
+ 'grid-auto-rows': `minmax(calc(100cqw / ${CANVAS_COLS}), auto)`,
9402
+ }
9403
+ : {
9404
+ // The configured height and row height are a floor, not a cap. A
9405
+ // block whose content is taller than the rows it was given — a
9406
+ // labelled input showing a validation message, most often — grows
9407
+ // its row and pushes the rest down, instead of spilling over the
9408
+ // block beneath it. A popup whose blocks all fit is laid out
9409
+ // exactly as before: `align-content: start` stops auto rows
9410
+ // stretching to fill the min-height, which fixed rows never did.
9411
+ width: `${size.width}px`,
9412
+ 'min-height': `${size.height}px`,
9413
+ 'grid-auto-rows': `minmax(${size.width / CANVAS_COLS}px, auto)`,
9414
+ 'align-content': 'start',
9415
+ });
8191
9416
  }
8192
9417
  for (const block of step.blocks) {
8193
9418
  if (!isBlockVisible(block, isMobile)) {
@@ -8197,6 +9422,16 @@ const renderStep = (step, ctx) => {
8197
9422
  if (!el) {
8198
9423
  continue;
8199
9424
  }
9425
+ // Image blocks take their <img> out of flow so a photo can't grow the
9426
+ // configured rows. Without configured rows the photo's own height is the
9427
+ // only thing sizing them, so it goes back in flow.
9428
+ if (!step.popupDimensions &&
9429
+ (block.type === 'image' || block.type === 'floating-image')) {
9430
+ const img = el.firstElementChild;
9431
+ if (img) {
9432
+ img.style.position = 'static';
9433
+ }
9434
+ }
8200
9435
  const coords = resolveCoords(block.props, isMobile);
8201
9436
  // Blocks size themselves with width/height 100% and add their own padding
8202
9437
  // and border, so content-box makes them wider than the cells they occupy.
@@ -8212,7 +9447,21 @@ const renderStep = (step, ctx) => {
8212
9447
  applyBlockAnimation(block, el);
8213
9448
  container.appendChild(el);
8214
9449
  }
8215
- return container;
9450
+ if (!isInline || !size) {
9451
+ return container;
9452
+ }
9453
+ // The width ceiling moves out to a wrapper so the grid has something to query
9454
+ // for `cqw`. `rootStyleToCss` writes no padding and no border, so the
9455
+ // wrapper's content box is exactly the grid's width and one column is the
9456
+ // same size the builder canvas showed.
9457
+ const fluid = document.createElement('div');
9458
+ applyStyles(fluid, {
9459
+ width: '100%',
9460
+ 'max-width': `${size.width}px`,
9461
+ 'container-type': 'inline-size',
9462
+ });
9463
+ fluid.appendChild(container);
9464
+ return fluid;
8216
9465
  };
8217
9466
 
8218
9467
  // Stays below blotout-consent banner's 999999 so the legally-required
@@ -8258,8 +9507,9 @@ const CORNER_TRANSFORM_ORIGIN = {
8258
9507
  'bottom-right': 'bottom right',
8259
9508
  };
8260
9509
 
9510
+ // eslint-disable-next-line @nx/enforce-module-boundaries
8261
9511
  const TEASER_PREFIX = 'blotoutPopup:teaser:';
8262
- const renderTeaser = (rule, onReopen) => {
9512
+ const renderTeaser = (rule, tokenValues, onReopen) => {
8263
9513
  var _a, _b, _c, _d, _e;
8264
9514
  if (!((_a = rule.teaser) === null || _a === void 0 ? void 0 : _a.enabled)) {
8265
9515
  return null;
@@ -8304,7 +9554,8 @@ const renderTeaser = (rule, onReopen) => {
8304
9554
  chip.appendChild(icon);
8305
9555
  }
8306
9556
  const text = document.createElement('span');
8307
- text.textContent = teaser.text;
9557
+ // Teaser sits outside the block tree, so the dispatcher never sees it.
9558
+ text.textContent = resolveTokens(teaser.text, tokenValues, teaser.tokenFallbacks);
8308
9559
  chip.appendChild(text);
8309
9560
  const close = document.createElement('button');
8310
9561
  close.type = 'button';
@@ -8334,6 +9585,263 @@ const renderTeaser = (rule, onReopen) => {
8334
9585
  return chip;
8335
9586
  };
8336
9587
 
9588
+ // eslint-disable-next-line @nx/enforce-module-boundaries
9589
+ // From the registry, so a third product token is swapped as well as fetched.
9590
+ const PRODUCT_TOKEN_IDS = new Set(TOKENS.filter((token) => token.tier === 'product').map((token) => token.id));
9591
+ // `{{lastViewedProduct.price}}` belongs to the same fetch as its bare form.
9592
+ const isProductToken = (id) => PRODUCT_TOKEN_IDS.has(tokenBaseId(id));
9593
+ // Shopify's shape, flattened to the registry's field names. First variant,
9594
+ // same as product-card.
9595
+ const fieldValues = (product) => {
9596
+ var _a;
9597
+ const variant = (_a = product.variants) === null || _a === void 0 ? void 0 : _a[0];
9598
+ return {
9599
+ title: product.title,
9600
+ price: variant === null || variant === void 0 ? void 0 : variant.price,
9601
+ compareAtPrice: variant === null || variant === void 0 ? void 0 : variant.compare_at_price,
9602
+ vendor: product.vendor,
9603
+ type: product.product_type,
9604
+ };
9605
+ };
9606
+ // A dropdown renders labels as `optEl.textContent` (blocks/dropdown.ts:29), so
9607
+ // wrapping a token there would put a span inside an `<option>`.
9608
+ const rejectsChildren = (node) => { var _a; return ((_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === 'OPTION'; };
9609
+ const ATTRS = ['placeholder', 'alt'];
9610
+ // Exact match wins over a containing one: a token-only prop resolves to a
9611
+ // short phrase ("this item") that static copy nearby may also contain.
9612
+ const findTextNode = (root, needle) => {
9613
+ if (needle === '') {
9614
+ return null;
9615
+ }
9616
+ const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT);
9617
+ let contains = null;
9618
+ let node = walker.nextNode();
9619
+ while (node) {
9620
+ const value = node.nodeValue;
9621
+ if (value === needle) {
9622
+ return node;
9623
+ }
9624
+ if (!contains && (value === null || value === void 0 ? void 0 : value.includes(needle))) {
9625
+ contains = node;
9626
+ }
9627
+ node = walker.nextNode();
9628
+ }
9629
+ return contains;
9630
+ };
9631
+ /** Cuts [start, end) out of `node` into its own span. */
9632
+ const wrapRange = (node, start, end) => {
9633
+ // The tail stays a sibling; `node` is left holding everything before it.
9634
+ node.splitText(end);
9635
+ const value = node.splitText(start);
9636
+ const el = document.createElement('span');
9637
+ value.replaceWith(el);
9638
+ el.appendChild(value);
9639
+ return el;
9640
+ };
9641
+ /**
9642
+ * Wraps each product token's value in its own span.
9643
+ *
9644
+ * Right-to-left, so splitting the tail never shifts an earlier offset.
9645
+ */
9646
+ const markSpans = (node, rendered, spans, fallbacks, into, raw) => {
9647
+ var _a, _b;
9648
+ const base = (_b = (_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.indexOf(rendered)) !== null && _b !== void 0 ? _b : -1;
9649
+ if (base < 0) {
9650
+ return;
9651
+ }
9652
+ if (rejectsChildren(node)) {
9653
+ into.push({ kind: 'text', node, raw, fallbacks });
9654
+ return;
9655
+ }
9656
+ for (const span of [...spans].reverse()) {
9657
+ if (span.end <= span.start) {
9658
+ continue;
9659
+ }
9660
+ const el = wrapRange(node, base + span.start, base + span.end);
9661
+ into.push({ kind: 'span', el, id: span.id, fallbacks });
9662
+ }
9663
+ };
9664
+ /**
9665
+ * Fallback when the copy is not contiguous — a renderer split the line across
9666
+ * nodes. Marks each token's own value wherever it landed.
9667
+ */
9668
+ const markEach = (root, spans, values, fallbacks, into, raw) => {
9669
+ var _a, _b;
9670
+ let any = false;
9671
+ for (const span of spans) {
9672
+ const value = resolveToken(span.id, values, fallbacks);
9673
+ const node = findTextNode(root, value);
9674
+ const at = (_b = (_a = node === null || node === void 0 ? void 0 : node.nodeValue) === null || _a === void 0 ? void 0 : _a.indexOf(value)) !== null && _b !== void 0 ? _b : -1;
9675
+ if (!node || at < 0) {
9676
+ continue;
9677
+ }
9678
+ if (rejectsChildren(node)) {
9679
+ into.push({ kind: 'text', node, raw, fallbacks });
9680
+ any = true;
9681
+ continue;
9682
+ }
9683
+ const el = wrapRange(node, at, at + value.length);
9684
+ into.push({ kind: 'span', el, id: span.id, fallbacks });
9685
+ any = true;
9686
+ }
9687
+ return any;
9688
+ };
9689
+ const markAttrs = (root, rendered, raw, fallbacks, into) => {
9690
+ const check = (el) => {
9691
+ for (const attr of ATTRS) {
9692
+ if (el.getAttribute(attr) === rendered) {
9693
+ into.push({ kind: 'attr', el, attr, raw, fallbacks });
9694
+ }
9695
+ }
9696
+ };
9697
+ check(root);
9698
+ root.querySelectorAll('*').forEach(check);
9699
+ };
9700
+ // Which handle answers which token on this page.
9701
+ const productSources = (signals, lastViewedHandle) => [
9702
+ ['productName', signals['page.productHandle']],
9703
+ ['lastViewedProduct', lastViewedHandle],
9704
+ ];
9705
+ /** True when a rule's copy references a product-tier token. */
9706
+ const needsProductRead = (rules) => rules.some((rule) => tokensInTier(collectRuleTokens(rule), 'product').length > 0);
9707
+ /**
9708
+ * Warms `productCache` before the gate runs, so the popup opens on real values
9709
+ * instead of opening on fallbacks and visibly rewriting itself ~600ms later.
9710
+ *
9711
+ * Never rejects, and never waits past the deadline: a slow or dead Shopify
9712
+ * answers with the fallback copy, exactly as it did before.
9713
+ */
9714
+ const warmProductTokens = (signals, lastViewedHandle, timeoutMs) => {
9715
+ const reads = productSources(signals, lastViewedHandle)
9716
+ .map(([, handle]) => handle)
9717
+ .filter((handle) => !!handle)
9718
+ .map((handle) => fetchProduct(handle));
9719
+ if (!reads.length) {
9720
+ return Promise.resolve();
9721
+ }
9722
+ return new Promise((resolve) => {
9723
+ const timer = setTimeout(resolve, timeoutMs);
9724
+ void Promise.all(reads).then(() => {
9725
+ clearTimeout(timer);
9726
+ resolve();
9727
+ });
9728
+ });
9729
+ };
9730
+ /**
9731
+ * Seeds values from the warmed cache, then swaps anything that lands later.
9732
+ *
9733
+ * The swap is the safety net now, not the normal path: a click trigger three
9734
+ * navigations after the warm-up still gets its title this way.
9735
+ */
9736
+ const attachProductTokens = (tokens, signals,
9737
+ /** Product viewed BEFORE this page; init records the current one at load. */
9738
+ lastViewedHandle) => {
9739
+ const marked = [];
9740
+ tokens.onBlockRendered = (block, el) => {
9741
+ const props = block.props;
9742
+ if (!props) {
9743
+ return;
9744
+ }
9745
+ const fallbacks = props['tokenFallbacks'];
9746
+ // `tokenTextsOf` covers `options[].label`, which `resolveProps` resolves
9747
+ // but a TOKEN_TEXT_PROPS-only scan left stuck on its fallback forever.
9748
+ for (const raw of tokenTextsOf(props)) {
9749
+ if (!collectTokens(raw).some(isProductToken)) {
9750
+ continue;
9751
+ }
9752
+ const { text: rendered, spans } = resolveTokenSpans(raw, tokens.values, fallbacks);
9753
+ const product = spans.filter((span) => isProductToken(span.id));
9754
+ if (!product.length) {
9755
+ continue;
9756
+ }
9757
+ const node = findTextNode(el, rendered);
9758
+ if (node) {
9759
+ markSpans(node, rendered, product, fallbacks, marked, raw);
9760
+ continue;
9761
+ }
9762
+ // The line is not in one piece. Mark each token's own value instead.
9763
+ if (markEach(el, product, tokens.values, fallbacks, marked, raw)) {
9764
+ continue;
9765
+ }
9766
+ // Not in any text node — the renderer put it in an attribute.
9767
+ markAttrs(el, rendered, raw, fallbacks, marked);
9768
+ }
9769
+ };
9770
+ const setValues = (base, product) => {
9771
+ const resolved = fieldValues(product);
9772
+ let changed = false;
9773
+ const set = (key, value) => {
9774
+ if (!value || tokens.values[key] === value) {
9775
+ return;
9776
+ }
9777
+ tokens.values[key] = value;
9778
+ changed = true;
9779
+ };
9780
+ // Bare `{{productName}}` stays the title; the dotted forms carry the rest.
9781
+ set(base, resolved.title);
9782
+ for (const field of PRODUCT_FIELDS) {
9783
+ set(`${base}.${field}`, resolved[field]);
9784
+ }
9785
+ return changed;
9786
+ };
9787
+ const apply = (base, product) => {
9788
+ if (!setValues(base, product)) {
9789
+ return;
9790
+ }
9791
+ for (const mark of marked) {
9792
+ if (mark.kind === 'text') {
9793
+ // Same guard as product-card.ts:70.
9794
+ if (mark.node.isConnected) {
9795
+ mark.node.nodeValue = resolveTokens(mark.raw, tokens.values, mark.fallbacks);
9796
+ }
9797
+ continue;
9798
+ }
9799
+ // Same guard as product-card.ts:70.
9800
+ if (!mark.el.isConnected) {
9801
+ continue;
9802
+ }
9803
+ if (mark.kind === 'span') {
9804
+ const next = resolveToken(mark.id, tokens.values, mark.fallbacks);
9805
+ if (mark.el.textContent !== next) {
9806
+ mark.el.textContent = next;
9807
+ }
9808
+ continue;
9809
+ }
9810
+ const next = resolveTokens(mark.raw, tokens.values, mark.fallbacks);
9811
+ if (mark.el.getAttribute(mark.attr) !== next) {
9812
+ mark.el.setAttribute(mark.attr, next);
9813
+ }
9814
+ }
9815
+ };
9816
+ const sources = productSources(signals, lastViewedHandle);
9817
+ // Warmed by `warmProductTokens` before the gate: seed synchronously so the
9818
+ // first paint is already right and nothing visibly changes.
9819
+ for (const [id, handle] of sources) {
9820
+ const cached = handle ? getCachedProduct(handle) : undefined;
9821
+ if (cached) {
9822
+ setValues(id, cached);
9823
+ }
9824
+ }
9825
+ for (const [id, handle] of sources) {
9826
+ if (!handle) {
9827
+ continue;
9828
+ }
9829
+ // A failed fetch leaves the fallback in place, and nothing retries.
9830
+ void fetchProduct(handle).then((product) => {
9831
+ if (product) {
9832
+ apply(id, product);
9833
+ }
9834
+ });
9835
+ }
9836
+ // `showStep` re-renders the tree per step; without this the detached
9837
+ // subtrees stay retained here.
9838
+ return {
9839
+ resetPending: () => {
9840
+ marked.length = 0;
9841
+ },
9842
+ };
9843
+ };
9844
+
8337
9845
  // eslint-disable-next-line no-duplicate-imports -- side-effect: registers <bop-popup>
8338
9846
  const createOverlayCloseButton = (onClose) => {
8339
9847
  const btn = document.createElement('button');
@@ -8447,6 +9955,26 @@ const wrapFullscreenTakeover = (rule, popupRoot, inner) => {
8447
9955
  popupRoot.contentRoot.appendChild(inner);
8448
9956
  };
8449
9957
 
9958
+ /**
9959
+ * The one format that is not a floating layer.
9960
+ *
9961
+ * Every other wrapper pins the host with `position: fixed` and `Z_INDEX` and
9962
+ * appends an overlay close button. This one writes neither: the host element
9963
+ * already defaults to `:host { display: block }`, so leaving its positioning
9964
+ * alone is what puts the form in the merchant's normal page flow, taking real
9965
+ * layout space and reflowing with the section that holds it. There is no close
9966
+ * control because an inline form is not a dismissible surface.
9967
+ */
9968
+ const wrapInline = (rule, popupRoot, inner) => {
9969
+ var _a;
9970
+ const display = rule.display;
9971
+ inner.style.width = '100%';
9972
+ // Defaults to no animation: the floating formats animate because they arrive
9973
+ // over the page, while this one is part of the page from first paint.
9974
+ applyPopupAnimation(inner, (_a = display.animation) !== null && _a !== void 0 ? _a : 'none');
9975
+ popupRoot.contentRoot.appendChild(inner);
9976
+ };
9977
+
8450
9978
  const FOCUSABLE = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
8451
9979
  // Asked of the DOM rather than closed over, because `showStep` replaces the
8452
9980
  // whole subtree on every step change — a captured reference would point at the
@@ -8683,7 +10211,8 @@ const MIN_FIT_SCALE = 0.1;
8683
10211
  // behind the step container's `overflow: hidden`.
8684
10212
  const fitScale = (inner) => {
8685
10213
  const width = pxSize(inner.style.width);
8686
- const height = pxSize(inner.style.height);
10214
+ // step.ts sets the configured height as a floor, so it lands on min-height.
10215
+ const height = pxSize(inner.style.height || inner.style.minHeight);
8687
10216
  if (!(width > 0) || !(height > 0)) {
8688
10217
  return undefined;
8689
10218
  }
@@ -8748,6 +10277,7 @@ const wrapSlideIn = (rule, popupRoot, inner) => {
8748
10277
 
8749
10278
  // eslint-disable-next-line @nx/enforce-module-boundaries
8750
10279
  const renderPopup = (rule, signals, options = {}) => {
10280
+ var _a;
8751
10281
  const { sendTag, getEdgeData, sendEdgeData, baseUrl, userId } = options;
8752
10282
  const { variantId, content } = selectVariant(rule, userId !== null && userId !== void 0 ? userId : '');
8753
10283
  const effRule = { ...rule, content };
@@ -8761,6 +10291,17 @@ const renderPopup = (rule, signals, options = {}) => {
8761
10291
  // Resolve once so every block, wrapper and CSS variable sees the same
8762
10292
  // complete theme — a rule may carry a partial theme, or none at all.
8763
10293
  const theme = resolveTheme(effRule.theme);
10294
+ // One map per instance; the product tier mutates it after render.
10295
+ const tokens = {
10296
+ values: { ...signalTokenValues(signals), ...((_a = options.tokenValues) !== null && _a !== void 0 ? _a : {}) },
10297
+ };
10298
+ // Only when the copy asks for a product. `variants` stripped first:
10299
+ // `selectVariant` already picked the content that renders.
10300
+ let resetTokenSwaps;
10301
+ const renderedTokens = collectRuleTokens({ ...effRule, variants: undefined });
10302
+ if (tokensInTier(renderedTokens, 'product').length > 0) {
10303
+ resetTokenSwaps = attachProductTokens(tokens, signals, options.lastViewedProduct).resetPending;
10304
+ }
8764
10305
  // Custom properties inherit through the shadow boundary, so setting them on
8765
10306
  // the host is what lets blocks and the merchant's rule CSS read the theme.
8766
10307
  applyStyles(popupRoot, themeCssVars(theme));
@@ -8769,6 +10310,8 @@ const renderPopup = (rule, signals, options = {}) => {
8769
10310
  }
8770
10311
  const showStep = (step) => {
8771
10312
  popupRoot.contentRoot.replaceChildren();
10313
+ // Previous step's elements are detached; drop their swap entries.
10314
+ resetTokenSwaps === null || resetTokenSwaps === void 0 ? void 0 : resetTokenSwaps();
8772
10315
  const ctx = {
8773
10316
  rule: effRule,
8774
10317
  popupRoot,
@@ -8782,6 +10325,10 @@ const renderPopup = (rule, signals, options = {}) => {
8782
10325
  userId,
8783
10326
  variantId,
8784
10327
  leadState,
10328
+ tokens,
10329
+ geoCountry: typeof signals['location.country'] === 'string'
10330
+ ? signals['location.country']
10331
+ : undefined,
8785
10332
  };
8786
10333
  const inner = renderStep(step, ctx);
8787
10334
  switch (effRule.display.format) {
@@ -8800,6 +10347,9 @@ const renderPopup = (rule, signals, options = {}) => {
8800
10347
  case 'fullscreenTakeover':
8801
10348
  wrapFullscreenTakeover(effRule, popupRoot, inner);
8802
10349
  return;
10350
+ case 'inline':
10351
+ wrapInline(effRule, popupRoot, inner);
10352
+ return;
8803
10353
  }
8804
10354
  };
8805
10355
  popupRoot.addEventListener('blotoutPopup:gotostep', ((e) => {
@@ -8816,6 +10366,15 @@ const renderPopup = (rule, signals, options = {}) => {
8816
10366
  popupRoot.addEventListener('blotoutPopup:dismiss', ((e) => {
8817
10367
  var _a, _b;
8818
10368
  const source = (_b = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.source) !== null && _b !== void 0 ? _b : 'closeButton';
10369
+ // An inline form is not a dismissible surface. Nothing in this handler
10370
+ // applies to it: there is no fatigue to record for a rule that is never
10371
+ // fatigue-gated, and no teaser to offer for something that was never a
10372
+ // popup. Reachable only if a merchant drops a close-button block onto the
10373
+ // canvas before switching the rule to inline; `triggerDismiss` leaves the
10374
+ // host in its anchor, so the click does nothing at all.
10375
+ if (isInlineRule(rule)) {
10376
+ return;
10377
+ }
8819
10378
  setDismissed(rule.id, rule.fatigue.suppressAfterDismiss);
8820
10379
  persistRuleEvent(rule, 'dismiss', getEdgeData, sendEdgeData);
8821
10380
  // A post-convert auto-close already fired blotoutPopupConvert; only an explicit
@@ -8831,7 +10390,7 @@ const renderPopup = (rule, signals, options = {}) => {
8831
10390
  displayFormat: rule.display.format,
8832
10391
  });
8833
10392
  }
8834
- const teaser = renderTeaser(rule, () => {
10393
+ const teaser = renderTeaser(rule, tokens.values, () => {
8835
10394
  clearDismissed(rule.id, rule.fatigue.suppressAfterDismiss);
8836
10395
  // The page-load server snapshot is stale by reopen time (the visitor may
8837
10396
  // have converted/dismissed on another device), so gate local-only.
@@ -9479,16 +11038,112 @@ const createCartTracker = (adapter, opts) => {
9479
11038
  };
9480
11039
  };
9481
11040
 
11041
+ /**
11042
+ * How long to keep asking the adapter for an answer it has not given yet.
11043
+ *
11044
+ * The platform writes its customer global as the document renders, so on
11045
+ * almost every page view the first read already resolves and none of this runs.
11046
+ * The window only has to cover a storefront where the SDK happens to execute
11047
+ * before that markup does; past a few seconds the global is not coming and a
11048
+ * rule gated on it has no business waiting on it either.
11049
+ */
11050
+ const RESOLVE_POLL_MS = 200;
11051
+ const RESOLVE_DEADLINE_MS = 3000;
11052
+ /**
11053
+ * Sign-in state, derived from whatever customer adapter this page resolved to.
11054
+ *
11055
+ * Like the cart tracker it knows nothing about Shopify — the adapter answers,
11056
+ * this turns the answer into a signal. Unlike the cart there is nothing to
11057
+ * fetch and nothing to keep watching: every platform we care about makes
11058
+ * signing in and out a full page load, so once resolved the value cannot move
11059
+ * under us within one SDK lifetime. So `getSignals` reads live rather than
11060
+ * caching, and a page-view boundary picks up a fresh answer for free.
11061
+ *
11062
+ * What it does have to announce is the first resolution. The engine evaluates
11063
+ * once at start and then only when something tells it to, so a read that was
11064
+ * still unresolved at init would otherwise sit unjudged until the shopper
11065
+ * happened to scroll or navigate — and on a page where they do neither, a
11066
+ * signed-in customer would simply never see their popup. Same reasoning as the
11067
+ * cart tracker's "always notify the first read": if the first read stays
11068
+ * silent, nothing ever asks the engine to look again.
11069
+ */
11070
+ const createSignInTracker = (adapter) => {
11071
+ const subscribers = [];
11072
+ let timer;
11073
+ // The adapter slot is a merchant's to fill, so its promise not to throw is
11074
+ // one we cannot enforce. Unguarded, a throw here would abort `runGate` on the
11075
+ // edge-read path, outside init's own try/catch, and leave the poll below
11076
+ // running past its deadline.
11077
+ const read = () => {
11078
+ try {
11079
+ return adapter.isSignedIn();
11080
+ }
11081
+ catch {
11082
+ return undefined;
11083
+ }
11084
+ };
11085
+ const stopPolling = () => {
11086
+ if (timer !== undefined) {
11087
+ clearInterval(timer);
11088
+ timer = undefined;
11089
+ }
11090
+ };
11091
+ // Only started when the answer is not already there, and stopped the moment
11092
+ // it arrives, so the common case costs one property read and no timer.
11093
+ if (read() === undefined) {
11094
+ const startedAt = Date.now();
11095
+ timer = setInterval(() => {
11096
+ if (read() !== undefined) {
11097
+ stopPolling();
11098
+ for (const cb of subscribers) {
11099
+ cb();
11100
+ }
11101
+ return;
11102
+ }
11103
+ if (Date.now() - startedAt >= RESOLVE_DEADLINE_MS) {
11104
+ stopPolling();
11105
+ }
11106
+ }, RESOLVE_POLL_MS);
11107
+ }
11108
+ return {
11109
+ getSignals: () => {
11110
+ const signedIn = read();
11111
+ // No key at all while unresolved, rather than a guess. Sign-in
11112
+ // conditions are restricted to `equals`, which cannot match an absent
11113
+ // signal, so an unanswered read leaves the rule inert instead of
11114
+ // treating a customer the store has not named yet as a stranger.
11115
+ if (signedIn === undefined) {
11116
+ return {};
11117
+ }
11118
+ return { 'customer.isSignedIn': signedIn };
11119
+ },
11120
+ onChange: (cb) => {
11121
+ subscribers.push(cb);
11122
+ },
11123
+ stop: stopPolling,
11124
+ };
11125
+ };
11126
+
9482
11127
  const usesSignal = (rule, ids) => { var _a; return ((_a = rule.conditions) !== null && _a !== void 0 ? _a : []).some((c) => ids.has(c.signalId)); };
9483
11128
  const anyUsesSignal = (rules, ids) => rules.some((r) => usesSignal(r, ids));
9484
11129
  const BEHAVIOR_SIGNALS = new Set(BEHAVIOR_SIGNAL_IDS);
9485
11130
  const CART_SIGNALS = new Set(CART_SIGNAL_IDS);
11131
+ const SIGN_IN_SIGNALS = new Set(SIGN_IN_SIGNAL_IDS);
9486
11132
  const usesBehaviorSignal = (rule) => usesSignal(rule, BEHAVIOR_SIGNALS);
9487
11133
  /**
9488
11134
  * Cart rules are deferred like behavior rules: the cart is read after init, so
9489
11135
  * evaluating one in the static gate would always see an unknown cart.
9490
11136
  */
9491
11137
  const usesCartSignal = (rule) => usesSignal(rule, CART_SIGNALS);
11138
+ /**
11139
+ * Sign-in rules are deferred too, for a different reason: the read is
11140
+ * synchronous, but the store global behind it is written as the page renders
11141
+ * and can be missing when the static gate runs. Judging one there gives it a
11142
+ * single look at the moment it is least likely to be answerable. On the engine
11143
+ * it is re-judged whenever anything else moves and at every page-view boundary,
11144
+ * so the answer only has to arrive eventually.
11145
+ */
11146
+ const usesSignInSignal = (rule) => usesSignal(rule, SIGN_IN_SIGNALS);
9492
11147
  // The signals that advance without an event to hang off, so they are the only
9493
11148
  // ones that need a periodic tick. `satisfies` is the guard: rename any of these
9494
11149
  // ids in config and this stops compiling, rather than shipping a trigger that
@@ -9619,24 +11274,27 @@ const startTriggerEngine = (params) => {
9619
11274
  };
9620
11275
 
9621
11276
  /**
9622
- * The cart adapter for the platform this page is running on, or undefined when
9623
- * none registered.
11277
+ * The adapter in `slot` for the platform this page is running on, or undefined
11278
+ * when none registered.
9624
11279
  *
9625
11280
  * Read from the window registry rather than a table in here, so the core bundle
9626
11281
  * links no platform code at all. The per-platform bundle that `/load` served
9627
11282
  * has already put itself in the registry by the time init runs.
9628
11283
  *
9629
11284
  * Undefined is the normal answer, not an error: on a host with no adapter the
9630
- * cart is never read and cart rules simply stay inert.
11285
+ * store is never read and the rules that depend on it simply stay inert.
11286
+ *
11287
+ * `kind` and `rules` only feed the log lines — which adapter answered is the
11288
+ * first thing you want when a rule does nothing on a merchant's store.
9631
11289
  */
9632
- const resolveCartAdapter = () => {
11290
+ const resolveAdapter = (slot, kind, rules) => {
9633
11291
  var _a;
9634
11292
  if (typeof window === 'undefined') {
9635
11293
  return undefined;
9636
11294
  }
9637
- const adapter = (_a = window[registryKey]) === null || _a === void 0 ? void 0 : _a.cartAdapter;
11295
+ const adapter = (_a = window[registryKey]) === null || _a === void 0 ? void 0 : _a[slot];
9638
11296
  if (!adapter) {
9639
- logger.info('BlotoutPopup SDK: no cart adapter registered for this host; cart rules idle');
11297
+ logger.info(`BlotoutPopup SDK: no ${kind} adapter registered for this host; ${rules} rules idle`);
9640
11298
  return undefined;
9641
11299
  }
9642
11300
  // The registered adapter still has to agree it is on its own platform. A tag
@@ -9645,7 +11303,7 @@ const resolveCartAdapter = () => {
9645
11303
  // page view.
9646
11304
  try {
9647
11305
  if (!adapter.detect()) {
9648
- logger.info(`BlotoutPopup SDK: cart adapter '${adapter.id}' registered but this page is not that platform; cart rules idle`);
11306
+ logger.info(`BlotoutPopup SDK: ${kind} adapter '${adapter.id}' registered but this page is not that platform; ${rules} rules idle`);
9649
11307
  return undefined;
9650
11308
  }
9651
11309
  }
@@ -9653,11 +11311,109 @@ const resolveCartAdapter = () => {
9653
11311
  // A detector must never take the SDK down.
9654
11312
  return undefined;
9655
11313
  }
9656
- // Which adapter answered is the first thing you want when a cart rule does
9657
- // nothing on a merchant's store.
9658
- logger.info(`BlotoutPopup SDK: cart adapter '${adapter.id}' active`);
11314
+ logger.info(`BlotoutPopup SDK: ${kind} adapter '${adapter.id}' active`);
9659
11315
  return adapter;
9660
11316
  };
11317
+ const resolveCartAdapter = () => resolveAdapter('cartAdapter', 'cart', 'cart');
11318
+ /**
11319
+ * Same contract, for the same reason: the core bundle links no platform code,
11320
+ * and a host with no adapter leaves sign-in rules inert rather than answering
11321
+ * the question wrongly.
11322
+ */
11323
+ const resolveCustomerAdapter = () => resolveAdapter('customerAdapter', 'customer', 'sign-in');
11324
+
11325
+ // eslint-disable-next-line @nx/enforce-module-boundaries
11326
+ /** True when at least one rule's copy references an identity-tier token. */
11327
+ const needsIdentityRead = (rules) => rules.some((rule) => tokensInTier(collectRuleTokens(rule), 'identity').length > 0);
11328
+ /** Never rejects: failure, timeout or a bad body all resolve to `{}`. */
11329
+ const fetchIdentityTokens = (baseUrl, timeoutMs, userId) => {
11330
+ if (!baseUrl) {
11331
+ return Promise.resolve({});
11332
+ }
11333
+ let url;
11334
+ try {
11335
+ url = new URL('/providers/blotoutPopup/tokens', baseUrl).toString();
11336
+ }
11337
+ catch {
11338
+ return Promise.resolve({});
11339
+ }
11340
+ const headers = new Headers();
11341
+ if (userId) {
11342
+ headers.set('EdgeTagUserId', userId);
11343
+ }
11344
+ return new Promise((resolve) => {
11345
+ let settled = false;
11346
+ const done = (values) => {
11347
+ if (settled) {
11348
+ return;
11349
+ }
11350
+ settled = true;
11351
+ resolve(values);
11352
+ };
11353
+ const timer = setTimeout(() => done({}), timeoutMs);
11354
+ fetch(url, { credentials: 'include', headers })
11355
+ .then((res) => (res.ok ? res.json() : null))
11356
+ .then((body) => {
11357
+ clearTimeout(timer);
11358
+ const values = body === null || body === void 0 ? void 0 : body.values;
11359
+ if (!values || typeof values !== 'object') {
11360
+ done({});
11361
+ return;
11362
+ }
11363
+ const out = {};
11364
+ for (const [id, value] of Object.entries(values)) {
11365
+ if (typeof value === 'string' && value !== '') {
11366
+ out[id] = value;
11367
+ }
11368
+ }
11369
+ done(out);
11370
+ })
11371
+ .catch(() => {
11372
+ clearTimeout(timer);
11373
+ done({});
11374
+ });
11375
+ });
11376
+ };
11377
+
11378
+ // `blotoutPopup:` prefix so `clearBlotoutPopupState` wipes it.
11379
+ const LAST_VIEWED_KEY = 'blotoutPopup:lastViewed';
11380
+ const MAX_AGE_MS = 30 * 24 * 60 * 60 * 1000;
11381
+ /** Records the product the shopper is looking at now. */
11382
+ const recordLastViewedProduct = (handle) => {
11383
+ if (!handle) {
11384
+ return;
11385
+ }
11386
+ const entry = { handle, at: Date.now() };
11387
+ safeSet('visitor', LAST_VIEWED_KEY, JSON.stringify(entry));
11388
+ };
11389
+ /** Undefined when missing, unreadable, or older than 30 days. */
11390
+ const readLastViewedProduct = () => {
11391
+ const raw = safeGet('visitor', LAST_VIEWED_KEY);
11392
+ if (!raw) {
11393
+ return undefined;
11394
+ }
11395
+ let entry;
11396
+ try {
11397
+ entry = JSON.parse(raw);
11398
+ }
11399
+ catch {
11400
+ safeRemove('visitor', LAST_VIEWED_KEY);
11401
+ return undefined;
11402
+ }
11403
+ if (!entry ||
11404
+ typeof entry.handle !== 'string' ||
11405
+ entry.handle === '' ||
11406
+ typeof entry.at !== 'number' ||
11407
+ !Number.isFinite(entry.at)) {
11408
+ safeRemove('visitor', LAST_VIEWED_KEY);
11409
+ return undefined;
11410
+ }
11411
+ if (Date.now() - entry.at > MAX_AGE_MS) {
11412
+ safeRemove('visitor', LAST_VIEWED_KEY);
11413
+ return undefined;
11414
+ }
11415
+ return entry.handle;
11416
+ };
9661
11417
 
9662
11418
  // Fail-open deadline for the edge fatigue/identity read (see runInit).
9663
11419
  const EDGE_READ_TIMEOUT_MS = 2500;
@@ -9694,8 +11450,17 @@ const runInit = (params) => {
9694
11450
  sendPopupEvent(params.sendTag, 'blotoutPopupInitialized', {
9695
11451
  ruleCount: variables.popupRules.length,
9696
11452
  });
11453
+ // Empty until the edge read settles, so those tokens show their fallback.
11454
+ let identityValues = {};
11455
+ let identityRead;
11456
+ let productRead;
11457
+ // Declared here, assigned at the read below: `show` closes over it and
11458
+ // preview mode can return before that line runs.
11459
+ let lastViewedProduct;
9697
11460
  let current = null;
9698
- const mount = (el) => {
11461
+ // Split out of `mount` because an inline form is placed into the merchant's
11462
+ // own anchor rather than the body, but must still carry the tag's UI CSS.
11463
+ const applyUiCss = (el) => {
9699
11464
  if (variables.uiPreferences.css) {
9700
11465
  if (isSafeCss(variables.uiPreferences.css)) {
9701
11466
  el.setUiCss(variables.uiPreferences.css);
@@ -9704,6 +11469,9 @@ const runInit = (params) => {
9704
11469
  logger.info('BlotoutPopup SDK: uiPreferences.css rejected (contains @import / @charset / expression() or exceeds 50KB)');
9705
11470
  }
9706
11471
  }
11472
+ };
11473
+ const mount = (el) => {
11474
+ applyUiCss(el);
9707
11475
  current === null || current === void 0 ? void 0 : current.remove();
9708
11476
  document.body.appendChild(el);
9709
11477
  current = el;
@@ -9718,10 +11486,20 @@ const runInit = (params) => {
9718
11486
  if (!rule) {
9719
11487
  return;
9720
11488
  }
11489
+ // `mount` body-appends, so forcing an inline rule would drop an
11490
+ // unpositioned form at the end of the page instead of into its anchor,
11491
+ // where it either already sits or has no placement at all. Reachable with a
11492
+ // bare `show()` on a store whose first rule happens to be inline.
11493
+ if (isInlineRule(rule)) {
11494
+ logger.info(`BlotoutPopup SDK: rule '${rule.id}' is inline and cannot be shown`);
11495
+ return;
11496
+ }
9721
11497
  const popup = renderPopup(rule, variables.cdnSignals, {
9722
11498
  sendTag: params.sendTag,
9723
11499
  baseUrl: params.baseUrl,
9724
11500
  userId: params.userId,
11501
+ tokenValues: identityValues,
11502
+ lastViewedProduct,
9725
11503
  });
9726
11504
  if (popup) {
9727
11505
  mount(popup);
@@ -9758,18 +11536,91 @@ const runInit = (params) => {
9758
11536
  if (params.geoRegion) {
9759
11537
  signals['location.region'] = params.geoRegion;
9760
11538
  }
11539
+ // Only when a rule asks for it; otherwise we store a browsing record nothing
11540
+ // reads.
11541
+ const tracksLastViewed = variables.popupRules.some((rule) => collectRuleTokens(rule).some((id) => tokenBaseId(id) === 'lastViewedProduct'));
11542
+ // Read before recording, or on a PDP this names the on-screen product.
11543
+ lastViewedProduct = tracksLastViewed ? readLastViewedProduct() : undefined;
11544
+ if (tracksLastViewed) {
11545
+ recordLastViewedProduct(signals['page.productHandle']);
11546
+ }
9761
11547
  // The page-scoped view of `signals`, refreshed at every page-view boundary.
9762
11548
  // Click triggers and the public API read this rather than closing over the
9763
11549
  // snapshot above, so a click three soft navigations later does not carry the
9764
11550
  // first page's path and product handle into the popup and its analytics.
9765
11551
  let pageSignals = signals;
9766
11552
  const refreshPageSignals = () => {
11553
+ var _a;
9767
11554
  pageSignals = withCurrentPageSignals(signals, {
9768
11555
  url: window.location.href,
9769
11556
  referrer: document.referrer,
9770
11557
  });
11558
+ if (tracksLastViewed) {
11559
+ // Same order as above: this page's product is "last viewed" for the next.
11560
+ const handle = pageSignals['page.productHandle'];
11561
+ if (handle) {
11562
+ lastViewedProduct = (_a = readLastViewedProduct()) !== null && _a !== void 0 ? _a : lastViewedProduct;
11563
+ recordLastViewedProduct(handle);
11564
+ }
11565
+ }
9771
11566
  return pageSignals;
9772
11567
  };
11568
+ // Inline forms mount here, ahead of and independent of every gate below.
11569
+ // They are placed by the merchant in their theme rather than fired at the
11570
+ // shopper, so there is no trigger to wait for, no fatigue to consult and no
11571
+ // impression cap to spend — and nothing to gain from waiting on the edge
11572
+ // read, which would leave a hole in the page for up to its whole deadline.
11573
+ const inlineRules = variables.popupRules.filter(isInlineRule);
11574
+ // One impression per rule per page view. `onMount` runs on every fill, and
11575
+ // the observer re-fills whenever the theme swaps the section an anchor sits
11576
+ // in — the case it exists for — so emitting per fill would count theme churn
11577
+ // rather than shoppers. Cleared at the page-view boundary below.
11578
+ const inlineCounted = new Set();
11579
+ const countInlineImpression = (rule, host) => {
11580
+ if (inlineCounted.has(rule.id)) {
11581
+ return;
11582
+ }
11583
+ inlineCounted.add(rule.id);
11584
+ sendPopupEvent(params.sendTag, 'blotoutPopupLoaded', {
11585
+ ruleId: rule.id,
11586
+ displayFormat: rule.display.format,
11587
+ });
11588
+ // Analytics only: `recordAndEmitImpression` would also tick the local
11589
+ // impression counter and write engagement to the edge, which is how a
11590
+ // rule becomes spent — and an always-on form has nothing to spend.
11591
+ emitImpression(rule, params.userId, params.sendTag, params.baseUrl, host);
11592
+ };
11593
+ const inline = inlineRules.length
11594
+ ? startInlineForms({
11595
+ rules: inlineRules,
11596
+ render: (rule) => {
11597
+ // The only schedule check on this path. `canFireRule` owns it for
11598
+ // every other format and inline skips that, so without this an SPA —
11599
+ // which fetches the rules once and re-fills from the page-view
11600
+ // boundary — would keep putting the form back past `endsAt`.
11601
+ if (!isInSchedule(rule.schedule)) {
11602
+ return null;
11603
+ }
11604
+ const host = renderPopup(rule, pageSignals, {
11605
+ sendTag: params.sendTag,
11606
+ getEdgeData: params.getEdgeData,
11607
+ sendEdgeData: params.sendEdgeData,
11608
+ baseUrl: params.baseUrl,
11609
+ userId: params.userId,
11610
+ tokenValues: identityValues,
11611
+ lastViewedProduct,
11612
+ });
11613
+ if (host) {
11614
+ applyUiCss(host);
11615
+ }
11616
+ return host;
11617
+ },
11618
+ onMount: (rule, host) => {
11619
+ logger.info(`BlotoutPopup SDK: mounted inline rule '${rule.id}' into its anchor`);
11620
+ countInlineImpression(rule, host);
11621
+ },
11622
+ })
11623
+ : undefined;
9773
11624
  let serverState;
9774
11625
  // Set once the deferred engine exists. Called when the screen frees up, so a
9775
11626
  // rule that was eligible but held back gets its turn.
@@ -9789,7 +11640,11 @@ const runInit = (params) => {
9789
11640
  // email-capture modal a shopper was half-way through typing into. Asked of
9790
11641
  // the DOM rather than of `current`, because a teaser reopen appends its
9791
11642
  // popup itself and `current` never learns about it.
9792
- if (document.querySelector(POPUP_TAG)) {
11643
+ // Inline hosts are excluded by attribute, not just skipped as rules. They
11644
+ // are the same custom element, so a footer form sitting in the page all
11645
+ // session would otherwise read as "a popup is already open" and hold back
11646
+ // every real popup on the store, permanently.
11647
+ if (document.querySelector(`${POPUP_TAG}:not([data-format="inline"])`)) {
9793
11648
  logger.info(`BlotoutPopup SDK: rule '${rule.id}' held back, a popup is already open`);
9794
11649
  return 'held';
9795
11650
  }
@@ -9821,6 +11676,8 @@ const runInit = (params) => {
9821
11676
  sendEdgeData: params.sendEdgeData,
9822
11677
  baseUrl: params.baseUrl,
9823
11678
  userId: params.userId,
11679
+ tokenValues: identityValues,
11680
+ lastViewedProduct,
9824
11681
  });
9825
11682
  if (!popup) {
9826
11683
  return 'no-match';
@@ -9837,16 +11694,49 @@ const runInit = (params) => {
9837
11694
  ruleId: rule.id,
9838
11695
  displayFormat: rule.display.format,
9839
11696
  });
9840
- recordAndEmitImpression(rule, params.userId, params.sendTag, params.getEdgeData, params.sendEdgeData);
11697
+ recordAndEmitImpression(rule, params.userId, popup, params.baseUrl, params.sendTag, params.getEdgeData, params.sendEdgeData);
9841
11698
  logger.info(`BlotoutPopup SDK: rendered rule '${rule.id}' (format: ${rule.display.format})`);
9842
11699
  return 'fired';
9843
11700
  };
9844
11701
  // Rules the static gate must not judge: a trigger rule opens on its trigger,
9845
- // and a behavior or cart rule is judged by the engine once its signals exist.
9846
- const isDeferred = (rule) => isTriggerDriven(rule) || usesBehaviorSignal(rule) || usesCartSignal(rule);
11702
+ // and a behavior, cart or sign-in rule is judged by the engine once its
11703
+ // signals exist.
11704
+ const isDeferred = (rule) => isTriggerDriven(rule) ||
11705
+ usesBehaviorSignal(rule) ||
11706
+ usesCartSignal(rule) ||
11707
+ usesSignInSignal(rule);
11708
+ /**
11709
+ * Which rules this gate could still put on screen, asked before the reads
11710
+ * resolve.
11711
+ *
11712
+ * A trigger-driven rule never counts: it opens on a click, and
11713
+ * `startClickTriggers` is wired outside this wait, so it gains nothing from
11714
+ * one and would only delay an unrelated static popup.
11715
+ *
11716
+ * An engine-deferred rule counts whatever `canFireRule` says right now, on
11717
+ * any signals that do not exist yet. Every eligible static rule counts too:
11718
+ * `runStaticGate` only stops on `'fired'`, and a rule that passes
11719
+ * `canFireRule` can still produce no popup, so the gate carries on to the
11720
+ * next one. Stopping at the first eligible rule would leave that next one
11721
+ * opening on fallback copy.
11722
+ */
11723
+ const gateNeeds = (tier) => variables.popupRules.some((rule) => {
11724
+ if (isTriggerDriven(rule)) {
11725
+ return false;
11726
+ }
11727
+ if (tokensInTier(collectRuleTokens(rule), tier).length === 0) {
11728
+ return false;
11729
+ }
11730
+ return (isDeferred(rule) ||
11731
+ canFireRule(rule, signals, serverState === null || serverState === void 0 ? void 0 : serverState.rules.rules[rule.id]));
11732
+ });
9847
11733
  const runStaticGate = () => {
9848
11734
  for (const rule of variables.popupRules) {
9849
- if (isDeferred(rule)) {
11735
+ // An inline rule is already mounted in its anchor. Letting it through
11736
+ // here would body-mount a second copy with no wrapper positioning, and
11737
+ // the gate stops at the first rule that fires, so an inline rule listed
11738
+ // first would also spend the slot a real popup was waiting for.
11739
+ if (isInlineRule(rule) || isDeferred(rule)) {
9850
11740
  continue;
9851
11741
  }
9852
11742
  if (!canFireRule(rule, signals, serverState === null || serverState === void 0 ? void 0 : serverState.rules.rules[rule.id])) {
@@ -9867,8 +11757,11 @@ const runInit = (params) => {
9867
11757
  * the shopper has not seen, and a rule that already fired stays spent.
9868
11758
  */
9869
11759
  const startDeferredRules = () => {
9870
- const deferredRules = variables.popupRules.filter((rule) => !isTriggerDriven(rule) &&
9871
- (usesBehaviorSignal(rule) || usesCartSignal(rule)));
11760
+ const deferredRules = variables.popupRules.filter((rule) => !isInlineRule(rule) &&
11761
+ !isTriggerDriven(rule) &&
11762
+ (usesBehaviorSignal(rule) ||
11763
+ usesCartSignal(rule) ||
11764
+ usesSignInSignal(rule)));
9872
11765
  if (!deferredRules.length) {
9873
11766
  return undefined;
9874
11767
  }
@@ -9886,6 +11779,16 @@ const runInit = (params) => {
9886
11779
  timer: needsCartTicker(deferredRules),
9887
11780
  }));
9888
11781
  }
11782
+ // Same shape: only when a rule asks, and only where a customer adapter
11783
+ // recognises the host. With no adapter the signal is never written, and an
11784
+ // `equals` condition on an absent signal cannot match — so sign-in rules
11785
+ // stay inert on a non-Shopify storefront rather than guessing.
11786
+ const customerAdapter = deferredRules.some(usesSignInSignal)
11787
+ ? resolveCustomerAdapter()
11788
+ : undefined;
11789
+ if (customerAdapter) {
11790
+ trackers.push(createSignInTracker(customerAdapter));
11791
+ }
9889
11792
  const engine = startTriggerEngine({
9890
11793
  rules: deferredRules,
9891
11794
  baseSignals: signals,
@@ -9914,8 +11817,36 @@ const runInit = (params) => {
9914
11817
  }
9915
11818
  }
9916
11819
  }
9917
- runStaticGate();
9918
- const clickRules = variables.popupRules.filter(hasClickTrigger);
11820
+ // Only the page-load render waits; click triggers, the public API and the
11821
+ // watcher wire up now rather than behind a network read. And only for a
11822
+ // tier a rule the static gate could actually fire uses — otherwise a
11823
+ // token-free modal waits out the deadline for values it never reads.
11824
+ //
11825
+ // Product joins identity here so the popup opens on the real title rather
11826
+ // than opening on fallbacks and rewriting itself once Shopify answers.
11827
+ // Both reads started together, so the wait is one deadline, not two.
11828
+ const waits = [];
11829
+ if (identityRead && gateNeeds('identity')) {
11830
+ waits.push(identityRead);
11831
+ }
11832
+ if (productRead && gateNeeds('product')) {
11833
+ waits.push(productRead);
11834
+ }
11835
+ // The static gate and the trigger engine both open popups, so both wait.
11836
+ // Gating only the static gate left a `behavior.timeOnPage` rule opening on
11837
+ // fallback copy and rewriting itself once Shopify answered.
11838
+ let onBoundary;
11839
+ const openGate = () => {
11840
+ runStaticGate();
11841
+ onBoundary = startDeferredRules();
11842
+ };
11843
+ if (waits.length) {
11844
+ void Promise.all(waits).then(openGate);
11845
+ }
11846
+ else {
11847
+ openGate();
11848
+ }
11849
+ const clickRules = variables.popupRules.filter((rule) => !isInlineRule(rule) && hasClickTrigger(rule));
9919
11850
  if (clickRules.length) {
9920
11851
  startClickTriggers({
9921
11852
  rules: clickRules,
@@ -9929,20 +11860,19 @@ const runInit = (params) => {
9929
11860
  installPublicApi({
9930
11861
  rules: variables.popupRules,
9931
11862
  openRule: (rule) => {
11863
+ // There is nothing to open: an inline rule is either already in the
11864
+ // page or has no anchor, and body-mounting it on demand would drop an
11865
+ // unpositioned form over the storefront.
11866
+ if (isInlineRule(rule)) {
11867
+ logger.info(`BlotoutPopup SDK: rule '${rule.id}' is inline and cannot be opened`);
11868
+ return false;
11869
+ }
9932
11870
  if (!canFireIgnoringConditions(rule, serverState === null || serverState === void 0 ? void 0 : serverState.rules.rules[rule.id])) {
9933
11871
  return false;
9934
11872
  }
9935
11873
  return fireRule(rule, pageSignals, { shopperAsked: true }) === 'fired';
9936
11874
  },
9937
11875
  });
9938
- // Started whether or not the static gate already fired something. Per-rule
9939
- // fire state is the whole point of the engine: a cart rule must still get
9940
- // its chance on a page where a welcome rule ran, and `fireRule` refuses
9941
- // while a popup is on screen, so "still eligible" never means "clobbers the
9942
- // one the shopper is reading". Gating this on `!fired` also meant a single
9943
- // static fire left the document with no engine and no boundary watcher for
9944
- // the rest of the session.
9945
- const onBoundary = startDeferredRules();
9946
11876
  // One watcher, because it patches the history methods — two would stack
9947
11877
  // patches. Unconditional: `pageSignals` feeds the click triggers, the
9948
11878
  // public API and the re-armed engine alike, and any of the three can be
@@ -9951,12 +11881,41 @@ const runInit = (params) => {
9951
11881
  refreshPageSignals();
9952
11882
  pacing.resetPageView();
9953
11883
  onBoundary === null || onBoundary === void 0 ? void 0 : onBoundary();
11884
+ // A soft navigation is a new page view, so the forms it mounts are a new
11885
+ // impression each.
11886
+ inlineCounted.clear();
11887
+ // Belt and braces beside the anchor observer: a soft navigation that
11888
+ // swaps the page's content without touching `document.body`'s subtree in
11889
+ // a way the observer reports would otherwise leave the new page's anchor
11890
+ // empty until something else mutated the DOM.
11891
+ inline === null || inline === void 0 ? void 0 : inline.rescan();
11892
+ // An impression is per page view, not per mount. On the ordinary soft nav
11893
+ // the anchor and its host both survive, so nothing re-mounts and `onMount`
11894
+ // never runs — counting only mounts would report fewer impressions on an
11895
+ // SPA theme than on one doing full page loads. Runs after the rescan so a
11896
+ // form this boundary mounted is already counted and skipped here.
11897
+ for (const ruleId of mountedInlineRuleIds()) {
11898
+ const rule = inlineRules.find((r) => r.id === ruleId);
11899
+ if (rule) {
11900
+ countInlineImpression(rule);
11901
+ }
11902
+ }
9954
11903
  });
9955
11904
  };
9956
11905
  // Only read server state when a rule that survives the cheap local gates
9957
11906
  // (schedule + locally-decidable conditions) actually needs it — keeps the
9958
11907
  // external read off the hot path on pages where no such rule can match.
9959
- const candidates = variables.popupRules.filter((rule) => locallySurvivable(rule, signals));
11908
+ const candidates = variables.popupRules.filter((rule) => !isInlineRule(rule) && locallySurvivable(rule, signals));
11909
+ // Every enabled rule, not just this page's candidates: a `/cart` rule is not
11910
+ // survivable on the landing page, and the read is never retried.
11911
+ if (needsIdentityRead(variables.popupRules)) {
11912
+ identityRead = fetchIdentityTokens(params.baseUrl, EDGE_READ_TIMEOUT_MS, params.userId).then((values) => {
11913
+ identityValues = values;
11914
+ });
11915
+ }
11916
+ if (needsProductRead(variables.popupRules)) {
11917
+ productRead = warmProductTokens(signals, lastViewedProduct, EDGE_READ_TIMEOUT_MS);
11918
+ }
9960
11919
  if (needsServerRead(candidates)) {
9961
11920
  readServerStateWithDeadline(params.getEdgeData, EDGE_READ_TIMEOUT_MS, runGate);
9962
11921
  }