@blotoutio/providers-blotout-consent-sdk 1.55.2 → 1.56.1
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 +1545 -249
- package/index.d.ts +10 -1
- package/index.js +1545 -249
- package/index.mjs +1545 -249
- package/package.json +1 -1
- package/stores/shopify/index.cjs.js +69 -5
- package/stores/shopify/index.js +69 -5
- package/stores/shopify/index.mjs +69 -5
package/index.cjs.js
CHANGED
|
@@ -651,10 +651,80 @@ const logger = {
|
|
|
651
651
|
},
|
|
652
652
|
};
|
|
653
653
|
|
|
654
|
-
var _a$1;
|
|
654
|
+
var _a$1, _b$1, _c$1;
|
|
655
|
+
var _d$1, _e$1;
|
|
655
656
|
const registryKey = Symbol.for('blotout-consent');
|
|
656
|
-
|
|
657
|
+
const INITIALIZED_EVENT = 'blotout-consent-initialized';
|
|
658
|
+
const getRegistry$1 = () => {
|
|
659
|
+
var _a;
|
|
660
|
+
if (typeof window === 'undefined') {
|
|
661
|
+
return null;
|
|
662
|
+
}
|
|
663
|
+
(_a = window[registryKey]) !== null && _a !== void 0 ? _a : (window[registryKey] = {});
|
|
664
|
+
return window[registryKey];
|
|
665
|
+
};
|
|
666
|
+
const SUBSCRIBER_LEAK_THRESHOLD = 50;
|
|
667
|
+
let leakWarningEmitted = false;
|
|
668
|
+
const isReady = () => { var _a, _b; return (_b = (_a = getRegistry$1()) === null || _a === void 0 ? void 0 : _a.ready) !== null && _b !== void 0 ? _b : false; };
|
|
669
|
+
const onReady = (callback) => {
|
|
670
|
+
var _a;
|
|
671
|
+
const registry = getRegistry$1();
|
|
672
|
+
if (!registry) {
|
|
673
|
+
return () => undefined;
|
|
674
|
+
}
|
|
675
|
+
// Readiness is a one-shot lifecycle: once ready, fire immediately and do not
|
|
676
|
+
// retain the callback — there is nothing left to notify.
|
|
677
|
+
if (registry.ready) {
|
|
678
|
+
try {
|
|
679
|
+
callback();
|
|
680
|
+
}
|
|
681
|
+
catch (err) {
|
|
682
|
+
logger.error('[BlotoutConsent] subscriber threw during onReady(immediate)', err);
|
|
683
|
+
}
|
|
684
|
+
return () => undefined;
|
|
685
|
+
}
|
|
686
|
+
const subscribers = ((_a = registry.subscribers) !== null && _a !== void 0 ? _a : (registry.subscribers = new Set()));
|
|
687
|
+
subscribers.add(callback);
|
|
688
|
+
if (!leakWarningEmitted && subscribers.size > SUBSCRIBER_LEAK_THRESHOLD) {
|
|
689
|
+
leakWarningEmitted = true;
|
|
690
|
+
logger.error(`[BlotoutConsent] onReady has more than ${SUBSCRIBER_LEAK_THRESHOLD} active subscribers. Suspected leak — verify each onReady() caller pairs with its returned unsubscribe.`);
|
|
691
|
+
}
|
|
692
|
+
return () => {
|
|
693
|
+
subscribers.delete(callback);
|
|
694
|
+
};
|
|
695
|
+
};
|
|
696
|
+
const notifySubscribers = (subscribers) => {
|
|
697
|
+
if (!subscribers) {
|
|
698
|
+
return;
|
|
699
|
+
}
|
|
700
|
+
for (const cb of Array.from(subscribers)) {
|
|
701
|
+
try {
|
|
702
|
+
cb();
|
|
703
|
+
}
|
|
704
|
+
catch (err) {
|
|
705
|
+
logger.error('[BlotoutConsent] subscriber threw during notifyReady', err);
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
};
|
|
709
|
+
const notifyReady = () => {
|
|
710
|
+
var _a;
|
|
711
|
+
const registry = getRegistry$1();
|
|
712
|
+
if (!registry || registry.ready) {
|
|
713
|
+
return;
|
|
714
|
+
}
|
|
715
|
+
registry.ready = true;
|
|
716
|
+
notifySubscribers(registry.subscribers);
|
|
717
|
+
// One-shot: drop references so subscriber closures are not retained for the
|
|
718
|
+
// lifetime of the page.
|
|
719
|
+
(_a = registry.subscribers) === null || _a === void 0 ? void 0 : _a.clear();
|
|
720
|
+
if (typeof window !== 'undefined') {
|
|
721
|
+
window.dispatchEvent(new CustomEvent(INITIALIZED_EVENT));
|
|
722
|
+
}
|
|
723
|
+
};
|
|
724
|
+
if (typeof window !== 'undefined') {
|
|
657
725
|
(_a$1 = window[registryKey]) !== null && _a$1 !== void 0 ? _a$1 : (window[registryKey] = {});
|
|
726
|
+
(_b$1 = (_d$1 = window[registryKey]).onReady) !== null && _b$1 !== void 0 ? _b$1 : (_d$1.onReady = onReady);
|
|
727
|
+
(_c$1 = (_e$1 = window[registryKey]).isReady) !== null && _c$1 !== void 0 ? _c$1 : (_e$1.isReady = isReady);
|
|
658
728
|
}
|
|
659
729
|
|
|
660
730
|
const IPV4_FETCH_TIMEOUT_MS = 1000;
|
|
@@ -764,7 +834,7 @@ const createBlotoutConsentAPI = ({ fetch: fetchImpl = window.fetch, baseURL, use
|
|
|
764
834
|
const data = (await response.json());
|
|
765
835
|
return tryParse((_b = (_a = data === null || data === void 0 ? void 0 : data.result) === null || _a === void 0 ? void 0 : _a[consentProviderKey]) !== null && _b !== void 0 ? _b : null, null);
|
|
766
836
|
};
|
|
767
|
-
const update = async (payload) => {
|
|
837
|
+
const update = async (payload, options) => {
|
|
768
838
|
const browser_ipv4 = fetchIpv4 ? await fetchIpv4() : undefined;
|
|
769
839
|
const finalPayload = browser_ipv4
|
|
770
840
|
? { ...payload, browser_ipv4 }
|
|
@@ -774,6 +844,7 @@ const createBlotoutConsentAPI = ({ fetch: fetchImpl = window.fetch, baseURL, use
|
|
|
774
844
|
headers: getHeaders(true),
|
|
775
845
|
body: JSON.stringify(finalPayload),
|
|
776
846
|
credentials: 'include',
|
|
847
|
+
keepalive: options === null || options === void 0 ? void 0 : options.keepalive,
|
|
777
848
|
});
|
|
778
849
|
if (!response.ok) {
|
|
779
850
|
throw new Error(`Failed to update consent: ${response.statusText}`);
|
|
@@ -790,17 +861,34 @@ const createBlotoutConsentAPI = ({ fetch: fetchImpl = window.fetch, baseURL, use
|
|
|
790
861
|
throw new Error(`Failed to submit DSAR request: ${response.statusText}`);
|
|
791
862
|
}
|
|
792
863
|
};
|
|
864
|
+
const submitDeleteRequest = async (payload) => {
|
|
865
|
+
const response = await fetchImpl(getURL('/dsar/delete-requests'), {
|
|
866
|
+
method: 'POST',
|
|
867
|
+
headers: getHeaders(true),
|
|
868
|
+
body: JSON.stringify(payload),
|
|
869
|
+
credentials: 'include',
|
|
870
|
+
});
|
|
871
|
+
if (!response.ok) {
|
|
872
|
+
throw new Error(`Failed to submit delete request: ${response.statusText}`);
|
|
873
|
+
}
|
|
874
|
+
};
|
|
793
875
|
return {
|
|
794
876
|
update,
|
|
795
877
|
submitDSAR,
|
|
878
|
+
submitDeleteRequest,
|
|
796
879
|
getConsentCategories,
|
|
797
880
|
};
|
|
798
881
|
};
|
|
799
882
|
|
|
800
883
|
/**
|
|
801
884
|
* Syncs consent preferences to the store's privacy API (e.g. Shopify Customer Privacy API).
|
|
885
|
+
* When no `storeAPI` is provided (e.g. WordPress, where the host platform exposes no
|
|
886
|
+
* privacy API), this is a no-op.
|
|
802
887
|
*/
|
|
803
888
|
const syncConsentToStore = async (storeAPI, preferences) => {
|
|
889
|
+
if (!storeAPI) {
|
|
890
|
+
return;
|
|
891
|
+
}
|
|
804
892
|
try {
|
|
805
893
|
await storeAPI.setConsentTracking(preferences);
|
|
806
894
|
}
|
|
@@ -811,6 +899,7 @@ const syncConsentToStore = async (storeAPI, preferences) => {
|
|
|
811
899
|
|
|
812
900
|
const CONSENT_COOKIE_NAME = 'blotout_consent';
|
|
813
901
|
const BANNER_CLOSED_COOKIE_NAME = 'blotout_consent_banner_closed';
|
|
902
|
+
const FLAGS_COOKIE_NAME = 'blotout_consent_flags';
|
|
814
903
|
const CONSENT_COOKIE_EXPIRY_DAYS = 365;
|
|
815
904
|
const parseCookies = (cookie) => {
|
|
816
905
|
return Object.fromEntries(cookie
|
|
@@ -899,6 +988,11 @@ const storeConsent = (preferences, baseUrl) => {
|
|
|
899
988
|
};
|
|
900
989
|
/**
|
|
901
990
|
* Persists a marker cookie indicating the consent banner was closed by the user.
|
|
991
|
+
*
|
|
992
|
+
* Kept as a separate cookie from {@link markBannerInteracted} (the `i` flag in
|
|
993
|
+
* `blotout_consent_flags`): the X-close marker is written up-front in the close
|
|
994
|
+
* flow, before the async consent save runs, so a dismissal sticks even if that
|
|
995
|
+
* save rejects. The banner gate treats either signal as "already acknowledged".
|
|
902
996
|
* `@param` baseUrl Optional API base URL; its hostname is used for the cookie domain.
|
|
903
997
|
*/
|
|
904
998
|
const markBannerClosed = (baseUrl) => writeCookie(BANNER_CLOSED_COOKIE_NAME, '1', CONSENT_COOKIE_EXPIRY_DAYS, baseUrl);
|
|
@@ -906,6 +1000,30 @@ const markBannerClosed = (baseUrl) => writeCookie(BANNER_CLOSED_COOKIE_NAME, '1'
|
|
|
906
1000
|
* Returns true when the banner-closed marker cookie is set to '1'.
|
|
907
1001
|
*/
|
|
908
1002
|
const isBannerClosed = () => getCookieValue(BANNER_CLOSED_COOKIE_NAME) === '1';
|
|
1003
|
+
const readFlags = () => { var _a; return (_a = tryParse(getCookieValue(FLAGS_COOKIE_NAME), {})) !== null && _a !== void 0 ? _a : {}; };
|
|
1004
|
+
const writeFlags = (flags, baseUrl) => writeCookie(FLAGS_COOKIE_NAME, encodeURIComponent(JSON.stringify(flags)), CONSENT_COOKIE_EXPIRY_DAYS, baseUrl);
|
|
1005
|
+
/**
|
|
1006
|
+
* Marks the visitor as having interacted with the banner (close, accept, reject,
|
|
1007
|
+
* save preferences, or DNSMP submission). Drops the clawback flag — once the
|
|
1008
|
+
* visitor acts, the clawback flow is resolved and must not be re-shown.
|
|
1009
|
+
*/
|
|
1010
|
+
const markBannerInteracted = (baseUrl) => writeFlags({ i: 1 }, baseUrl);
|
|
1011
|
+
/**
|
|
1012
|
+
* Returns true when the visitor has interacted with the banner.
|
|
1013
|
+
*/
|
|
1014
|
+
const hasBannerInteraction = () => readFlags().i === 1;
|
|
1015
|
+
/**
|
|
1016
|
+
* Records that the clawback flow has been shown to this visitor. Sets the
|
|
1017
|
+
* clawback flag (which forces re-display on subsequent loads until interaction)
|
|
1018
|
+
* while preserving any existing flags. The interaction flag is left untouched
|
|
1019
|
+
* (absent ⇒ not interacted), so this can never reset a prior `interacted: true`.
|
|
1020
|
+
*/
|
|
1021
|
+
const markClawbackShown = (baseUrl) => writeFlags({ ...readFlags(), c: 1 }, baseUrl);
|
|
1022
|
+
/**
|
|
1023
|
+
* Returns true while the visitor has a pending clawback flow (shown but not yet
|
|
1024
|
+
* interacted with).
|
|
1025
|
+
*/
|
|
1026
|
+
const hasClawbackPending = () => readFlags().c === 1;
|
|
909
1027
|
/**
|
|
910
1028
|
* Indicates whether Global Privacy Control is enabled in the browser.
|
|
911
1029
|
*/
|
|
@@ -1187,7 +1305,7 @@ const init = (params) => {
|
|
|
1187
1305
|
logger.error('Configuration is not available');
|
|
1188
1306
|
return;
|
|
1189
1307
|
}
|
|
1190
|
-
const { config, theme, defaultConsentState, css } = variables;
|
|
1308
|
+
const { config, theme, defaultConsentState, css, clawback, geoCountry, isEURequest, } = variables;
|
|
1191
1309
|
const registry = window[registryKey];
|
|
1192
1310
|
if (!registry) {
|
|
1193
1311
|
logger.error('Consent registry is not available');
|
|
@@ -1214,10 +1332,6 @@ const init = (params) => {
|
|
|
1214
1332
|
if (!storeAPI) {
|
|
1215
1333
|
storeAPI = window[registryKey].storeAPI = (_d = (_c = window[registryKey]).storeAPIFactory) === null || _d === void 0 ? void 0 : _d.call(_c, {});
|
|
1216
1334
|
}
|
|
1217
|
-
if (!storeAPI) {
|
|
1218
|
-
logger.error('Store API is not available');
|
|
1219
|
-
return;
|
|
1220
|
-
}
|
|
1221
1335
|
if (isPreviewMode(variables)) {
|
|
1222
1336
|
logger.info('Consent banner is in preview mode');
|
|
1223
1337
|
}
|
|
@@ -1236,6 +1350,9 @@ const init = (params) => {
|
|
|
1236
1350
|
css,
|
|
1237
1351
|
defaultConsentState,
|
|
1238
1352
|
contained: false,
|
|
1353
|
+
clawback,
|
|
1354
|
+
geoCountry,
|
|
1355
|
+
isEURequest,
|
|
1239
1356
|
});
|
|
1240
1357
|
}
|
|
1241
1358
|
else {
|
|
@@ -1246,6 +1363,7 @@ const init = (params) => {
|
|
|
1246
1363
|
if (shouldAutoGrantConsent(variables)) {
|
|
1247
1364
|
saveConsent(blotoutConsentAPI, storeAPI, defaultConsentState, params.baseUrl);
|
|
1248
1365
|
}
|
|
1366
|
+
notifyReady();
|
|
1249
1367
|
}
|
|
1250
1368
|
catch (error) {
|
|
1251
1369
|
logger.error('Failed to initialize consent banner:', error);
|
|
@@ -1365,7 +1483,7 @@ const e$3=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&"object"
|
|
|
1365
1483
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
1366
1484
|
*/function e$2(e,r){return (n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}="object"==typeof s?n:i??(()=>{const t=Symbol();return {get(){return this[t]},set(e){this[t]=e;}}})();return e$3(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return e$3(n,s,{get(){return o(this)}})}}
|
|
1367
1485
|
|
|
1368
|
-
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-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-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-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-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-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-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-cyan-500: oklch(71.5% 0.143 215.221);\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-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\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-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-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-50: oklch(98.5% 0 0);\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-400: oklch(70.5% 0.015 286.067);\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: 4px;\n --container-xs: 320px;\n --container-sm: 384px;\n --container-md: 448px;\n --container-lg: 512px;\n --container-xl: 576px;\n --container-2xl: 672px;\n --container-3xl: 768px;\n --container-4xl: 896px;\n --container-5xl: 1024px;\n --container-6xl: 1152px;\n --container-7xl: 1280px;\n --text-xs: 12px;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 14px;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 16px;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 18px;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 20px;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 24px;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 30px;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 36px;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 48px;\n --text-5xl--line-height: 1;\n --text-7xl: 72px;\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 --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: 2px;\n --radius-sm: 4px;\n --radius-md: 6px;\n --radius-lg: 8px;\n --radius-xl: 12px;\n --radius-2xl: 16px;\n --radius-3xl: 24px;\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-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 {\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 .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-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-2\\.5 {\n top: calc(var(--spacing) * -2.5);\n }\n .-top-4 {\n top: calc(var(--spacing) * -4);\n }\n .-top-10 {\n top: calc(var(--spacing) * -10);\n }\n .-top-\\[8px\\] {\n top: calc(8px * -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-9 {\n top: calc(var(--spacing) * 9);\n }\n .top-20 {\n top: calc(var(--spacing) * 20);\n }\n .top-\\[-2px\\] {\n top: -2px;\n }\n .top-\\[6px\\] {\n top: 6px;\n }\n .top-\\[15px\\] {\n top: 15px;\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-10 {\n right: calc(var(--spacing) * -10);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .right-3 {\n right: calc(var(--spacing) * 3);\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-30 {\n right: calc(var(--spacing) * 30);\n }\n .right-\\[-100px\\] {\n right: -100px;\n }\n .right-\\[8px\\] {\n right: 8px;\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-\\[-2px\\] {\n bottom: -2px;\n }\n .bottom-\\[-32px\\] {\n bottom: -32px;\n }\n .bottom-full {\n bottom: 100%;\n }\n .\\!left-0 {\n left: calc(var(--spacing) * 0) !important;\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\\/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-\\[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-5 {\n z-index: 5;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\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-\\[60\\] {\n z-index: 60;\n }\n .z-\\[9999\\] {\n z-index: 9999;\n }\n .order-1 {\n order: 1;\n }\n .order-123 {\n order: 123;\n }\n .order-456 {\n order: 456;\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: 640px;\n }\n @media (width >= 48rem) {\n max-width: 768px;\n }\n @media (width >= 64rem) {\n max-width: 1024px;\n }\n @media (width >= 80rem) {\n max-width: 1280px;\n }\n @media (width >= 96rem) {\n max-width: 1536px;\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-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-0 {\n margin-inline: calc(var(--spacing) * 0);\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-\\[20px\\] {\n margin-inline: 20px;\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-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-\\[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-6 {\n margin-top: calc(var(--spacing) * -6);\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-3 {\n margin-top: calc(var(--spacing) * 3);\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-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-\\[-2px\\] {\n margin-top: -2px;\n }\n .mt-\\[1px\\] {\n margin-top: 1px;\n }\n .mt-\\[3px\\] {\n margin-top: 3px;\n }\n .mt-\\[4px\\] {\n margin-top: 4px;\n }\n .mt-\\[6px\\] {\n margin-top: 6px;\n }\n .mt-\\[8px\\] {\n margin-top: 8px;\n }\n .mt-\\[10px\\] {\n margin-top: 10px;\n }\n .mt-\\[16px\\] {\n margin-top: 16px;\n }\n .mt-\\[20px\\] {\n margin-top: 20px;\n }\n .mt-auto {\n margin-top: auto;\n }\n .-mr-4 {\n margin-right: calc(var(--spacing) * -4);\n }\n .-mr-px {\n margin-right: -1px;\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-3 {\n margin-right: calc(var(--spacing) * 3);\n }\n .mr-16 {\n margin-right: calc(var(--spacing) * 16);\n }\n .mr-\\[4px\\] {\n margin-right: 4px;\n }\n .mr-\\[5px\\] {\n margin-right: 5px;\n }\n .mr-\\[6px\\] {\n margin-right: 6px;\n }\n .mr-\\[7px\\] {\n margin-right: 7px;\n }\n .-mb-px {\n margin-bottom: -1px;\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-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-\\[1px\\] {\n margin-bottom: 1px;\n }\n .mb-\\[3px\\] {\n margin-bottom: 3px;\n }\n .mb-\\[4px\\] {\n margin-bottom: 4px;\n }\n .mb-\\[6px\\] {\n margin-bottom: 6px;\n }\n .mb-\\[8px\\] {\n margin-bottom: 8px;\n }\n .mb-\\[10px\\] {\n margin-bottom: 10px;\n }\n .mb-\\[12px\\] {\n margin-bottom: 12px;\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-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-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-\\[6px\\] {\n margin-left: 6px;\n }\n .ml-\\[18px\\] {\n margin-left: 18px;\n }\n .ml-\\[28px\\] {\n margin-left: 28px;\n }\n .ml-\\[112px\\] {\n margin-left: 112px;\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 .block {\n display: block;\n }\n .contents {\n display: contents;\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-square {\n aspect-ratio: 1 / 1;\n }\n .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .\\!size-\\[12px\\] {\n width: 12px !important;\n height: 12px !important;\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-12 {\n width: calc(var(--spacing) * 12);\n height: calc(var(--spacing) * 12);\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-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-\\[2px\\] {\n height: 2px;\n }\n .h-\\[4px\\] {\n height: 4px;\n }\n .h-\\[6px\\] {\n height: 6px;\n }\n .h-\\[8px\\] {\n height: 8px;\n }\n .h-\\[10px\\] {\n height: 10px;\n }\n .h-\\[11px\\] {\n height: 11px;\n }\n .h-\\[12px\\] {\n height: 12px;\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-\\[18px\\] {\n height: 18px;\n }\n .h-\\[20px\\] {\n height: 20px;\n }\n .h-\\[22px\\] {\n height: 22px;\n }\n .h-\\[26px\\] {\n height: 26px;\n }\n .h-\\[28px\\] {\n height: 28px;\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-\\[50px\\] {\n height: 50px;\n }\n .h-\\[60px\\] {\n height: 60px;\n }\n .h-\\[64px\\] {\n height: 64px;\n }\n .h-\\[65px\\] {\n height: 65px;\n }\n .h-\\[70px\\] {\n height: 70px;\n }\n .h-\\[74px\\] {\n height: 74px;\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-\\[120px\\] {\n height: 120px;\n }\n .h-\\[150px\\] {\n height: 150px;\n }\n .h-\\[162px\\] {\n height: 162px;\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-\\[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-\\[800px\\] {\n height: 800px;\n }\n .h-\\[calc\\(100vh-198px\\)\\] {\n height: calc(100vh - 198px);\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-4 {\n max-height: calc(var(--spacing) * 4);\n }\n .max-h-48 {\n max-height: calc(var(--spacing) * 48);\n }\n .max-h-60 {\n max-height: calc(var(--spacing) * 60);\n }\n .max-h-\\[--radix-select-content-available-height\\] {\n max-height: --radix-select-content-available-height;\n }\n .max-h-\\[40em\\] {\n max-height: 40em;\n }\n .max-h-\\[60vh\\] {\n max-height: 60vh;\n }\n .max-h-\\[80vh\\] {\n max-height: 80vh;\n }\n .max-h-\\[85vh\\] {\n max-height: 85vh;\n }\n .max-h-\\[90vh\\] {\n max-height: 90vh;\n }\n .max-h-\\[92vh\\] {\n max-height: 92vh;\n }\n .max-h-\\[180px\\] {\n max-height: 180px;\n }\n .max-h-\\[200px\\] {\n max-height: 200px;\n }\n .max-h-\\[206px\\] {\n max-height: 206px;\n }\n .max-h-\\[260px\\] {\n max-height: 260px;\n }\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n .max-h-\\[500px\\] {\n max-height: 500px;\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-\\[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-9 {\n min-height: calc(var(--spacing) * 9);\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-\\[2\\.25rem\\] {\n min-height: 36px;\n }\n .min-h-\\[16px\\] {\n min-height: 16px;\n }\n .min-h-\\[24px\\] {\n min-height: 24px;\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-\\[300px\\] {\n min-height: 300px;\n }\n .min-h-\\[400px\\] {\n min-height: 400px;\n }\n .min-h-\\[420px\\] {\n min-height: 420px;\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-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-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-72 {\n width: calc(var(--spacing) * 72);\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\\.5px\\] {\n width: 1.5px;\n }\n .w-\\[1px\\] {\n width: 1px;\n }\n .w-\\[3px\\] {\n width: 3px;\n }\n .w-\\[8px\\] {\n width: 8px;\n }\n .w-\\[12px\\] {\n width: 12px;\n }\n .w-\\[14px\\] {\n width: 14px;\n }\n .w-\\[15\\.33px\\] {\n width: 15.33px;\n }\n .w-\\[16px\\] {\n width: 16px;\n }\n .w-\\[18px\\] {\n width: 18px;\n }\n .w-\\[20px\\] {\n width: 20px;\n }\n .w-\\[24px\\] {\n width: 24px;\n }\n .w-\\[26px\\] {\n width: 26px;\n }\n .w-\\[28px\\] {\n width: 28px;\n }\n .w-\\[30\\%\\] {\n width: 30%;\n }\n .w-\\[35px\\] {\n width: 35px;\n }\n .w-\\[38px\\] {\n width: 38px;\n }\n .w-\\[40px\\] {\n width: 40px;\n }\n .w-\\[44px\\] {\n width: 44px;\n }\n .w-\\[45\\%\\] {\n width: 45%;\n }\n .w-\\[48px\\] {\n width: 48px;\n }\n .w-\\[50px\\] {\n width: 50px;\n }\n .w-\\[55px\\] {\n width: 55px;\n }\n .w-\\[60px\\] {\n width: 60px;\n }\n .w-\\[64px\\] {\n width: 64px;\n }\n .w-\\[70\\%\\] {\n width: 70%;\n }\n .w-\\[70px\\] {\n width: 70px;\n }\n .w-\\[72px\\] {\n width: 72px;\n }\n .w-\\[75px\\] {\n width: 75px;\n }\n .w-\\[80px\\] {\n width: 80px;\n }\n .w-\\[90px\\] {\n width: 90px;\n }\n .w-\\[95vw\\] {\n width: 95vw;\n }\n .w-\\[100px\\] {\n width: 100px;\n }\n .w-\\[100vw\\] {\n width: 100vw;\n }\n .w-\\[110px\\] {\n width: 110px;\n }\n .w-\\[120px\\] {\n width: 120px;\n }\n .w-\\[126px\\] {\n width: 126px;\n }\n .w-\\[130px\\] {\n width: 130px;\n }\n .w-\\[140px\\] {\n width: 140px;\n }\n .w-\\[145px\\] {\n width: 145px;\n }\n .w-\\[150px\\] {\n width: 150px;\n }\n .w-\\[160px\\] {\n width: 160px;\n }\n .w-\\[165px\\] {\n width: 165px;\n }\n .w-\\[180px\\] {\n width: 180px;\n }\n .w-\\[200px\\] {\n width: 200px;\n }\n .w-\\[220px\\] {\n width: 220px;\n }\n .w-\\[250px\\] {\n width: 250px;\n }\n .w-\\[260px\\] {\n width: 260px;\n }\n .w-\\[301px\\] {\n width: 301px;\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-\\[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-\\[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-\\[1080px\\] {\n width: 1080px;\n }\n .w-\\[calc\\(100\\%\\+0\\.5rem\\)\\] {\n width: calc(100% + 8px);\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-2xl {\n max-width: var(--container-2xl);\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-6xl {\n max-width: var(--container-6xl);\n }\n .max-w-7xl {\n max-width: var(--container-7xl);\n }\n .max-w-80 {\n max-width: calc(var(--spacing) * 80);\n }\n .max-w-\\[50\\%\\] {\n max-width: 50%;\n }\n .max-w-\\[80\\%\\] {\n max-width: 80%;\n }\n .max-w-\\[95vw\\] {\n max-width: 95vw;\n }\n .max-w-\\[100\\%\\] {\n max-width: 100%;\n }\n .max-w-\\[140px\\] {\n max-width: 140px;\n }\n .max-w-\\[150px\\] {\n max-width: 150px;\n }\n .max-w-\\[177px\\] {\n max-width: 177px;\n }\n .max-w-\\[180px\\] {\n max-width: 180px;\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-\\[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-\\[400px\\] {\n max-width: 400px;\n }\n .max-w-\\[450px\\] {\n max-width: 450px;\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-\\[544px\\] {\n max-width: 544px;\n }\n .max-w-\\[600px\\] {\n max-width: 600px;\n }\n .max-w-\\[680px\\] {\n max-width: 680px;\n }\n .max-w-\\[700px\\] {\n max-width: 700px;\n }\n .max-w-\\[791px\\] {\n max-width: 791px;\n }\n .max-w-\\[800px\\] {\n max-width: 800px;\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 32px);\n }\n .max-w-\\[min\\(100\\%\\,11rem\\)\\] {\n max-width: min(100%, 176px);\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-56 {\n min-width: calc(var(--spacing) * 56);\n }\n .min-w-\\[8rem\\] {\n min-width: 128px;\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-\\[80px\\] {\n min-width: 80px;\n }\n .min-w-\\[85px\\] {\n min-width: 85px;\n }\n .min-w-\\[120px\\] {\n min-width: 120px;\n }\n .min-w-\\[160px\\] {\n min-width: 160px;\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-\\[250px\\] {\n min-width: 250px;\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 .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 .\\!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-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-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\\.5 {\n --tw-translate-y: calc(var(--spacing) * 0.5);\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-\\[calc\\(-50\\%_-_2px\\)\\] {\n --tw-translate-y: calc(-50% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\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-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 .touch-none {\n touch-action: none;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\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 .columns-1 {\n columns: 1;\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-\\[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-subgrid {\n grid-template-columns: subgrid;\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-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-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-\\[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-\\[8px\\] {\n gap: 8px;\n }\n .gap-\\[9px\\] {\n gap: 9px;\n }\n .gap-\\[10px\\] {\n gap: 10px;\n }\n .gap-\\[15px\\] {\n gap: 15px;\n }\n .gap-\\[20px\\] {\n gap: 20px;\n }\n .gap-\\[24px\\] {\n gap: 24px;\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 .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-6 {\n column-gap: calc(var(--spacing) * 6);\n }\n .gap-x-12 {\n column-gap: calc(var(--spacing) * 12);\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-2 {\n row-gap: calc(var(--spacing) * 2);\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-7 {\n row-gap: calc(var(--spacing) * 7);\n }\n .gap-y-8 {\n row-gap: calc(var(--spacing) * 8);\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-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-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 .\\!rounded-none {\n border-radius: 0 !important;\n }\n .rounded {\n border-radius: 4px;\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-\\[10px\\] {\n border-radius: 10px;\n }\n .rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .rounded-\\[14px\\] {\n border-radius: 14px;\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: 4px;\n border-top-right-radius: 4px;\n }\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\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-\\[8px\\] {\n border-top-right-radius: 8px;\n border-bottom-right-radius: 8px;\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-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-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-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-\\[2px\\] {\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-\\[\\#1D9E75\\] {\n border-color: #1D9E75;\n }\n .border-\\[\\#1a1a18\\] {\n border-color: #1a1a18;\n }\n .border-\\[\\#222\\] {\n border-color: #222;\n }\n .border-\\[\\#1877F2\\] {\n border-color: #1877F2;\n }\n .border-\\[\\#747775\\] {\n border-color: #747775;\n }\n .border-\\[\\#E4E4E7\\] {\n border-color: #E4E4E7;\n }\n .border-\\[\\#d3d1c7\\] {\n border-color: #d3d1c7;\n }\n .border-\\[\\#d6e3ff\\] {\n border-color: #d6e3ff;\n }\n .border-\\[\\#e4e4e7\\] {\n border-color: #e4e4e7;\n }\n .border-\\[\\#e8e6df\\] {\n border-color: #e8e6df;\n }\n .border-\\[\\#f4f2ec\\] {\n border-color: #f4f2ec;\n }\n .border-\\[\\#f4f4f2\\] {\n border-color: #f4f4f2;\n }\n .border-\\[\\#fde68a\\] {\n border-color: #fde68a;\n }\n .border-\\[var\\(--bc-text-color\\,\\#18181B\\)\\] {\n border-color: var(--bc-text-color,#18181B);\n }\n .border-amber-200 {\n border-color: var(--color-amber-200);\n }\n .border-amber-400 {\n border-color: var(--color-amber-400);\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-50 {\n border-color: var(--color-blue-50);\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\\/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-destructive {\n border-color: var(--color-destructive);\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-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-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-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-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\\/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-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-transparent {\n border-color: transparent;\n }\n .border-violet-300 {\n border-color: var(--color-violet-300);\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-white\\/\\[0\\.12\\] {\n border-color: color-mix(in srgb, #fff 12%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 12%, transparent);\n }\n }\n .border-white\\/\\[0\\.15\\] {\n border-color: color-mix(in srgb, #fff 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 15%, transparent);\n }\n }\n .border-yellow-200 {\n border-color: var(--color-yellow-200);\n }\n .border-yellow-300 {\n border-color: var(--color-yellow-300);\n }\n .border-zinc-200 {\n border-color: var(--color-zinc-200);\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-neutral-20 {\n border-bottom-color: var(--color-neutral-20);\n }\n .border-b-transparent {\n border-bottom-color: transparent;\n }\n .border-l-\\[\\#534ab7\\] {\n border-left-color: #534ab7;\n }\n .border-l-transparent {\n border-left-color: transparent;\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-\\[\\#0001\\] {\n background-color: #0001;\n }\n .bg-\\[\\#1a1a18\\] {\n background-color: #1a1a18;\n }\n .bg-\\[\\#2A9D90\\] {\n background-color: #2A9D90;\n }\n .bg-\\[\\#1877F2\\] {\n background-color: #1877F2;\n }\n .bg-\\[\\#18181B\\] {\n background-color: #18181B;\n }\n .bg-\\[\\#18181b\\] {\n background-color: #18181b;\n }\n .bg-\\[\\#222831\\] {\n background-color: #222831;\n }\n .bg-\\[\\#E0E6EE\\] {\n background-color: #E0E6EE;\n }\n .bg-\\[\\#E1F5EE\\] {\n background-color: #E1F5EE;\n }\n .bg-\\[\\#d3d1c7\\] {\n background-color: #d3d1c7;\n }\n .bg-\\[\\#e1f5ee\\] {\n background-color: #e1f5ee;\n }\n .bg-\\[\\#e6f1fb\\] {\n background-color: #e6f1fb;\n }\n .bg-\\[\\#e8e6df\\] {\n background-color: #e8e6df;\n }\n .bg-\\[\\#e76d4e\\] {\n background-color: #e76d4e;\n }\n .bg-\\[\\#eaf1ff\\] {\n background-color: #eaf1ff;\n }\n .bg-\\[\\#f1f4f8\\] {\n background-color: #f1f4f8;\n }\n .bg-\\[\\#f4f2ec\\] {\n background-color: #f4f2ec;\n }\n .bg-\\[\\#f4f4f2\\] {\n background-color: #f4f4f2;\n }\n .bg-\\[\\#f4f4f5\\]\\/60 {\n background-color: color-mix(in oklab, #f4f4f5 60%, transparent);\n }\n .bg-\\[\\#f8f7f4\\] {\n background-color: #f8f7f4;\n }\n .bg-\\[\\#faeeda\\] {\n background-color: #faeeda;\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-\\[hsl\\(240\\,12\\%\\,92\\%\\)\\] {\n background-color: hsl(240,12%,92%);\n }\n .bg-\\[hsl\\(240\\,100\\%\\,98\\%\\)\\] {\n background-color: hsl(240,100%,98%);\n }\n .bg-\\[rgb\\(243_244_246\\)\\]\\/90 {\n background-color: color-mix(in oklab, rgb(243 244 246) 90%, transparent);\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-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-600 {\n background-color: var(--color-amber-600);\n }\n .bg-background {\n background-color: var(--color-background);\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\\/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\\/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-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-destructive {\n background-color: var(--color-destructive);\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-emerald-500 {\n background-color: var(--color-emerald-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\\/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-muted {\n background-color: var(--color-muted);\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-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-primary {\n background-color: var(--color-primary);\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-secondary {\n background-color: var(--color-secondary);\n }\n .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .bg-slate-100 {\n background-color: var(--color-slate-100);\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-transparent {\n background-color: transparent;\n }\n .bg-violet-200 {\n background-color: var(--color-violet-200);\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\\/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\\/70 {\n background-color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n .bg-white\\/\\[0\\.06\\] {\n background-color: color-mix(in srgb, #fff 6%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 6%, transparent);\n }\n }\n .bg-white\\/\\[0\\.08\\] {\n background-color: color-mix(in srgb, #fff 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 8%, 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-400 {\n background-color: var(--color-yellow-400);\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-50 {\n background-color: var(--color-zinc-50);\n }\n .bg-zinc-50\\/50 {\n background-color: color-mix(in srgb, oklch(98.5% 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-zinc-50) 50%, transparent);\n }\n }\n .bg-zinc-100 {\n background-color: var(--color-zinc-100);\n }\n .bg-zinc-100\\/50 {\n background-color: color-mix(in srgb, oklch(96.7% 0.001 286.375) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-zinc-100) 50%, transparent);\n }\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-400 {\n background-color: var(--color-zinc-400);\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-\\[radial-gradient\\(circle\\,rgba\\(139\\,92\\,246\\,0\\.3\\)_0\\%\\,transparent_70\\%\\)\\] {\n background-image: radial-gradient(circle,rgba(139,92,246,0.3) 0%,transparent 70%);\n }\n .bg-none {\n background-image: none;\n }\n .from-\\[\\#1a1a2e\\] {\n --tw-gradient-from: #1a1a2e;\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-\\[\\#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-\\[\\#8b5cf6\\] {\n --tw-gradient-from: #8b5cf6;\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-\\[\\#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-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-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-\\[\\#2d1b4e\\] {\n --tw-gradient-to: #2d1b4e;\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-\\[\\#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-\\[\\#ec4899\\] {\n --tw-gradient-to: #ec4899;\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-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-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-cover {\n background-size: cover;\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-blue-500 {\n fill: var(--color-blue-500);\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 .fill-white {\n fill: var(--color-white);\n }\n .stroke-slate-500 {\n stroke: var(--color-slate-500);\n }\n .stroke-white {\n stroke: var(--color-white);\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-10 {\n padding: calc(var(--spacing) * 10);\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-\\[5px_8px\\] {\n padding: 5px 8px;\n }\n .p-\\[8px_10px\\] {\n padding: 8px 10px;\n }\n .p-\\[9\\.7px\\] {\n padding: 9.7px;\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-\\[20px\\] {\n padding: 20px;\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-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-\\[3px\\] {\n padding-inline: 3px;\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-\\[10px\\] {\n padding-inline: 10px;\n }\n .px-\\[11px\\] {\n padding-inline: 11px;\n }\n .px-\\[12px\\] {\n padding-inline: 12px;\n }\n .px-\\[14px\\] {\n padding-inline: 14px;\n }\n .px-\\[16px\\] {\n padding-inline: 16px;\n }\n .px-\\[18px\\] {\n padding-inline: 18px;\n }\n .px-\\[20px\\] {\n padding-inline: 20px;\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-16 {\n padding-block: calc(var(--spacing) * 16);\n }\n .py-24 {\n padding-block: calc(var(--spacing) * 24);\n }\n .py-\\[1px\\] {\n padding-block: 1px;\n }\n .py-\\[2px\\] {\n padding-block: 2px;\n }\n .py-\\[4px\\] {\n padding-block: 4px;\n }\n .py-\\[5px\\] {\n padding-block: 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-\\[10px\\] {\n padding-block: 10px;\n }\n .py-\\[12px\\] {\n padding-block: 12px;\n }\n .py-\\[14px\\] {\n padding-block: 14px;\n }\n .py-\\[16px\\] {\n padding-block: 16px;\n }\n .py-\\[20px\\] {\n padding-block: 20px;\n }\n .py-\\[22px\\] {\n padding-block: 22px;\n }\n .py-\\[40px\\] {\n padding-block: 40px;\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-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-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-\\[10px\\] {\n padding-top: 10px;\n }\n .pt-\\[12px\\] {\n padding-top: 12px;\n }\n .pt-\\[18px\\] {\n padding-top: 18px;\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 .pb-0 {\n padding-bottom: calc(var(--spacing) * 0);\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1);\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-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-\\[4px\\] {\n padding-bottom: 4px;\n }\n .pb-\\[14px\\] {\n padding-bottom: 14px;\n }\n .pb-\\[30px\\] {\n padding-bottom: 30px;\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-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-\\[10px\\] {\n padding-left: 10px;\n }\n .pl-\\[28px\\] {\n padding-left: 28px;\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 .font-mono {\n font-family: var(--font-mono);\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-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: 11.2px;\n }\n .text-\\[0\\.8rem\\] {\n font-size: 12.8px;\n }\n .text-\\[0\\.85em\\] {\n font-size: 0.85em;\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-\\[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-\\[18px\\] {\n font-size: 18px;\n }\n .text-\\[20px\\] {\n font-size: 20px;\n }\n .text-\\[22px\\] {\n font-size: 22px;\n }\n .text-\\[24px\\] {\n font-size: 24px;\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-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\\.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\\.55\\] {\n --tw-leading: 1.55;\n line-height: 1.55;\n }\n .leading-\\[1\\] {\n --tw-leading: 1;\n line-height: 1;\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-\\[500\\] {\n --tw-font-weight: 500;\n font-weight: 500;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\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\\.5px\\] {\n --tw-tracking: -0.5px;\n letter-spacing: -0.5px;\n }\n .tracking-\\[0\\.01em\\] {\n --tw-tracking: 0.01em;\n letter-spacing: 0.01em;\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\\.08em\\] {\n --tw-tracking: 0.08em;\n letter-spacing: 0.08em;\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-\\[\\#0c447c\\] {\n color: #0c447c;\n }\n .text-\\[\\#000000\\] {\n color: #000000;\n }\n .text-\\[\\#1F1F1F\\] {\n color: #1F1F1F;\n }\n .text-\\[\\#1a1a18\\] {\n color: #1a1a18;\n }\n .text-\\[\\#3b82f6\\] {\n color: #3b82f6;\n }\n .text-\\[\\#5F5CFF\\] {\n color: #5F5CFF;\n }\n .text-\\[\\#5f5e5a\\] {\n color: #5f5e5a;\n }\n .text-\\[\\#16A34A\\] {\n color: #16A34A;\n }\n .text-\\[\\#94a3b8\\] {\n color: #94a3b8;\n }\n .text-\\[\\#555\\] {\n color: #555;\n }\n .text-\\[\\#666\\] {\n color: #666;\n }\n .text-\\[\\#888\\] {\n color: #888;\n }\n .text-\\[\\#3763f4\\] {\n color: #3763f4;\n }\n .text-\\[\\#09090b\\] {\n color: #09090b;\n }\n .text-\\[\\#15803d\\] {\n color: #15803d;\n }\n .text-\\[\\#18181B\\] {\n color: #18181B;\n }\n .text-\\[\\#18181b\\] {\n color: #18181b;\n }\n .text-\\[\\#71717A\\] {\n color: #71717A;\n }\n .text-\\[\\#71717a\\] {\n color: #71717a;\n }\n .text-\\[\\#085041\\] {\n color: #085041;\n }\n .text-\\[\\#92400e\\] {\n color: #92400e;\n }\n .text-\\[\\#222831\\] {\n color: #222831;\n }\n .text-\\[\\#412402\\] {\n color: #412402;\n }\n .text-\\[\\#475569\\] {\n color: #475569;\n }\n .text-\\[\\#888780\\] {\n color: #888780;\n }\n .text-\\[\\#979797\\] {\n color: #979797;\n }\n .text-\\[\\#DC2626\\] {\n color: #DC2626;\n }\n .text-\\[\\#a8a8c0\\] {\n color: #a8a8c0;\n }\n .text-\\[\\#aaa\\] {\n color: #aaa;\n }\n .text-\\[\\#c0bfb9\\] {\n color: #c0bfb9;\n }\n .text-\\[\\#ccc\\] {\n color: #ccc;\n }\n .text-\\[\\#dc2626\\] {\n color: #dc2626;\n }\n .text-\\[\\#e8e8f0\\] {\n color: #e8e8f0;\n }\n .text-\\[rgba\\(17\\,17\\,17\\,0\\.32\\)\\] {\n color: rgba(17,17,17,0.32);\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-accent-foreground {\n color: var(--color-accent-foreground);\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-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-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-600 {\n color: var(--color-indigo-600);\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-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-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-secondary-foreground {\n color: var(--color-secondary-foreground);\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-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\\/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-400 {\n color: var(--color-zinc-400);\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 .uppercase {\n text-transform: uppercase;\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-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 .caret-red-600 {\n caret-color: var(--color-red-600);\n }\n .accent-black {\n accent-color: var(--color-black);\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-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-100 {\n opacity: 100%;\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_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-\\[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-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 .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 .\\[box-shadow\\:none\\] {\n box-shadow: none;\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-sidebar-ring {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n .ring-white {\n --tw-ring-color: var(--color-white);\n }\n .ring-zinc-200 {\n --tw-ring-color: var(--color-zinc-200);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\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-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-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-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-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-\\[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-\\[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-\\[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\\] {\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 .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 .outline-none {\n --tw-outline-style: none;\n outline-style: none;\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 .\\[min-inline-size\\:0\\] {\n min-inline-size: 0;\n }\n .\\[scrollbar-width\\:none\\] {\n scrollbar-width: none;\n }\n .ring-inset {\n --tw-ring-inset: inset;\n }\n .group-open\\:rotate-90 {\n &:is(:where(.group):is([open], :popover-open, :open) *) {\n rotate: 90deg;\n }\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\\: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\\: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-100 {\n &:is(:where(.group):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\\=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-\\[\\#a8a8c0\\] {\n &::placeholder {\n color: #a8a8c0;\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 .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 .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-0 {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .focus-within\\:relative {\n &:focus-within {\n position: relative;\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-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\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\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-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-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-purple-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-purple-400);\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-\\[\\#1a1a1a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #1a1a1a;\n }\n }\n }\n .hover\\:bg-\\[\\#2d3544\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #2d3544;\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-\\[\\#d0d8e4\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #d0d8e4;\n }\n }\n }\n .hover\\:bg-\\[\\#f4f4f2\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #f4f4f2;\n }\n }\n }\n .hover\\:bg-\\[\\#fafaf8\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #fafaf8;\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\\/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-amber-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-amber-700);\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-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-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\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\\/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-transparent {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\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\\/\\[0\\.14\\] {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 14.000000000000002%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 14.000000000000002%, 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-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-zinc-50);\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-\\[\\#ddd\\] {\n &:hover {\n @media (hover: hover) {\n color: #ddd;\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-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-destructive\\/80 {\n &:hover {\n @media (hover: hover) {\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 }\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-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-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-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-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-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\\: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 .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-\\[\\#1a1a18\\] {\n &:focus {\n border-color: #1a1a18;\n }\n }\n .focus\\:border-\\[\\#8b5cf6\\]\\/60 {\n &:focus {\n border-color: color-mix(in oklab, #8b5cf6 60%, transparent);\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-white\\/\\[0\\.12\\] {\n &:focus {\n background-color: color-mix(in srgb, #fff 12%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 12%, transparent);\n }\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--color-accent-foreground);\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-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-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-red-300 {\n &:focus-visible {\n border-color: var(--color-red-300);\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-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-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-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 .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-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\\: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\\]\\:border-l-white {\n &[data-active=\"true\"] {\n border-left-color: var(--color-white);\n }\n }\n .data-\\[active\\=true\\]\\:bg-\\[\\#1e1e1e\\] {\n &[data-active=\"true\"] {\n background-color: #1e1e1e;\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-\\[active\\=true\\]\\:text-white {\n &[data-active=\"true\"] {\n color: var(--color-white);\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\\]\\: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-\\[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-\\[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-b-primary {\n &[data-state=\"active\"] {\n border-bottom-color: var(--color-primary);\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\\]\\:text-\\[var\\(--tab-active-color\\)\\] {\n &[data-state=\"active\"] {\n color: var(--tab-active-color);\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\\=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 .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 .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-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-\\[425px\\] {\n @media (width >= 40rem) {\n max-width: 425px;\n }\n }\n .sm\\:max-w-\\[600px\\] {\n @media (width >= 40rem) {\n max-width: 600px;\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-sm {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\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-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-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\\:p-0 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 0);\n }\n }\n .sm\\:p-6 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 6);\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\\: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-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\\: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\\: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\\: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\\:px-3 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 3);\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\\: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\\:-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\\: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\\: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\\: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\\: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-b-0 {\n @media (width >= 64rem) {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .lg\\:px-8 {\n @media (width >= 64rem) {\n padding-inline: 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\\:grid-cols-4 {\n @media (width >= 80rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .xl\\:gap-x-8 {\n @media (width >= 80rem) {\n column-gap: calc(var(--spacing) * 8);\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 .dark\\:border-input {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-input);\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-gray-900 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-900);\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\\: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-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\\: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\\=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 .\\[\\&_\\:is\\(h1\\,h2\\,h3\\)\\]\\:m-0 {\n & :is(h1,h2,h3) {\n margin: calc(var(--spacing) * 0);\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: 4px;\n }\n }\n .\\[\\&_code\\]\\:bg-blue-100 {\n & code {\n background-color: var(--color-blue-100);\n }\n }\n .\\[\\&_code\\]\\:bg-white\\/10 {\n & code {\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 }\n .\\[\\&_code\\]\\:px-1 {\n & code {\n padding-inline: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_code\\]\\:py-0\\.5 {\n & code {\n padding-block: calc(var(--spacing) * 0.5);\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 .\\[\\&_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 .\\[\\&_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: 4px;\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-semibold {\n & strong {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&_strong\\]\\:text-white {\n & strong {\n color: var(--color-white);\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\\]\\: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 .\\[\\&_tbody_td\\]\\:py-\\[10px\\] {\n & tbody td {\n padding-block: 10px;\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 .\\[\\&_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-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 .\\[\\&_thead_th\\]\\:sticky {\n & thead th {\n position: sticky;\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_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 .\\[\\&\\:\\:-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-thumb\\]\\:rounded-full {\n &::-webkit-scrollbar-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:bg-border {\n &::-webkit-scrollbar-thumb {\n background-color: var(--color-border);\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 .\\[\\&\\>button\\]\\:hidden {\n &>button {\n display: none;\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\\]\\:size-\\[14px\\] {\n &>svg {\n width: 14px;\n height: 14px;\n }\n }\n .\\[\\&\\>svg\\]\\:h-3\\.5 {\n &>svg {\n height: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:w-3\\.5 {\n &>svg {\n width: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:shrink-0 {\n &>svg {\n flex-shrink: 0;\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}\n@layer base {\n :root,\n :host {\n font-family: 'Inter', sans-serif;\n }\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-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@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@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-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\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 --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n";
|
|
1486
|
+
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-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-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-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-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-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-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-cyan-500: oklch(71.5% 0.143 215.221);\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-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\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-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-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-50: oklch(98.5% 0 0);\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-400: oklch(70.5% 0.015 286.067);\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: 4px;\n --container-xs: 320px;\n --container-sm: 384px;\n --container-md: 448px;\n --container-lg: 512px;\n --container-xl: 576px;\n --container-2xl: 672px;\n --container-3xl: 768px;\n --container-4xl: 896px;\n --container-5xl: 1024px;\n --container-6xl: 1152px;\n --container-7xl: 1280px;\n --text-xs: 12px;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 14px;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 16px;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 18px;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 20px;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 24px;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 30px;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 36px;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 48px;\n --text-5xl--line-height: 1;\n --text-7xl: 72px;\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 --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: 2px;\n --radius-sm: 4px;\n --radius-md: 6px;\n --radius-lg: 8px;\n --radius-xl: 12px;\n --radius-2xl: 16px;\n --radius-3xl: 24px;\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-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 {\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 .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-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-2\\.5 {\n top: calc(var(--spacing) * -2.5);\n }\n .-top-4 {\n top: calc(var(--spacing) * -4);\n }\n .-top-10 {\n top: calc(var(--spacing) * -10);\n }\n .-top-\\[8px\\] {\n top: calc(8px * -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-9 {\n top: calc(var(--spacing) * 9);\n }\n .top-20 {\n top: calc(var(--spacing) * 20);\n }\n .top-\\[-2px\\] {\n top: -2px;\n }\n .top-\\[6px\\] {\n top: 6px;\n }\n .top-\\[15px\\] {\n top: 15px;\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-10 {\n right: calc(var(--spacing) * -10);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .right-3 {\n right: calc(var(--spacing) * 3);\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-30 {\n right: calc(var(--spacing) * 30);\n }\n .right-\\[-100px\\] {\n right: -100px;\n }\n .right-\\[8px\\] {\n right: 8px;\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-\\[-2px\\] {\n bottom: -2px;\n }\n .bottom-\\[-32px\\] {\n bottom: -32px;\n }\n .bottom-full {\n bottom: 100%;\n }\n .\\!left-0 {\n left: calc(var(--spacing) * 0) !important;\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\\/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-\\[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-5 {\n z-index: 5;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\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-\\[60\\] {\n z-index: 60;\n }\n .z-\\[9999\\] {\n z-index: 9999;\n }\n .order-1 {\n order: 1;\n }\n .order-123 {\n order: 123;\n }\n .order-456 {\n order: 456;\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: 640px;\n }\n @media (width >= 48rem) {\n max-width: 768px;\n }\n @media (width >= 64rem) {\n max-width: 1024px;\n }\n @media (width >= 80rem) {\n max-width: 1280px;\n }\n @media (width >= 96rem) {\n max-width: 1536px;\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-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-0 {\n margin-inline: calc(var(--spacing) * 0);\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-\\[20px\\] {\n margin-inline: 20px;\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-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-\\[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-6 {\n margin-top: calc(var(--spacing) * -6);\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-3 {\n margin-top: calc(var(--spacing) * 3);\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-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-\\[-2px\\] {\n margin-top: -2px;\n }\n .mt-\\[1px\\] {\n margin-top: 1px;\n }\n .mt-\\[3px\\] {\n margin-top: 3px;\n }\n .mt-\\[4px\\] {\n margin-top: 4px;\n }\n .mt-\\[6px\\] {\n margin-top: 6px;\n }\n .mt-\\[8px\\] {\n margin-top: 8px;\n }\n .mt-\\[10px\\] {\n margin-top: 10px;\n }\n .mt-\\[16px\\] {\n margin-top: 16px;\n }\n .mt-\\[20px\\] {\n margin-top: 20px;\n }\n .mt-auto {\n margin-top: auto;\n }\n .-mr-4 {\n margin-right: calc(var(--spacing) * -4);\n }\n .-mr-px {\n margin-right: -1px;\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-3 {\n margin-right: calc(var(--spacing) * 3);\n }\n .mr-16 {\n margin-right: calc(var(--spacing) * 16);\n }\n .mr-\\[4px\\] {\n margin-right: 4px;\n }\n .mr-\\[5px\\] {\n margin-right: 5px;\n }\n .mr-\\[6px\\] {\n margin-right: 6px;\n }\n .mr-\\[7px\\] {\n margin-right: 7px;\n }\n .-mb-px {\n margin-bottom: -1px;\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-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-\\[1px\\] {\n margin-bottom: 1px;\n }\n .mb-\\[3px\\] {\n margin-bottom: 3px;\n }\n .mb-\\[4px\\] {\n margin-bottom: 4px;\n }\n .mb-\\[6px\\] {\n margin-bottom: 6px;\n }\n .mb-\\[8px\\] {\n margin-bottom: 8px;\n }\n .mb-\\[10px\\] {\n margin-bottom: 10px;\n }\n .mb-\\[12px\\] {\n margin-bottom: 12px;\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-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-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-\\[6px\\] {\n margin-left: 6px;\n }\n .ml-\\[18px\\] {\n margin-left: 18px;\n }\n .ml-\\[28px\\] {\n margin-left: 28px;\n }\n .ml-\\[112px\\] {\n margin-left: 112px;\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 .block {\n display: block;\n }\n .contents {\n display: contents;\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-square {\n aspect-ratio: 1 / 1;\n }\n .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .\\!size-\\[12px\\] {\n width: 12px !important;\n height: 12px !important;\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-12 {\n width: calc(var(--spacing) * 12);\n height: calc(var(--spacing) * 12);\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-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-\\[2px\\] {\n height: 2px;\n }\n .h-\\[4px\\] {\n height: 4px;\n }\n .h-\\[6px\\] {\n height: 6px;\n }\n .h-\\[8px\\] {\n height: 8px;\n }\n .h-\\[10px\\] {\n height: 10px;\n }\n .h-\\[11px\\] {\n height: 11px;\n }\n .h-\\[12px\\] {\n height: 12px;\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-\\[18px\\] {\n height: 18px;\n }\n .h-\\[20px\\] {\n height: 20px;\n }\n .h-\\[22px\\] {\n height: 22px;\n }\n .h-\\[26px\\] {\n height: 26px;\n }\n .h-\\[28px\\] {\n height: 28px;\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-\\[50px\\] {\n height: 50px;\n }\n .h-\\[60px\\] {\n height: 60px;\n }\n .h-\\[64px\\] {\n height: 64px;\n }\n .h-\\[65px\\] {\n height: 65px;\n }\n .h-\\[70px\\] {\n height: 70px;\n }\n .h-\\[74px\\] {\n height: 74px;\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-\\[120px\\] {\n height: 120px;\n }\n .h-\\[150px\\] {\n height: 150px;\n }\n .h-\\[162px\\] {\n height: 162px;\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-\\[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-\\[800px\\] {\n height: 800px;\n }\n .h-\\[calc\\(100vh-198px\\)\\] {\n height: calc(100vh - 198px);\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-4 {\n max-height: calc(var(--spacing) * 4);\n }\n .max-h-48 {\n max-height: calc(var(--spacing) * 48);\n }\n .max-h-60 {\n max-height: calc(var(--spacing) * 60);\n }\n .max-h-\\[--radix-select-content-available-height\\] {\n max-height: --radix-select-content-available-height;\n }\n .max-h-\\[25px\\] {\n max-height: 25px;\n }\n .max-h-\\[40em\\] {\n max-height: 40em;\n }\n .max-h-\\[60vh\\] {\n max-height: 60vh;\n }\n .max-h-\\[80vh\\] {\n max-height: 80vh;\n }\n .max-h-\\[85vh\\] {\n max-height: 85vh;\n }\n .max-h-\\[90vh\\] {\n max-height: 90vh;\n }\n .max-h-\\[92vh\\] {\n max-height: 92vh;\n }\n .max-h-\\[180px\\] {\n max-height: 180px;\n }\n .max-h-\\[200px\\] {\n max-height: 200px;\n }\n .max-h-\\[206px\\] {\n max-height: 206px;\n }\n .max-h-\\[260px\\] {\n max-height: 260px;\n }\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n .max-h-\\[500px\\] {\n max-height: 500px;\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-\\[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-9 {\n min-height: calc(var(--spacing) * 9);\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-\\[2\\.25rem\\] {\n min-height: 36px;\n }\n .min-h-\\[16px\\] {\n min-height: 16px;\n }\n .min-h-\\[24px\\] {\n min-height: 24px;\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-\\[300px\\] {\n min-height: 300px;\n }\n .min-h-\\[400px\\] {\n min-height: 400px;\n }\n .min-h-\\[420px\\] {\n min-height: 420px;\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-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-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-72 {\n width: calc(var(--spacing) * 72);\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\\.5px\\] {\n width: 1.5px;\n }\n .w-\\[1px\\] {\n width: 1px;\n }\n .w-\\[3px\\] {\n width: 3px;\n }\n .w-\\[8px\\] {\n width: 8px;\n }\n .w-\\[12px\\] {\n width: 12px;\n }\n .w-\\[14px\\] {\n width: 14px;\n }\n .w-\\[15\\.33px\\] {\n width: 15.33px;\n }\n .w-\\[16px\\] {\n width: 16px;\n }\n .w-\\[18px\\] {\n width: 18px;\n }\n .w-\\[20px\\] {\n width: 20px;\n }\n .w-\\[24px\\] {\n width: 24px;\n }\n .w-\\[26px\\] {\n width: 26px;\n }\n .w-\\[28px\\] {\n width: 28px;\n }\n .w-\\[30\\%\\] {\n width: 30%;\n }\n .w-\\[35px\\] {\n width: 35px;\n }\n .w-\\[38px\\] {\n width: 38px;\n }\n .w-\\[40px\\] {\n width: 40px;\n }\n .w-\\[44px\\] {\n width: 44px;\n }\n .w-\\[45\\%\\] {\n width: 45%;\n }\n .w-\\[48px\\] {\n width: 48px;\n }\n .w-\\[50px\\] {\n width: 50px;\n }\n .w-\\[60px\\] {\n width: 60px;\n }\n .w-\\[64px\\] {\n width: 64px;\n }\n .w-\\[70\\%\\] {\n width: 70%;\n }\n .w-\\[70px\\] {\n width: 70px;\n }\n .w-\\[72px\\] {\n width: 72px;\n }\n .w-\\[75px\\] {\n width: 75px;\n }\n .w-\\[80px\\] {\n width: 80px;\n }\n .w-\\[90px\\] {\n width: 90px;\n }\n .w-\\[95vw\\] {\n width: 95vw;\n }\n .w-\\[100px\\] {\n width: 100px;\n }\n .w-\\[100vw\\] {\n width: 100vw;\n }\n .w-\\[110px\\] {\n width: 110px;\n }\n .w-\\[120px\\] {\n width: 120px;\n }\n .w-\\[126px\\] {\n width: 126px;\n }\n .w-\\[130px\\] {\n width: 130px;\n }\n .w-\\[140px\\] {\n width: 140px;\n }\n .w-\\[145px\\] {\n width: 145px;\n }\n .w-\\[150px\\] {\n width: 150px;\n }\n .w-\\[160px\\] {\n width: 160px;\n }\n .w-\\[165px\\] {\n width: 165px;\n }\n .w-\\[180px\\] {\n width: 180px;\n }\n .w-\\[200px\\] {\n width: 200px;\n }\n .w-\\[220px\\] {\n width: 220px;\n }\n .w-\\[250px\\] {\n width: 250px;\n }\n .w-\\[260px\\] {\n width: 260px;\n }\n .w-\\[301px\\] {\n width: 301px;\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-\\[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-\\[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-\\[1080px\\] {\n width: 1080px;\n }\n .w-\\[calc\\(100\\%\\+0\\.5rem\\)\\] {\n width: calc(100% + 8px);\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-2xl {\n max-width: var(--container-2xl);\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-6xl {\n max-width: var(--container-6xl);\n }\n .max-w-7xl {\n max-width: var(--container-7xl);\n }\n .max-w-80 {\n max-width: calc(var(--spacing) * 80);\n }\n .max-w-\\[25px\\] {\n max-width: 25px;\n }\n .max-w-\\[50\\%\\] {\n max-width: 50%;\n }\n .max-w-\\[80\\%\\] {\n max-width: 80%;\n }\n .max-w-\\[95vw\\] {\n max-width: 95vw;\n }\n .max-w-\\[100\\%\\] {\n max-width: 100%;\n }\n .max-w-\\[140px\\] {\n max-width: 140px;\n }\n .max-w-\\[150px\\] {\n max-width: 150px;\n }\n .max-w-\\[177px\\] {\n max-width: 177px;\n }\n .max-w-\\[180px\\] {\n max-width: 180px;\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-\\[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-\\[400px\\] {\n max-width: 400px;\n }\n .max-w-\\[450px\\] {\n max-width: 450px;\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-\\[544px\\] {\n max-width: 544px;\n }\n .max-w-\\[600px\\] {\n max-width: 600px;\n }\n .max-w-\\[680px\\] {\n max-width: 680px;\n }\n .max-w-\\[700px\\] {\n max-width: 700px;\n }\n .max-w-\\[791px\\] {\n max-width: 791px;\n }\n .max-w-\\[800px\\] {\n max-width: 800px;\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 32px);\n }\n .max-w-\\[min\\(100\\%\\,11rem\\)\\] {\n max-width: min(100%, 176px);\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-56 {\n min-width: calc(var(--spacing) * 56);\n }\n .min-w-\\[8rem\\] {\n min-width: 128px;\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-\\[80px\\] {\n min-width: 80px;\n }\n .min-w-\\[85px\\] {\n min-width: 85px;\n }\n .min-w-\\[120px\\] {\n min-width: 120px;\n }\n .min-w-\\[160px\\] {\n min-width: 160px;\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-\\[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 .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 .\\!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-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-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\\.5 {\n --tw-translate-y: calc(var(--spacing) * 0.5);\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-\\[calc\\(-50\\%_-_2px\\)\\] {\n --tw-translate-y: calc(-50% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\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-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 .touch-none {\n touch-action: none;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\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 .columns-1 {\n columns: 1;\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-\\[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-subgrid {\n grid-template-columns: subgrid;\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-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-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-\\[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-\\[8px\\] {\n gap: 8px;\n }\n .gap-\\[9px\\] {\n gap: 9px;\n }\n .gap-\\[10px\\] {\n gap: 10px;\n }\n .gap-\\[15px\\] {\n gap: 15px;\n }\n .gap-\\[20px\\] {\n gap: 20px;\n }\n .gap-\\[24px\\] {\n gap: 24px;\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 .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-6 {\n column-gap: calc(var(--spacing) * 6);\n }\n .gap-x-12 {\n column-gap: calc(var(--spacing) * 12);\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-2 {\n row-gap: calc(var(--spacing) * 2);\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-7 {\n row-gap: calc(var(--spacing) * 7);\n }\n .gap-y-8 {\n row-gap: calc(var(--spacing) * 8);\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-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-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 .\\!rounded-none {\n border-radius: 0 !important;\n }\n .rounded {\n border-radius: 4px;\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-\\[10px\\] {\n border-radius: 10px;\n }\n .rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .rounded-\\[14px\\] {\n border-radius: 14px;\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: 4px;\n border-top-right-radius: 4px;\n }\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\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-\\[8px\\] {\n border-top-right-radius: 8px;\n border-bottom-right-radius: 8px;\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-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-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-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-2 {\n border-left-style: var(--tw-border-style);\n border-left-width: 2px;\n }\n .border-l-\\[2px\\] {\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-\\[\\#1D9E75\\] {\n border-color: #1D9E75;\n }\n .border-\\[\\#1a1a18\\] {\n border-color: #1a1a18;\n }\n .border-\\[\\#222\\] {\n border-color: #222;\n }\n .border-\\[\\#1877F2\\] {\n border-color: #1877F2;\n }\n .border-\\[\\#747775\\] {\n border-color: #747775;\n }\n .border-\\[\\#E4E4E7\\] {\n border-color: #E4E4E7;\n }\n .border-\\[\\#d3d1c7\\] {\n border-color: #d3d1c7;\n }\n .border-\\[\\#d6e3ff\\] {\n border-color: #d6e3ff;\n }\n .border-\\[\\#e2e4e9\\] {\n border-color: #e2e4e9;\n }\n .border-\\[\\#e4e4e7\\] {\n border-color: #e4e4e7;\n }\n .border-\\[\\#e8e6df\\] {\n border-color: #e8e6df;\n }\n .border-\\[\\#f4f2ec\\] {\n border-color: #f4f2ec;\n }\n .border-\\[\\#f4f4f2\\] {\n border-color: #f4f4f2;\n }\n .border-\\[\\#fde68a\\] {\n border-color: #fde68a;\n }\n .border-\\[var\\(--bc-text-color\\,\\#18181B\\)\\] {\n border-color: var(--bc-text-color,#18181B);\n }\n .border-amber-200 {\n border-color: var(--color-amber-200);\n }\n .border-amber-400 {\n border-color: var(--color-amber-400);\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-50 {\n border-color: var(--color-blue-50);\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\\/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-destructive {\n border-color: var(--color-destructive);\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-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-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-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-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-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-transparent {\n border-color: transparent;\n }\n .border-violet-300 {\n border-color: var(--color-violet-300);\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-white\\/\\[0\\.12\\] {\n border-color: color-mix(in srgb, #fff 12%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 12%, transparent);\n }\n }\n .border-white\\/\\[0\\.15\\] {\n border-color: color-mix(in srgb, #fff 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 15%, transparent);\n }\n }\n .border-yellow-200 {\n border-color: var(--color-yellow-200);\n }\n .border-yellow-300 {\n border-color: var(--color-yellow-300);\n }\n .border-zinc-200 {\n border-color: var(--color-zinc-200);\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-neutral-20 {\n border-bottom-color: var(--color-neutral-20);\n }\n .border-b-transparent {\n border-bottom-color: transparent;\n }\n .border-l-\\[\\#534ab7\\] {\n border-left-color: #534ab7;\n }\n .border-l-transparent {\n border-left-color: transparent;\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-\\[\\#0001\\] {\n background-color: #0001;\n }\n .bg-\\[\\#1a1a18\\] {\n background-color: #1a1a18;\n }\n .bg-\\[\\#2A9D90\\] {\n background-color: #2A9D90;\n }\n .bg-\\[\\#1877F2\\] {\n background-color: #1877F2;\n }\n .bg-\\[\\#18181B\\] {\n background-color: #18181B;\n }\n .bg-\\[\\#18181b\\] {\n background-color: #18181b;\n }\n .bg-\\[\\#222831\\] {\n background-color: #222831;\n }\n .bg-\\[\\#E0E6EE\\] {\n background-color: #E0E6EE;\n }\n .bg-\\[\\#E1F5EE\\] {\n background-color: #E1F5EE;\n }\n .bg-\\[\\#d3d1c7\\] {\n background-color: #d3d1c7;\n }\n .bg-\\[\\#e1f5ee\\] {\n background-color: #e1f5ee;\n }\n .bg-\\[\\#e6f1fb\\] {\n background-color: #e6f1fb;\n }\n .bg-\\[\\#e8e6df\\] {\n background-color: #e8e6df;\n }\n .bg-\\[\\#e76d4e\\] {\n background-color: #e76d4e;\n }\n .bg-\\[\\#eaf1ff\\] {\n background-color: #eaf1ff;\n }\n .bg-\\[\\#f1f4f8\\] {\n background-color: #f1f4f8;\n }\n .bg-\\[\\#f4f2ec\\] {\n background-color: #f4f2ec;\n }\n .bg-\\[\\#f4f4f2\\] {\n background-color: #f4f4f2;\n }\n .bg-\\[\\#f4f4f5\\]\\/60 {\n background-color: color-mix(in oklab, #f4f4f5 60%, transparent);\n }\n .bg-\\[\\#f8f7f4\\] {\n background-color: #f8f7f4;\n }\n .bg-\\[\\#faeeda\\] {\n background-color: #faeeda;\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-\\[hsl\\(240\\,12\\%\\,92\\%\\)\\] {\n background-color: hsl(240,12%,92%);\n }\n .bg-\\[hsl\\(240\\,100\\%\\,98\\%\\)\\] {\n background-color: hsl(240,100%,98%);\n }\n .bg-\\[rgb\\(243_244_246\\)\\]\\/90 {\n background-color: color-mix(in oklab, rgb(243 244 246) 90%, transparent);\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-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-600 {\n background-color: var(--color-amber-600);\n }\n .bg-background {\n background-color: var(--color-background);\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\\/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\\/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-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-destructive {\n background-color: var(--color-destructive);\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-emerald-500 {\n background-color: var(--color-emerald-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\\/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-muted {\n background-color: var(--color-muted);\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-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-primary {\n background-color: var(--color-primary);\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-secondary {\n background-color: var(--color-secondary);\n }\n .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .bg-slate-100 {\n background-color: var(--color-slate-100);\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-transparent {\n background-color: transparent;\n }\n .bg-violet-200 {\n background-color: var(--color-violet-200);\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\\/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\\/70 {\n background-color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n .bg-white\\/\\[0\\.06\\] {\n background-color: color-mix(in srgb, #fff 6%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 6%, transparent);\n }\n }\n .bg-white\\/\\[0\\.08\\] {\n background-color: color-mix(in srgb, #fff 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 8%, 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-400 {\n background-color: var(--color-yellow-400);\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-50 {\n background-color: var(--color-zinc-50);\n }\n .bg-zinc-50\\/50 {\n background-color: color-mix(in srgb, oklch(98.5% 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-zinc-50) 50%, transparent);\n }\n }\n .bg-zinc-100 {\n background-color: var(--color-zinc-100);\n }\n .bg-zinc-100\\/50 {\n background-color: color-mix(in srgb, oklch(96.7% 0.001 286.375) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-zinc-100) 50%, transparent);\n }\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-400 {\n background-color: var(--color-zinc-400);\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-\\[radial-gradient\\(circle\\,rgba\\(139\\,92\\,246\\,0\\.3\\)_0\\%\\,transparent_70\\%\\)\\] {\n background-image: radial-gradient(circle,rgba(139,92,246,0.3) 0%,transparent 70%);\n }\n .bg-none {\n background-image: none;\n }\n .from-\\[\\#1a1a2e\\] {\n --tw-gradient-from: #1a1a2e;\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-\\[\\#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-\\[\\#8b5cf6\\] {\n --tw-gradient-from: #8b5cf6;\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-\\[\\#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-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-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-\\[\\#2d1b4e\\] {\n --tw-gradient-to: #2d1b4e;\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-\\[\\#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-\\[\\#ec4899\\] {\n --tw-gradient-to: #ec4899;\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-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-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-cover {\n background-size: cover;\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-blue-500 {\n fill: var(--color-blue-500);\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 .fill-white {\n fill: var(--color-white);\n }\n .stroke-slate-500 {\n stroke: var(--color-slate-500);\n }\n .stroke-white {\n stroke: var(--color-white);\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-10 {\n padding: calc(var(--spacing) * 10);\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-\\[5px_8px\\] {\n padding: 5px 8px;\n }\n .p-\\[8px_10px\\] {\n padding: 8px 10px;\n }\n .p-\\[9\\.7px\\] {\n padding: 9.7px;\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-\\[20px\\] {\n padding: 20px;\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-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-\\[3px\\] {\n padding-inline: 3px;\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-\\[10px\\] {\n padding-inline: 10px;\n }\n .px-\\[11px\\] {\n padding-inline: 11px;\n }\n .px-\\[12px\\] {\n padding-inline: 12px;\n }\n .px-\\[14px\\] {\n padding-inline: 14px;\n }\n .px-\\[16px\\] {\n padding-inline: 16px;\n }\n .px-\\[18px\\] {\n padding-inline: 18px;\n }\n .px-\\[20px\\] {\n padding-inline: 20px;\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-16 {\n padding-block: calc(var(--spacing) * 16);\n }\n .py-24 {\n padding-block: calc(var(--spacing) * 24);\n }\n .py-\\[1px\\] {\n padding-block: 1px;\n }\n .py-\\[2px\\] {\n padding-block: 2px;\n }\n .py-\\[4px\\] {\n padding-block: 4px;\n }\n .py-\\[5px\\] {\n padding-block: 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-\\[10px\\] {\n padding-block: 10px;\n }\n .py-\\[12px\\] {\n padding-block: 12px;\n }\n .py-\\[14px\\] {\n padding-block: 14px;\n }\n .py-\\[16px\\] {\n padding-block: 16px;\n }\n .py-\\[20px\\] {\n padding-block: 20px;\n }\n .py-\\[22px\\] {\n padding-block: 22px;\n }\n .py-\\[40px\\] {\n padding-block: 40px;\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-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-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-\\[10px\\] {\n padding-top: 10px;\n }\n .pt-\\[12px\\] {\n padding-top: 12px;\n }\n .pt-\\[18px\\] {\n padding-top: 18px;\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 .pb-0 {\n padding-bottom: calc(var(--spacing) * 0);\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1);\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-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-\\[4px\\] {\n padding-bottom: 4px;\n }\n .pb-\\[14px\\] {\n padding-bottom: 14px;\n }\n .pb-\\[30px\\] {\n padding-bottom: 30px;\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-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-\\[10px\\] {\n padding-left: 10px;\n }\n .pl-\\[28px\\] {\n padding-left: 28px;\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-mono {\n font-family: var(--font-mono);\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-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: 11.2px;\n }\n .text-\\[0\\.8rem\\] {\n font-size: 12.8px;\n }\n .text-\\[0\\.85em\\] {\n font-size: 0.85em;\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-\\[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-\\[18px\\] {\n font-size: 18px;\n }\n .text-\\[20px\\] {\n font-size: 20px;\n }\n .text-\\[22px\\] {\n font-size: 22px;\n }\n .text-\\[24px\\] {\n font-size: 24px;\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-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\\.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\\.55\\] {\n --tw-leading: 1.55;\n line-height: 1.55;\n }\n .leading-\\[1\\] {\n --tw-leading: 1;\n line-height: 1;\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-\\[500\\] {\n --tw-font-weight: 500;\n font-weight: 500;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\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\\.5px\\] {\n --tw-tracking: -0.5px;\n letter-spacing: -0.5px;\n }\n .tracking-\\[0\\.01em\\] {\n --tw-tracking: 0.01em;\n letter-spacing: 0.01em;\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\\.08em\\] {\n --tw-tracking: 0.08em;\n letter-spacing: 0.08em;\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-\\[\\#0c447c\\] {\n color: #0c447c;\n }\n .text-\\[\\#000000\\] {\n color: #000000;\n }\n .text-\\[\\#1F1F1F\\] {\n color: #1F1F1F;\n }\n .text-\\[\\#1a1a18\\] {\n color: #1a1a18;\n }\n .text-\\[\\#3b82f6\\] {\n color: #3b82f6;\n }\n .text-\\[\\#5F5CFF\\] {\n color: #5F5CFF;\n }\n .text-\\[\\#5f5e5a\\] {\n color: #5f5e5a;\n }\n .text-\\[\\#16A34A\\] {\n color: #16A34A;\n }\n .text-\\[\\#94a3b8\\] {\n color: #94a3b8;\n }\n .text-\\[\\#555\\] {\n color: #555;\n }\n .text-\\[\\#666\\] {\n color: #666;\n }\n .text-\\[\\#888\\] {\n color: #888;\n }\n .text-\\[\\#3763f4\\] {\n color: #3763f4;\n }\n .text-\\[\\#09090b\\] {\n color: #09090b;\n }\n .text-\\[\\#15803d\\] {\n color: #15803d;\n }\n .text-\\[\\#18181B\\] {\n color: #18181B;\n }\n .text-\\[\\#18181b\\] {\n color: #18181b;\n }\n .text-\\[\\#71717A\\] {\n color: #71717A;\n }\n .text-\\[\\#71717a\\] {\n color: #71717a;\n }\n .text-\\[\\#085041\\] {\n color: #085041;\n }\n .text-\\[\\#92400e\\] {\n color: #92400e;\n }\n .text-\\[\\#222831\\] {\n color: #222831;\n }\n .text-\\[\\#412402\\] {\n color: #412402;\n }\n .text-\\[\\#475569\\] {\n color: #475569;\n }\n .text-\\[\\#888780\\] {\n color: #888780;\n }\n .text-\\[\\#979797\\] {\n color: #979797;\n }\n .text-\\[\\#DC2626\\] {\n color: #DC2626;\n }\n .text-\\[\\#a8a8c0\\] {\n color: #a8a8c0;\n }\n .text-\\[\\#aaa\\] {\n color: #aaa;\n }\n .text-\\[\\#c0bfb9\\] {\n color: #c0bfb9;\n }\n .text-\\[\\#ccc\\] {\n color: #ccc;\n }\n .text-\\[\\#dc2626\\] {\n color: #dc2626;\n }\n .text-\\[\\#e8e8f0\\] {\n color: #e8e8f0;\n }\n .text-\\[rgba\\(17\\,17\\,17\\,0\\.32\\)\\] {\n color: rgba(17,17,17,0.32);\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-accent-foreground {\n color: var(--color-accent-foreground);\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-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-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-600 {\n color: var(--color-indigo-600);\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-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-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-secondary-foreground {\n color: var(--color-secondary-foreground);\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-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\\/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-400 {\n color: var(--color-zinc-400);\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 .uppercase {\n text-transform: uppercase;\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-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 .caret-red-600 {\n caret-color: var(--color-red-600);\n }\n .accent-black {\n accent-color: var(--color-black);\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-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-100 {\n opacity: 100%;\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_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-\\[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-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 .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 .\\[box-shadow\\:none\\] {\n box-shadow: none;\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-sidebar-ring {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n .ring-white {\n --tw-ring-color: var(--color-white);\n }\n .ring-zinc-200 {\n --tw-ring-color: var(--color-zinc-200);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\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-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-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-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-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-\\[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-\\[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-\\[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\\] {\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 .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 .outline-none {\n --tw-outline-style: none;\n outline-style: none;\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 .\\[min-inline-size\\:0\\] {\n min-inline-size: 0;\n }\n .\\[scrollbar-width\\:none\\] {\n scrollbar-width: none;\n }\n .ring-inset {\n --tw-ring-inset: inset;\n }\n .group-open\\:rotate-90 {\n &:is(:where(.group):is([open], :popover-open, :open) *) {\n rotate: 90deg;\n }\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\\: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\\: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-100 {\n &:is(:where(.group):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\\=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-\\[\\#a8a8c0\\] {\n &::placeholder {\n color: #a8a8c0;\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 .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 .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-0 {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .focus-within\\:relative {\n &:focus-within {\n position: relative;\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-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\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\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-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-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-purple-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-purple-400);\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-\\[\\#1a1a1a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #1a1a1a;\n }\n }\n }\n .hover\\:bg-\\[\\#2d3544\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #2d3544;\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-\\[\\#d0d8e4\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #d0d8e4;\n }\n }\n }\n .hover\\:bg-\\[\\#f4f2ec\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #f4f2ec;\n }\n }\n }\n .hover\\:bg-\\[\\#f4f4f2\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #f4f4f2;\n }\n }\n }\n .hover\\:bg-\\[\\#fafaf8\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #fafaf8;\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\\/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-amber-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-amber-700);\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-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-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\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\\/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-transparent {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\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\\/\\[0\\.14\\] {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 14.000000000000002%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 14.000000000000002%, 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-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-zinc-50);\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-\\[\\#ddd\\] {\n &:hover {\n @media (hover: hover) {\n color: #ddd;\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-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-destructive\\/80 {\n &:hover {\n @media (hover: hover) {\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 }\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-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-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-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-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\\: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 .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-\\[\\#1a1a18\\] {\n &:focus {\n border-color: #1a1a18;\n }\n }\n .focus\\:border-\\[\\#8b5cf6\\]\\/60 {\n &:focus {\n border-color: color-mix(in oklab, #8b5cf6 60%, transparent);\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-white\\/\\[0\\.12\\] {\n &:focus {\n background-color: color-mix(in srgb, #fff 12%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 12%, transparent);\n }\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--color-accent-foreground);\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-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-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-red-300 {\n &:focus-visible {\n border-color: var(--color-red-300);\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-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-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-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 .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-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\\: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\\]\\:border-l-white {\n &[data-active=\"true\"] {\n border-left-color: var(--color-white);\n }\n }\n .data-\\[active\\=true\\]\\:bg-\\[\\#1e1e1e\\] {\n &[data-active=\"true\"] {\n background-color: #1e1e1e;\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-\\[active\\=true\\]\\:text-white {\n &[data-active=\"true\"] {\n color: var(--color-white);\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\\]\\: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-\\[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-\\[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-b-primary {\n &[data-state=\"active\"] {\n border-bottom-color: var(--color-primary);\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\\]\\:text-\\[var\\(--tab-active-color\\)\\] {\n &[data-state=\"active\"] {\n color: var(--tab-active-color);\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\\=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 .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 .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-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-\\[425px\\] {\n @media (width >= 40rem) {\n max-width: 425px;\n }\n }\n .sm\\:max-w-\\[600px\\] {\n @media (width >= 40rem) {\n max-width: 600px;\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-sm {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\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-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-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\\:p-0 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 0);\n }\n }\n .sm\\:p-6 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 6);\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\\: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-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\\: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\\: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\\: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\\:px-3 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 3);\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\\: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\\:-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\\: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\\: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\\:flex-col {\n @media (width >= 64rem) {\n flex-direction: column;\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-b-0 {\n @media (width >= 64rem) {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .lg\\:px-8 {\n @media (width >= 64rem) {\n padding-inline: 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\\:flex {\n @media (width >= 80rem) {\n display: flex;\n }\n }\n .xl\\:grid-cols-4 {\n @media (width >= 80rem) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n }\n .xl\\:flex-row {\n @media (width >= 80rem) {\n flex-direction: row;\n }\n }\n .xl\\:gap-x-8 {\n @media (width >= 80rem) {\n column-gap: calc(var(--spacing) * 8);\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 .dark\\:border-input {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-input);\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-gray-900 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-900);\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\\: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-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\\: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\\=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 .\\[\\&_\\:is\\(h1\\,h2\\,h3\\)\\]\\:m-0 {\n & :is(h1,h2,h3) {\n margin: calc(var(--spacing) * 0);\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: 4px;\n }\n }\n .\\[\\&_code\\]\\:bg-blue-100 {\n & code {\n background-color: var(--color-blue-100);\n }\n }\n .\\[\\&_code\\]\\:bg-white\\/10 {\n & code {\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 }\n .\\[\\&_code\\]\\:px-1 {\n & code {\n padding-inline: calc(var(--spacing) * 1);\n }\n }\n .\\[\\&_code\\]\\:py-0\\.5 {\n & code {\n padding-block: calc(var(--spacing) * 0.5);\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 .\\[\\&_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 .\\[\\&_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: 4px;\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-semibold {\n & strong {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n }\n .\\[\\&_strong\\]\\:text-white {\n & strong {\n color: var(--color-white);\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\\]\\: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 .\\[\\&_tbody_td\\]\\:py-\\[10px\\] {\n & tbody td {\n padding-block: 10px;\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 .\\[\\&_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-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 .\\[\\&_thead_th\\]\\:sticky {\n & thead th {\n position: sticky;\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_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 .\\[\\&\\:\\:-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-thumb\\]\\:rounded-full {\n &::-webkit-scrollbar-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:bg-border {\n &::-webkit-scrollbar-thumb {\n background-color: var(--color-border);\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 .\\[\\&\\>button\\]\\:hidden {\n &>button {\n display: none;\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\\]\\:size-\\[14px\\] {\n &>svg {\n width: 14px;\n height: 14px;\n }\n }\n .\\[\\&\\>svg\\]\\:h-3\\.5 {\n &>svg {\n height: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:w-3\\.5 {\n &>svg {\n width: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:shrink-0 {\n &>svg {\n flex-shrink: 0;\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}\n@layer base {\n :root,\n :host {\n font-family: 'Inter', sans-serif;\n }\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-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@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@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-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\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 --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n";
|
|
1369
1487
|
|
|
1370
1488
|
/**
|
|
1371
1489
|
* Global stylesheet registry (shared across independently-bundled SDKs via
|
|
@@ -1578,6 +1696,18 @@ const ArrowLeft = [
|
|
|
1578
1696
|
["path", { d: "M19 12H5" }]
|
|
1579
1697
|
];
|
|
1580
1698
|
|
|
1699
|
+
/**
|
|
1700
|
+
* @license lucide v0.511.0 - ISC
|
|
1701
|
+
*
|
|
1702
|
+
* This source code is licensed under the ISC license.
|
|
1703
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
1704
|
+
*/
|
|
1705
|
+
|
|
1706
|
+
const ArrowRight = [
|
|
1707
|
+
["path", { d: "M5 12h14" }],
|
|
1708
|
+
["path", { d: "m12 5 7 7-7 7" }]
|
|
1709
|
+
];
|
|
1710
|
+
|
|
1581
1711
|
/**
|
|
1582
1712
|
* @license lucide v0.511.0 - ISC
|
|
1583
1713
|
*
|
|
@@ -1627,6 +1757,18 @@ const CircleX = [
|
|
|
1627
1757
|
|
|
1628
1758
|
const Circle = [["circle", { cx: "12", cy: "12", r: "10" }]];
|
|
1629
1759
|
|
|
1760
|
+
/**
|
|
1761
|
+
* @license lucide v0.511.0 - ISC
|
|
1762
|
+
*
|
|
1763
|
+
* This source code is licensed under the ISC license.
|
|
1764
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
1765
|
+
*/
|
|
1766
|
+
|
|
1767
|
+
const Clock = [
|
|
1768
|
+
["circle", { cx: "12", cy: "12", r: "10" }],
|
|
1769
|
+
["polyline", { points: "12 6 12 12 16 14" }]
|
|
1770
|
+
];
|
|
1771
|
+
|
|
1630
1772
|
/**
|
|
1631
1773
|
* @license lucide v0.511.0 - ISC
|
|
1632
1774
|
*
|
|
@@ -1643,6 +1785,18 @@ const Cookie = [
|
|
|
1643
1785
|
["path", { d: "M7 14v.01" }]
|
|
1644
1786
|
];
|
|
1645
1787
|
|
|
1788
|
+
/**
|
|
1789
|
+
* @license lucide v0.511.0 - ISC
|
|
1790
|
+
*
|
|
1791
|
+
* This source code is licensed under the ISC license.
|
|
1792
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
1793
|
+
*/
|
|
1794
|
+
|
|
1795
|
+
const CornerUpLeft = [
|
|
1796
|
+
["path", { d: "M20 20v-7a4 4 0 0 0-4-4H4" }],
|
|
1797
|
+
["path", { d: "M9 14 4 9l5-5" }]
|
|
1798
|
+
];
|
|
1799
|
+
|
|
1646
1800
|
/**
|
|
1647
1801
|
* @license lucide v0.511.0 - ISC
|
|
1648
1802
|
*
|
|
@@ -1739,6 +1893,24 @@ const Info = [
|
|
|
1739
1893
|
["path", { d: "M12 8h.01" }]
|
|
1740
1894
|
];
|
|
1741
1895
|
|
|
1896
|
+
/**
|
|
1897
|
+
* @license lucide v0.511.0 - ISC
|
|
1898
|
+
*
|
|
1899
|
+
* This source code is licensed under the ISC license.
|
|
1900
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
1901
|
+
*/
|
|
1902
|
+
|
|
1903
|
+
const Layers = [
|
|
1904
|
+
[
|
|
1905
|
+
"path",
|
|
1906
|
+
{
|
|
1907
|
+
d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"
|
|
1908
|
+
}
|
|
1909
|
+
],
|
|
1910
|
+
["path", { d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12" }],
|
|
1911
|
+
["path", { d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17" }]
|
|
1912
|
+
];
|
|
1913
|
+
|
|
1742
1914
|
/**
|
|
1743
1915
|
* @license lucide v0.511.0 - ISC
|
|
1744
1916
|
*
|
|
@@ -1910,6 +2082,26 @@ const ShoppingCart = [
|
|
|
1910
2082
|
]
|
|
1911
2083
|
];
|
|
1912
2084
|
|
|
2085
|
+
/**
|
|
2086
|
+
* @license lucide v0.511.0 - ISC
|
|
2087
|
+
*
|
|
2088
|
+
* This source code is licensed under the ISC license.
|
|
2089
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2090
|
+
*/
|
|
2091
|
+
|
|
2092
|
+
const Sparkles = [
|
|
2093
|
+
[
|
|
2094
|
+
"path",
|
|
2095
|
+
{
|
|
2096
|
+
d: "M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"
|
|
2097
|
+
}
|
|
2098
|
+
],
|
|
2099
|
+
["path", { d: "M20 3v4" }],
|
|
2100
|
+
["path", { d: "M22 5h-4" }],
|
|
2101
|
+
["path", { d: "M4 17v2" }],
|
|
2102
|
+
["path", { d: "M5 18H3" }]
|
|
2103
|
+
];
|
|
2104
|
+
|
|
1913
2105
|
/**
|
|
1914
2106
|
* @license lucide v0.511.0 - ISC
|
|
1915
2107
|
*
|
|
@@ -1934,6 +2126,23 @@ const Video = [
|
|
|
1934
2126
|
["rect", { x: "2", y: "6", width: "14", height: "12", rx: "2" }]
|
|
1935
2127
|
];
|
|
1936
2128
|
|
|
2129
|
+
/**
|
|
2130
|
+
* @license lucide v0.511.0 - ISC
|
|
2131
|
+
*
|
|
2132
|
+
* This source code is licensed under the ISC license.
|
|
2133
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2134
|
+
*/
|
|
2135
|
+
|
|
2136
|
+
const WifiOff = [
|
|
2137
|
+
["path", { d: "M12 20h.01" }],
|
|
2138
|
+
["path", { d: "M8.5 16.429a5 5 0 0 1 7 0" }],
|
|
2139
|
+
["path", { d: "M5 12.859a10 10 0 0 1 5.17-2.69" }],
|
|
2140
|
+
["path", { d: "M19 12.859a10 10 0 0 0-2.007-1.523" }],
|
|
2141
|
+
["path", { d: "M2 8.82a15 15 0 0 1 4.177-2.643" }],
|
|
2142
|
+
["path", { d: "M22 8.82a15 15 0 0 0-11.288-3.764" }],
|
|
2143
|
+
["path", { d: "m2 2 20 20" }]
|
|
2144
|
+
];
|
|
2145
|
+
|
|
1937
2146
|
/**
|
|
1938
2147
|
* @license lucide v0.511.0 - ISC
|
|
1939
2148
|
*
|
|
@@ -1967,6 +2176,7 @@ const icons = {
|
|
|
1967
2176
|
right: ChevronRight,
|
|
1968
2177
|
percent: Percent,
|
|
1969
2178
|
arrowLeft: ArrowLeft,
|
|
2179
|
+
arrowRight: ArrowRight,
|
|
1970
2180
|
messageCircle: MessageCircle,
|
|
1971
2181
|
history: History,
|
|
1972
2182
|
sendHorizontal: SendHorizontal,
|
|
@@ -1985,6 +2195,11 @@ const icons = {
|
|
|
1985
2195
|
panelLeftOpen: PanelLeftOpen,
|
|
1986
2196
|
panelLeftClose: PanelLeftClose,
|
|
1987
2197
|
cookie: Cookie,
|
|
2198
|
+
layers: Layers,
|
|
2199
|
+
sparkles: Sparkles,
|
|
2200
|
+
clock: Clock,
|
|
2201
|
+
cornerUpLeft: CornerUpLeft,
|
|
2202
|
+
wifiOff: WifiOff,
|
|
1988
2203
|
};
|
|
1989
2204
|
|
|
1990
2205
|
/**
|
|
@@ -5772,6 +5987,7 @@ const ANNOTATION_CSS = `
|
|
|
5772
5987
|
}
|
|
5773
5988
|
[data-annotation="bc-close-button"]:hover,
|
|
5774
5989
|
[data-annotation="bc-dns-close-button"]:hover,
|
|
5990
|
+
[data-annotation="bc-delete-close-icon"]:hover,
|
|
5775
5991
|
[data-annotation="bc-header"]:hover {
|
|
5776
5992
|
position: static;
|
|
5777
5993
|
}
|
|
@@ -7562,242 +7778,1080 @@ if (!customElements.get('long-view')) {
|
|
|
7562
7778
|
customElements.define('long-view', LongView);
|
|
7563
7779
|
}
|
|
7564
7780
|
|
|
7565
|
-
|
|
7566
|
-
|
|
7567
|
-
* container classes (long-view-container, dialog-view-container, overlay-container).
|
|
7568
|
-
* Used by consent-banner UI for positioning and animations.
|
|
7569
|
-
*/
|
|
7570
|
-
const consentBannerStyles = i$5 `
|
|
7571
|
-
:host {
|
|
7572
|
-
display: block;
|
|
7573
|
-
width: 100%;
|
|
7574
|
-
max-width: 100%;
|
|
7575
|
-
box-sizing: border-box;
|
|
7576
|
-
}
|
|
7577
|
-
|
|
7578
|
-
@keyframes slideUp {
|
|
7579
|
-
from {
|
|
7580
|
-
transform: translateY(100%);
|
|
7581
|
-
}
|
|
7582
|
-
to {
|
|
7583
|
-
transform: translateY(0);
|
|
7584
|
-
}
|
|
7585
|
-
}
|
|
7586
|
-
|
|
7587
|
-
@keyframes fadeIn {
|
|
7588
|
-
from {
|
|
7589
|
-
opacity: 0;
|
|
7590
|
-
}
|
|
7591
|
-
to {
|
|
7592
|
-
opacity: 1;
|
|
7593
|
-
}
|
|
7594
|
-
}
|
|
7595
|
-
|
|
7596
|
-
.long-view-container {
|
|
7781
|
+
const deleteRequestFormStyles = i$5 `
|
|
7782
|
+
.overlay {
|
|
7597
7783
|
position: fixed;
|
|
7598
|
-
|
|
7599
|
-
|
|
7600
|
-
|
|
7601
|
-
|
|
7784
|
+
inset: 0;
|
|
7785
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
7786
|
+
display: flex;
|
|
7787
|
+
align-items: flex-end;
|
|
7788
|
+
justify-content: center;
|
|
7789
|
+
z-index: 9999;
|
|
7790
|
+
animation: fadeIn 0.2s ease-out;
|
|
7602
7791
|
}
|
|
7603
7792
|
|
|
7604
|
-
|
|
7605
|
-
position:
|
|
7606
|
-
|
|
7607
|
-
display:
|
|
7608
|
-
flex-direction: column;
|
|
7609
|
-
gap: 16px;
|
|
7793
|
+
:host([contained]) {
|
|
7794
|
+
position: absolute;
|
|
7795
|
+
inset: 0;
|
|
7796
|
+
display: block;
|
|
7610
7797
|
}
|
|
7611
7798
|
|
|
7612
|
-
.overlay
|
|
7613
|
-
position:
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
left: 0;
|
|
7617
|
-
width: 100%;
|
|
7618
|
-
height: 100%;
|
|
7619
|
-
background-color: rgba(0, 0, 0, 0.5);
|
|
7799
|
+
:host([contained]) .overlay {
|
|
7800
|
+
position: absolute;
|
|
7801
|
+
inset: 0;
|
|
7802
|
+
z-index: 1;
|
|
7620
7803
|
}
|
|
7621
7804
|
|
|
7622
|
-
.
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
right: 0;
|
|
7805
|
+
.modal {
|
|
7806
|
+
width: calc(100% - 16px);
|
|
7807
|
+
max-height: 95dvh;
|
|
7808
|
+
overflow-y: auto;
|
|
7809
|
+
border-radius: 16px 16px 0 0;
|
|
7628
7810
|
animation: slideUp 0.3s ease-out;
|
|
7629
7811
|
}
|
|
7630
7812
|
|
|
7631
7813
|
@media (min-width: 640px) {
|
|
7632
|
-
.
|
|
7633
|
-
|
|
7634
|
-
left: 24px;
|
|
7635
|
-
right: auto;
|
|
7636
|
-
width: min(550px, calc(100vw - 48px));
|
|
7814
|
+
.overlay {
|
|
7815
|
+
align-items: center;
|
|
7637
7816
|
}
|
|
7638
7817
|
|
|
7639
|
-
.
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7818
|
+
.modal {
|
|
7819
|
+
max-width: 600px;
|
|
7820
|
+
width: calc(100% - 48px);
|
|
7821
|
+
max-height: 90vh;
|
|
7822
|
+
border-radius: var(--radius);
|
|
7823
|
+
animation: slideIn 0.3s ease-out;
|
|
7645
7824
|
}
|
|
7825
|
+
}
|
|
7646
7826
|
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
left: 50%;
|
|
7650
|
-
right: auto;
|
|
7651
|
-
transform: translate(-50%, 50%);
|
|
7652
|
-
animation: fadeIn 0.3s ease-out;
|
|
7653
|
-
align-items: center;
|
|
7654
|
-
width: min(550px, calc(100vw - 48px));
|
|
7655
|
-
}
|
|
7827
|
+
.required-asterisk {
|
|
7828
|
+
color: var(--bc-error-color, #ef4444);
|
|
7656
7829
|
}
|
|
7657
7830
|
|
|
7658
|
-
|
|
7659
|
-
|
|
7660
|
-
|
|
7661
|
-
height:
|
|
7662
|
-
|
|
7831
|
+
.field-error {
|
|
7832
|
+
color: var(--bc-error-color, #ef4444);
|
|
7833
|
+
font-size: 0.75rem;
|
|
7834
|
+
line-height: 1rem;
|
|
7835
|
+
margin: 0;
|
|
7663
7836
|
}
|
|
7664
7837
|
|
|
7665
|
-
.
|
|
7666
|
-
|
|
7667
|
-
|
|
7668
|
-
|
|
7669
|
-
|
|
7838
|
+
.submit-error {
|
|
7839
|
+
background-color: rgba(239, 68, 68, 0.08);
|
|
7840
|
+
border: 1px solid var(--bc-error-color, #ef4444);
|
|
7841
|
+
border-radius: 6px;
|
|
7842
|
+
padding: 8px 12px;
|
|
7843
|
+
color: var(--bc-error-color, #ef4444);
|
|
7844
|
+
font-size: 0.875rem;
|
|
7670
7845
|
}
|
|
7671
7846
|
|
|
7672
|
-
|
|
7673
|
-
|
|
7674
|
-
|
|
7675
|
-
|
|
7676
|
-
|
|
7677
|
-
|
|
7678
|
-
|
|
7679
|
-
align-items: center;
|
|
7847
|
+
@keyframes fadeIn {
|
|
7848
|
+
from {
|
|
7849
|
+
opacity: 0;
|
|
7850
|
+
}
|
|
7851
|
+
to {
|
|
7852
|
+
opacity: 1;
|
|
7853
|
+
}
|
|
7680
7854
|
}
|
|
7681
7855
|
|
|
7682
|
-
|
|
7683
|
-
|
|
7684
|
-
|
|
7685
|
-
|
|
7686
|
-
|
|
7687
|
-
|
|
7856
|
+
@keyframes slideUp {
|
|
7857
|
+
from {
|
|
7858
|
+
opacity: 0;
|
|
7859
|
+
transform: translateY(100%);
|
|
7860
|
+
}
|
|
7861
|
+
to {
|
|
7862
|
+
opacity: 1;
|
|
7863
|
+
transform: translateY(0);
|
|
7864
|
+
}
|
|
7865
|
+
}
|
|
7866
|
+
|
|
7867
|
+
@keyframes slideIn {
|
|
7868
|
+
from {
|
|
7869
|
+
opacity: 0;
|
|
7870
|
+
transform: translateY(-16px);
|
|
7871
|
+
}
|
|
7872
|
+
to {
|
|
7873
|
+
opacity: 1;
|
|
7874
|
+
transform: translateY(0);
|
|
7875
|
+
}
|
|
7876
|
+
}
|
|
7877
|
+
`;
|
|
7878
|
+
|
|
7879
|
+
const REQUEST_TYPE = 'DELETE_DATA';
|
|
7880
|
+
const EMAIL_REGEX = /^[^@\s]+@[^@\s]+\.[^@\s]+$/;
|
|
7881
|
+
const requiredFields = [
|
|
7882
|
+
'firstName',
|
|
7883
|
+
'lastName',
|
|
7884
|
+
'email',
|
|
7885
|
+
'streetAddress',
|
|
7886
|
+
'city',
|
|
7887
|
+
'stateOfResidence',
|
|
7888
|
+
'zipCode',
|
|
7889
|
+
];
|
|
7890
|
+
class DeleteRequestForm extends ElementWithStylesheet {
|
|
7891
|
+
constructor() {
|
|
7892
|
+
super(...arguments);
|
|
7893
|
+
this.open = false;
|
|
7894
|
+
this.formTitle = 'Request Data Deletion';
|
|
7895
|
+
this.privacyPolicyUrl = '';
|
|
7896
|
+
this.privacyPolicyLabel = 'Privacy and Cookie Policy';
|
|
7897
|
+
this.headerText = 'For more information, please visit our';
|
|
7898
|
+
this.submitButtonLabel = 'Submit request';
|
|
7899
|
+
this.resetButtonLabel = 'Reset Form';
|
|
7900
|
+
this.closeButtonLabel = 'Close';
|
|
7901
|
+
this.disableActions = false;
|
|
7902
|
+
/** When true, form is rendered inside a container (e.g. configurator preview) and overlays only that container. */
|
|
7903
|
+
this.contained = false;
|
|
7904
|
+
this.firstName = '';
|
|
7905
|
+
this.lastName = '';
|
|
7906
|
+
this.email = '';
|
|
7907
|
+
this.streetAddress = '';
|
|
7908
|
+
this.aptSuite = '';
|
|
7909
|
+
this.city = '';
|
|
7910
|
+
this.stateOfResidence = '';
|
|
7911
|
+
this.zipCode = '';
|
|
7912
|
+
this.touched = {};
|
|
7913
|
+
this.errors = {};
|
|
7914
|
+
this.status = 'editing';
|
|
7915
|
+
this.submitError = '';
|
|
7916
|
+
this.submittedEmail = '';
|
|
7917
|
+
this.submitAttempted = false;
|
|
7918
|
+
this.inputHandlers = {};
|
|
7919
|
+
this.blurHandlers = {};
|
|
7920
|
+
this.handleReset = () => {
|
|
7921
|
+
if (this.disableActions || this.status === 'submitting')
|
|
7922
|
+
return;
|
|
7923
|
+
this.firstName = '';
|
|
7924
|
+
this.lastName = '';
|
|
7925
|
+
this.email = '';
|
|
7926
|
+
this.streetAddress = '';
|
|
7927
|
+
this.aptSuite = '';
|
|
7928
|
+
this.city = '';
|
|
7929
|
+
this.stateOfResidence = '';
|
|
7930
|
+
this.zipCode = '';
|
|
7931
|
+
this.touched = {};
|
|
7932
|
+
this.errors = {};
|
|
7933
|
+
this.submitError = '';
|
|
7934
|
+
this.submittedEmail = '';
|
|
7935
|
+
this.submitAttempted = false;
|
|
7936
|
+
if (this.status === 'error') {
|
|
7937
|
+
this.status = 'editing';
|
|
7938
|
+
}
|
|
7939
|
+
};
|
|
7940
|
+
this.handleClose = () => {
|
|
7941
|
+
this.dispatchEvent(new CustomEvent('bc-delete-form-closed', {
|
|
7942
|
+
detail: null,
|
|
7943
|
+
bubbles: true,
|
|
7944
|
+
composed: true,
|
|
7945
|
+
}));
|
|
7946
|
+
};
|
|
7947
|
+
this.handleOverlayClick = (e) => {
|
|
7948
|
+
if (e.target === e.currentTarget) {
|
|
7949
|
+
this.handleClose();
|
|
7950
|
+
}
|
|
7951
|
+
};
|
|
7952
|
+
this.handleSubmit = async () => {
|
|
7953
|
+
if (this.disableActions || this.status === 'submitting')
|
|
7954
|
+
return;
|
|
7955
|
+
this.submitAttempted = true;
|
|
7956
|
+
const nextTouched = {};
|
|
7957
|
+
const nextErrors = {};
|
|
7958
|
+
for (const field of requiredFields) {
|
|
7959
|
+
nextTouched[field] = true;
|
|
7960
|
+
const code = this.validateField(field);
|
|
7961
|
+
if (code)
|
|
7962
|
+
nextErrors[field] = code;
|
|
7963
|
+
}
|
|
7964
|
+
this.touched = nextTouched;
|
|
7965
|
+
this.errors = nextErrors;
|
|
7966
|
+
if (Object.keys(nextErrors).length > 0)
|
|
7967
|
+
return;
|
|
7968
|
+
if (!this.blotoutConsentAPI) {
|
|
7969
|
+
// Submit button is disabled in this case, but guard defensively.
|
|
7970
|
+
return;
|
|
7971
|
+
}
|
|
7972
|
+
this.status = 'submitting';
|
|
7973
|
+
this.submitError = '';
|
|
7974
|
+
const email = this.email.trim();
|
|
7975
|
+
try {
|
|
7976
|
+
await this.blotoutConsentAPI.submitDeleteRequest({
|
|
7977
|
+
email,
|
|
7978
|
+
formData: this.getFormData(),
|
|
7979
|
+
});
|
|
7980
|
+
this.submittedEmail = email;
|
|
7981
|
+
this.status = 'success';
|
|
7982
|
+
this.dispatchEvent(new CustomEvent('bc-delete-request-submitted', {
|
|
7983
|
+
bubbles: true,
|
|
7984
|
+
composed: true,
|
|
7985
|
+
}));
|
|
7986
|
+
}
|
|
7987
|
+
catch (err) {
|
|
7988
|
+
const message = err instanceof Error ? err.message : 'Network error';
|
|
7989
|
+
this.submitError = "We couldn't submit your request. Please try again.";
|
|
7990
|
+
this.status = 'error';
|
|
7991
|
+
this.dispatchEvent(new CustomEvent('bc-delete-request-failed', {
|
|
7992
|
+
detail: { error: message },
|
|
7993
|
+
bubbles: true,
|
|
7994
|
+
composed: true,
|
|
7995
|
+
}));
|
|
7996
|
+
}
|
|
7997
|
+
};
|
|
7998
|
+
}
|
|
7999
|
+
updated(changedProperties) {
|
|
8000
|
+
var _a, _b, _c, _d;
|
|
8001
|
+
super.updated(changedProperties);
|
|
8002
|
+
if (changedProperties.has('config') && this.config) {
|
|
8003
|
+
this.privacyPolicyUrl = (_b = (_a = this.config.text.privacyPolicy) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : '';
|
|
8004
|
+
this.privacyPolicyLabel =
|
|
8005
|
+
(_d = (_c = this.config.text.privacyPolicy) === null || _c === void 0 ? void 0 : _c.label) !== null && _d !== void 0 ? _d : 'Privacy and Cookie Policy';
|
|
8006
|
+
}
|
|
8007
|
+
}
|
|
8008
|
+
fieldValue(field) {
|
|
8009
|
+
return this[field];
|
|
8010
|
+
}
|
|
8011
|
+
validateField(field) {
|
|
8012
|
+
const value = this.fieldValue(field).trim();
|
|
8013
|
+
if (!value)
|
|
8014
|
+
return 'required';
|
|
8015
|
+
if (field === 'email' && !EMAIL_REGEX.test(value))
|
|
8016
|
+
return 'format';
|
|
8017
|
+
return null;
|
|
8018
|
+
}
|
|
8019
|
+
getFieldError(field) {
|
|
8020
|
+
if (!this.touched[field])
|
|
8021
|
+
return null;
|
|
8022
|
+
const code = this.errors[field];
|
|
8023
|
+
if (!code)
|
|
8024
|
+
return null;
|
|
8025
|
+
if (code === 'format')
|
|
8026
|
+
return 'Please enter a valid email address.';
|
|
8027
|
+
return 'This field is required.';
|
|
8028
|
+
}
|
|
8029
|
+
visibleErrorCode(code) {
|
|
8030
|
+
// Required errors stay hidden until the user presses Submit at least once;
|
|
8031
|
+
// format errors (invalid email) surface on blur regardless.
|
|
8032
|
+
if (!code)
|
|
8033
|
+
return undefined;
|
|
8034
|
+
if (code === 'required' && !this.submitAttempted)
|
|
8035
|
+
return undefined;
|
|
8036
|
+
return code;
|
|
8037
|
+
}
|
|
8038
|
+
getInputHandler(field) {
|
|
8039
|
+
var _a;
|
|
8040
|
+
var _b;
|
|
8041
|
+
return ((_a = (_b = this.inputHandlers)[field]) !== null && _a !== void 0 ? _a : (_b[field] = (e) => {
|
|
8042
|
+
var _a;
|
|
8043
|
+
const target = e.target;
|
|
8044
|
+
const value = (_a = target === null || target === void 0 ? void 0 : target.value) !== null && _a !== void 0 ? _a : '';
|
|
8045
|
+
this[field] = value;
|
|
8046
|
+
if (this.status === 'error') {
|
|
8047
|
+
this.status = 'editing';
|
|
8048
|
+
this.submitError = '';
|
|
8049
|
+
}
|
|
8050
|
+
if (field !== 'aptSuite' && this.touched[field]) {
|
|
8051
|
+
const code = this.validateField(field);
|
|
8052
|
+
this.errors = {
|
|
8053
|
+
...this.errors,
|
|
8054
|
+
[field]: this.visibleErrorCode(code),
|
|
8055
|
+
};
|
|
8056
|
+
}
|
|
8057
|
+
}));
|
|
8058
|
+
}
|
|
8059
|
+
getBlurHandler(field) {
|
|
8060
|
+
var _a;
|
|
8061
|
+
var _b;
|
|
8062
|
+
return ((_a = (_b = this.blurHandlers)[field]) !== null && _a !== void 0 ? _a : (_b[field] = () => {
|
|
8063
|
+
this.touched = { ...this.touched, [field]: true };
|
|
8064
|
+
const code = this.validateField(field);
|
|
8065
|
+
this.errors = {
|
|
8066
|
+
...this.errors,
|
|
8067
|
+
[field]: this.visibleErrorCode(code),
|
|
8068
|
+
};
|
|
8069
|
+
}));
|
|
8070
|
+
}
|
|
8071
|
+
getFormData() {
|
|
8072
|
+
return {
|
|
8073
|
+
requestType: REQUEST_TYPE,
|
|
8074
|
+
firstName: this.firstName.trim(),
|
|
8075
|
+
lastName: this.lastName.trim(),
|
|
8076
|
+
email: this.email.trim(),
|
|
8077
|
+
streetAddress: this.streetAddress.trim(),
|
|
8078
|
+
aptSuite: this.aptSuite.trim(),
|
|
8079
|
+
city: this.city.trim(),
|
|
8080
|
+
stateOfResidence: this.stateOfResidence.trim(),
|
|
8081
|
+
zipCode: this.zipCode.trim(),
|
|
8082
|
+
};
|
|
8083
|
+
}
|
|
8084
|
+
renderFormField(label, field, placeholder, options) {
|
|
8085
|
+
const value = this.fieldValue(field);
|
|
8086
|
+
const errorMessage = options.required && field !== 'aptSuite'
|
|
8087
|
+
? this.getFieldError(field)
|
|
8088
|
+
: null;
|
|
8089
|
+
return b `
|
|
8090
|
+
<div
|
|
8091
|
+
class="flex flex-col gap-1.5 bc-delete-field"
|
|
8092
|
+
data-annotation="bc-delete-field"
|
|
8093
|
+
>
|
|
8094
|
+
<bt-input
|
|
8095
|
+
input-class="bc-delete-field-input text-[var(--bc-text-color,#18181B)]"
|
|
8096
|
+
input-data-annotation="bc-delete-field-input"
|
|
8097
|
+
.value=${value}
|
|
8098
|
+
placeholder=${placeholder}
|
|
8099
|
+
?required=${options.required}
|
|
8100
|
+
@input=${this.getInputHandler(field)}
|
|
8101
|
+
@blur=${options.required && field !== 'aptSuite'
|
|
8102
|
+
? this.getBlurHandler(field)
|
|
8103
|
+
: undefined}
|
|
8104
|
+
?invalid=${!!errorMessage}
|
|
8105
|
+
.css=${this.css}
|
|
8106
|
+
.annotationCss=${this.showAnnotations ? ANNOTATION_CSS : ''}
|
|
8107
|
+
>
|
|
8108
|
+
<bt-label
|
|
8109
|
+
slot="label"
|
|
8110
|
+
label-class="bc-delete-field-label text-[var(--bc-text-color,#18181B)]"
|
|
8111
|
+
label-data-annotation="bc-delete-field-label"
|
|
8112
|
+
.css=${this.css}
|
|
8113
|
+
.annotationCss=${this.showAnnotations ? ANNOTATION_CSS : ''}
|
|
8114
|
+
>
|
|
8115
|
+
${label}
|
|
8116
|
+
${options.required
|
|
8117
|
+
? b `<span class="required-asterisk">*</span>`
|
|
8118
|
+
: A}
|
|
8119
|
+
</bt-label>
|
|
8120
|
+
</bt-input>
|
|
8121
|
+
${errorMessage
|
|
8122
|
+
? b `<p
|
|
8123
|
+
class="field-error bc-delete-field-error"
|
|
8124
|
+
data-annotation="bc-delete-field-error"
|
|
8125
|
+
>
|
|
8126
|
+
${errorMessage}
|
|
8127
|
+
</p>`
|
|
8128
|
+
: A}
|
|
8129
|
+
</div>
|
|
8130
|
+
`;
|
|
8131
|
+
}
|
|
8132
|
+
renderSuccess() {
|
|
8133
|
+
return b `
|
|
8134
|
+
<div
|
|
8135
|
+
class="flex flex-col gap-4 pr-6 sm:pr-8 bc-delete-success"
|
|
8136
|
+
data-annotation="bc-delete-success"
|
|
8137
|
+
>
|
|
8138
|
+
<h2
|
|
8139
|
+
class="m-0 p-0 text-lg font-semibold text-[var(--bc-text-color,#18181B)] bc-delete-success-title"
|
|
8140
|
+
data-annotation="bc-delete-success-title"
|
|
8141
|
+
>
|
|
8142
|
+
Check your email
|
|
8143
|
+
</h2>
|
|
8144
|
+
<p
|
|
8145
|
+
class="m-0 p-0 text-sm text-[var(--bc-text-color,#18181B)] bc-delete-success-body"
|
|
8146
|
+
data-annotation="bc-delete-success-body"
|
|
8147
|
+
>
|
|
8148
|
+
We've sent a verification link to
|
|
8149
|
+
<strong>${this.submittedEmail}</strong>. Click it to confirm your
|
|
8150
|
+
request.
|
|
8151
|
+
</p>
|
|
8152
|
+
<div class="flex flex-col sm:flex-row gap-2 pt-2">
|
|
8153
|
+
<bt-button
|
|
8154
|
+
variant="default"
|
|
8155
|
+
class="w-full sm:w-auto"
|
|
8156
|
+
button-class="bc-delete-close-button bg-[var(--bc-primary-button-background-color)] text-[var(--bc-primary-button-text-color)] hover:opacity-80 hover:bg-[var(--bc-primary-button-background-color)]"
|
|
8157
|
+
button-data-annotation="bc-delete-close-button"
|
|
8158
|
+
@click=${this.handleClose}
|
|
8159
|
+
.css=${this.css}
|
|
8160
|
+
.annotationCss=${this.showAnnotations ? ANNOTATION_CSS : ''}
|
|
8161
|
+
>
|
|
8162
|
+
${this.closeButtonLabel}
|
|
8163
|
+
</bt-button>
|
|
8164
|
+
</div>
|
|
8165
|
+
</div>
|
|
8166
|
+
`;
|
|
8167
|
+
}
|
|
8168
|
+
renderForm() {
|
|
8169
|
+
const submitDisabled = this.disableActions ||
|
|
8170
|
+
this.status === 'submitting' ||
|
|
8171
|
+
!this.blotoutConsentAPI ||
|
|
8172
|
+
requiredFields.some((field) => !this.fieldValue(field).trim()) ||
|
|
8173
|
+
!EMAIL_REGEX.test(this.email.trim());
|
|
8174
|
+
return b `
|
|
8175
|
+
<div class="flex flex-col gap-4 pr-6 sm:pr-8">
|
|
8176
|
+
<h2
|
|
8177
|
+
id="delete-request-title"
|
|
8178
|
+
class="m-0 p-0 text-lg font-semibold text-[var(--bc-text-color,#18181B)] bc-delete-title"
|
|
8179
|
+
data-annotation="bc-delete-title"
|
|
8180
|
+
>
|
|
8181
|
+
${this.formTitle}
|
|
8182
|
+
</h2>
|
|
8183
|
+
|
|
8184
|
+
<p
|
|
8185
|
+
class="m-0 p-0 text-sm text-[var(--bc-text-color,#18181B)] bc-delete-header-text"
|
|
8186
|
+
data-annotation="bc-delete-header-text"
|
|
8187
|
+
>
|
|
8188
|
+
${this.headerText}
|
|
8189
|
+
${this.privacyPolicyUrl
|
|
8190
|
+
? b `<a
|
|
8191
|
+
href="${this.privacyPolicyUrl}"
|
|
8192
|
+
target="_blank"
|
|
8193
|
+
rel="noopener noreferrer"
|
|
8194
|
+
class="text-[var(--bc-link-color,#6D28D9)] font-medium hover:opacity-80 underline underline-offset-2 bc-delete-privacy-link"
|
|
8195
|
+
data-annotation="bc-delete-privacy-link"
|
|
8196
|
+
>
|
|
8197
|
+
${this.privacyPolicyLabel}
|
|
8198
|
+
</a>`
|
|
8199
|
+
: b `<span
|
|
8200
|
+
class="text-[var(--bc-link-color,#6D28D9)] font-medium"
|
|
8201
|
+
>
|
|
8202
|
+
${this.privacyPolicyLabel}
|
|
8203
|
+
</span>`}
|
|
8204
|
+
.
|
|
8205
|
+
</p>
|
|
8206
|
+
${this.status === 'error' && this.submitError
|
|
8207
|
+
? b `<div
|
|
8208
|
+
class="submit-error bc-delete-submit-error"
|
|
8209
|
+
data-annotation="bc-delete-submit-error"
|
|
8210
|
+
role="alert"
|
|
8211
|
+
>
|
|
8212
|
+
${this.submitError}
|
|
8213
|
+
</div>`
|
|
8214
|
+
: A}
|
|
8215
|
+
|
|
8216
|
+
<form
|
|
8217
|
+
class="flex flex-col gap-5 bc-delete-form"
|
|
8218
|
+
data-annotation="bc-delete-form"
|
|
8219
|
+
@submit=${(e) => e.preventDefault()}
|
|
8220
|
+
>
|
|
8221
|
+
<input type="hidden" name="requestType" value=${REQUEST_TYPE} />
|
|
8222
|
+
|
|
8223
|
+
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
8224
|
+
${this.renderFormField('First name', 'firstName', 'John', {
|
|
8225
|
+
required: true,
|
|
8226
|
+
})}
|
|
8227
|
+
${this.renderFormField('Last name', 'lastName', 'Doe', {
|
|
8228
|
+
required: true,
|
|
8229
|
+
})}
|
|
8230
|
+
</div>
|
|
8231
|
+
|
|
8232
|
+
${this.renderFormField('Email', 'email', 'john@example.com', {
|
|
8233
|
+
required: true,
|
|
8234
|
+
})}
|
|
8235
|
+
${this.renderFormField('Street address', 'streetAddress', '123 Main St', { required: true })}
|
|
8236
|
+
${this.renderFormField('Apt, suite, unit, etc. (optional)', 'aptSuite', 'Apt 4B', { required: false })}
|
|
8237
|
+
|
|
8238
|
+
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
8239
|
+
${this.renderFormField('City', 'city', 'San Francisco', {
|
|
8240
|
+
required: true,
|
|
8241
|
+
})}
|
|
8242
|
+
${this.renderFormField('State of residence', 'stateOfResidence', 'California', { required: true })}
|
|
8243
|
+
</div>
|
|
8244
|
+
|
|
8245
|
+
${this.renderFormField('Zip code', 'zipCode', '94103', {
|
|
8246
|
+
required: true,
|
|
8247
|
+
})}
|
|
8248
|
+
|
|
8249
|
+
<div class="flex flex-col sm:flex-row gap-2 pt-2">
|
|
8250
|
+
<bt-button
|
|
8251
|
+
variant="default"
|
|
8252
|
+
class="w-full sm:w-auto"
|
|
8253
|
+
button-class="bc-delete-submit-button bg-[var(--bc-primary-button-background-color)] text-[var(--bc-primary-button-text-color)] hover:opacity-80 hover:bg-[var(--bc-primary-button-background-color)]"
|
|
8254
|
+
button-data-annotation="bc-delete-submit-button"
|
|
8255
|
+
?disabled=${submitDisabled}
|
|
8256
|
+
?loading=${this.status === 'submitting'}
|
|
8257
|
+
@click=${this.handleSubmit}
|
|
8258
|
+
.css=${this.css}
|
|
8259
|
+
.annotationCss=${this.showAnnotations ? ANNOTATION_CSS : ''}
|
|
8260
|
+
>
|
|
8261
|
+
${this.submitButtonLabel}
|
|
8262
|
+
</bt-button>
|
|
8263
|
+
<bt-button
|
|
8264
|
+
variant="default"
|
|
8265
|
+
class="w-full sm:w-auto"
|
|
8266
|
+
button-class="bc-delete-reset-button bg-[var(--bc-secondary-button-background-color)] text-[var(--bc-secondary-button-text-color)] hover:opacity-80 hover:bg-[var(--bc-secondary-button-background-color)]"
|
|
8267
|
+
button-data-annotation="bc-delete-reset-button"
|
|
8268
|
+
?disabled=${this.disableActions || this.status === 'submitting'}
|
|
8269
|
+
@click=${this.handleReset}
|
|
8270
|
+
.css=${this.css}
|
|
8271
|
+
.annotationCss=${this.showAnnotations ? ANNOTATION_CSS : ''}
|
|
8272
|
+
>
|
|
8273
|
+
${this.resetButtonLabel}
|
|
8274
|
+
</bt-button>
|
|
8275
|
+
</div>
|
|
8276
|
+
</form>
|
|
8277
|
+
</div>
|
|
8278
|
+
`;
|
|
8279
|
+
}
|
|
8280
|
+
render() {
|
|
8281
|
+
if (!this.open) {
|
|
8282
|
+
return b ``;
|
|
8283
|
+
}
|
|
8284
|
+
return b `
|
|
8285
|
+
<div
|
|
8286
|
+
class="overlay"
|
|
8287
|
+
@click=${this.handleOverlayClick}
|
|
8288
|
+
role="dialog"
|
|
8289
|
+
aria-modal="true"
|
|
8290
|
+
aria-labelledby="delete-request-title"
|
|
8291
|
+
>
|
|
8292
|
+
<bt-card-wrapper
|
|
8293
|
+
class="modal"
|
|
8294
|
+
card-wrapper-class="bc-delete-modal px-4 sm:px-6 py-4 sm:py-5 flex flex-col gap-4 sm:gap-5 relative bg-white"
|
|
8295
|
+
card-wrapper-data-annotation="bc-delete-modal"
|
|
8296
|
+
.css=${this.css}
|
|
8297
|
+
.annotationCss=${this.showAnnotations ? ANNOTATION_CSS : ''}
|
|
8298
|
+
>
|
|
8299
|
+
<bt-lucide-icon
|
|
8300
|
+
class="cursor-pointer absolute right-6 top-5"
|
|
8301
|
+
icon-wrapper-class="bc-delete-close-icon"
|
|
8302
|
+
icon-wrapper-data-annotation="bc-delete-close-icon"
|
|
8303
|
+
name="x"
|
|
8304
|
+
width="20"
|
|
8305
|
+
height="20"
|
|
8306
|
+
@click=${this.handleClose}
|
|
8307
|
+
.css=${this.css}
|
|
8308
|
+
.annotationCss=${this.showAnnotations ? ANNOTATION_CSS : ''}
|
|
8309
|
+
></bt-lucide-icon>
|
|
8310
|
+
|
|
8311
|
+
${this.status === 'success'
|
|
8312
|
+
? this.renderSuccess()
|
|
8313
|
+
: this.renderForm()}
|
|
8314
|
+
</bt-card-wrapper>
|
|
8315
|
+
</div>
|
|
8316
|
+
`;
|
|
8317
|
+
}
|
|
8318
|
+
}
|
|
8319
|
+
DeleteRequestForm.styles = [deleteRequestFormStyles];
|
|
8320
|
+
__decorate([
|
|
8321
|
+
n$2({ type: Boolean }),
|
|
8322
|
+
__metadata("design:type", Object)
|
|
8323
|
+
], DeleteRequestForm.prototype, "open", void 0);
|
|
8324
|
+
__decorate([
|
|
8325
|
+
n$2({ type: Object }),
|
|
8326
|
+
__metadata("design:type", Object)
|
|
8327
|
+
], DeleteRequestForm.prototype, "config", void 0);
|
|
8328
|
+
__decorate([
|
|
8329
|
+
n$2({ type: Object }),
|
|
8330
|
+
__metadata("design:type", Object)
|
|
8331
|
+
], DeleteRequestForm.prototype, "blotoutConsentAPI", void 0);
|
|
8332
|
+
__decorate([
|
|
8333
|
+
n$2({ type: String }),
|
|
8334
|
+
__metadata("design:type", Object)
|
|
8335
|
+
], DeleteRequestForm.prototype, "formTitle", void 0);
|
|
8336
|
+
__decorate([
|
|
8337
|
+
n$2({ type: String }),
|
|
8338
|
+
__metadata("design:type", Object)
|
|
8339
|
+
], DeleteRequestForm.prototype, "privacyPolicyUrl", void 0);
|
|
8340
|
+
__decorate([
|
|
8341
|
+
n$2({ type: String }),
|
|
8342
|
+
__metadata("design:type", Object)
|
|
8343
|
+
], DeleteRequestForm.prototype, "privacyPolicyLabel", void 0);
|
|
8344
|
+
__decorate([
|
|
8345
|
+
n$2({ type: String }),
|
|
8346
|
+
__metadata("design:type", Object)
|
|
8347
|
+
], DeleteRequestForm.prototype, "headerText", void 0);
|
|
8348
|
+
__decorate([
|
|
8349
|
+
n$2({ type: String }),
|
|
8350
|
+
__metadata("design:type", Object)
|
|
8351
|
+
], DeleteRequestForm.prototype, "submitButtonLabel", void 0);
|
|
8352
|
+
__decorate([
|
|
8353
|
+
n$2({ type: String }),
|
|
8354
|
+
__metadata("design:type", Object)
|
|
8355
|
+
], DeleteRequestForm.prototype, "resetButtonLabel", void 0);
|
|
8356
|
+
__decorate([
|
|
8357
|
+
n$2({ type: String }),
|
|
8358
|
+
__metadata("design:type", Object)
|
|
8359
|
+
], DeleteRequestForm.prototype, "closeButtonLabel", void 0);
|
|
8360
|
+
__decorate([
|
|
8361
|
+
n$2({ type: Boolean }),
|
|
8362
|
+
__metadata("design:type", Object)
|
|
8363
|
+
], DeleteRequestForm.prototype, "disableActions", void 0);
|
|
8364
|
+
__decorate([
|
|
8365
|
+
n$2({ type: Boolean, reflect: true }),
|
|
8366
|
+
__metadata("design:type", Object)
|
|
8367
|
+
], DeleteRequestForm.prototype, "contained", void 0);
|
|
8368
|
+
__decorate([
|
|
8369
|
+
r$1(),
|
|
8370
|
+
__metadata("design:type", Object)
|
|
8371
|
+
], DeleteRequestForm.prototype, "firstName", void 0);
|
|
8372
|
+
__decorate([
|
|
8373
|
+
r$1(),
|
|
8374
|
+
__metadata("design:type", Object)
|
|
8375
|
+
], DeleteRequestForm.prototype, "lastName", void 0);
|
|
8376
|
+
__decorate([
|
|
8377
|
+
r$1(),
|
|
8378
|
+
__metadata("design:type", Object)
|
|
8379
|
+
], DeleteRequestForm.prototype, "email", void 0);
|
|
8380
|
+
__decorate([
|
|
8381
|
+
r$1(),
|
|
8382
|
+
__metadata("design:type", Object)
|
|
8383
|
+
], DeleteRequestForm.prototype, "streetAddress", void 0);
|
|
8384
|
+
__decorate([
|
|
8385
|
+
r$1(),
|
|
8386
|
+
__metadata("design:type", Object)
|
|
8387
|
+
], DeleteRequestForm.prototype, "aptSuite", void 0);
|
|
8388
|
+
__decorate([
|
|
8389
|
+
r$1(),
|
|
8390
|
+
__metadata("design:type", Object)
|
|
8391
|
+
], DeleteRequestForm.prototype, "city", void 0);
|
|
8392
|
+
__decorate([
|
|
8393
|
+
r$1(),
|
|
8394
|
+
__metadata("design:type", Object)
|
|
8395
|
+
], DeleteRequestForm.prototype, "stateOfResidence", void 0);
|
|
8396
|
+
__decorate([
|
|
8397
|
+
r$1(),
|
|
8398
|
+
__metadata("design:type", Object)
|
|
8399
|
+
], DeleteRequestForm.prototype, "zipCode", void 0);
|
|
8400
|
+
__decorate([
|
|
8401
|
+
r$1(),
|
|
8402
|
+
__metadata("design:type", Object)
|
|
8403
|
+
], DeleteRequestForm.prototype, "touched", void 0);
|
|
8404
|
+
__decorate([
|
|
8405
|
+
r$1(),
|
|
8406
|
+
__metadata("design:type", Object)
|
|
8407
|
+
], DeleteRequestForm.prototype, "errors", void 0);
|
|
8408
|
+
__decorate([
|
|
8409
|
+
r$1(),
|
|
8410
|
+
__metadata("design:type", String)
|
|
8411
|
+
], DeleteRequestForm.prototype, "status", void 0);
|
|
8412
|
+
__decorate([
|
|
8413
|
+
r$1(),
|
|
8414
|
+
__metadata("design:type", Object)
|
|
8415
|
+
], DeleteRequestForm.prototype, "submitError", void 0);
|
|
8416
|
+
__decorate([
|
|
8417
|
+
r$1(),
|
|
8418
|
+
__metadata("design:type", Object)
|
|
8419
|
+
], DeleteRequestForm.prototype, "submittedEmail", void 0);
|
|
8420
|
+
__decorate([
|
|
8421
|
+
r$1(),
|
|
8422
|
+
__metadata("design:type", Object)
|
|
8423
|
+
], DeleteRequestForm.prototype, "submitAttempted", void 0);
|
|
8424
|
+
if (!customElements.get('delete-request-form')) {
|
|
8425
|
+
customElements.define('delete-request-form', DeleteRequestForm);
|
|
8426
|
+
}
|
|
8427
|
+
|
|
8428
|
+
/**
|
|
8429
|
+
* CSS styles for the consent banner component. Exports keyframes (slideUp, fadeIn) and
|
|
8430
|
+
* container classes (long-view-container, dialog-view-container, overlay-container).
|
|
8431
|
+
* Used by consent-banner UI for positioning and animations.
|
|
8432
|
+
*/
|
|
8433
|
+
const consentBannerStyles = i$5 `
|
|
8434
|
+
:host {
|
|
8435
|
+
display: block;
|
|
8436
|
+
width: 100%;
|
|
8437
|
+
max-width: 100%;
|
|
8438
|
+
box-sizing: border-box;
|
|
8439
|
+
}
|
|
8440
|
+
|
|
8441
|
+
@keyframes slideUp {
|
|
8442
|
+
from {
|
|
8443
|
+
transform: translateY(100%);
|
|
8444
|
+
}
|
|
8445
|
+
to {
|
|
8446
|
+
transform: translateY(0);
|
|
8447
|
+
}
|
|
8448
|
+
}
|
|
8449
|
+
|
|
8450
|
+
@keyframes fadeIn {
|
|
8451
|
+
from {
|
|
8452
|
+
opacity: 0;
|
|
8453
|
+
}
|
|
8454
|
+
to {
|
|
8455
|
+
opacity: 1;
|
|
8456
|
+
}
|
|
8457
|
+
}
|
|
8458
|
+
|
|
8459
|
+
.long-view-container {
|
|
8460
|
+
position: fixed;
|
|
8461
|
+
z-index: 999999;
|
|
8462
|
+
bottom: 0;
|
|
8463
|
+
left: 0;
|
|
8464
|
+
animation: slideUp 0.3s ease-out;
|
|
8465
|
+
}
|
|
8466
|
+
|
|
8467
|
+
.dialog-view-container {
|
|
8468
|
+
position: fixed;
|
|
8469
|
+
z-index: 999999;
|
|
8470
|
+
display: flex;
|
|
8471
|
+
flex-direction: column;
|
|
8472
|
+
gap: 16px;
|
|
8473
|
+
}
|
|
8474
|
+
|
|
8475
|
+
.overlay-container {
|
|
8476
|
+
position: fixed;
|
|
8477
|
+
z-index: 999998;
|
|
8478
|
+
top: 0;
|
|
8479
|
+
left: 0;
|
|
8480
|
+
width: 100%;
|
|
8481
|
+
height: 100%;
|
|
8482
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
8483
|
+
}
|
|
8484
|
+
|
|
8485
|
+
.dialog-view-container.bottom-left,
|
|
8486
|
+
.dialog-view-container.bottom-right,
|
|
8487
|
+
.dialog-view-container.center {
|
|
8488
|
+
bottom: 0;
|
|
8489
|
+
left: 0;
|
|
8490
|
+
right: 0;
|
|
8491
|
+
animation: slideUp 0.3s ease-out;
|
|
8492
|
+
}
|
|
8493
|
+
|
|
8494
|
+
@media (min-width: 640px) {
|
|
8495
|
+
.dialog-view-container.bottom-left {
|
|
8496
|
+
bottom: 24px;
|
|
8497
|
+
left: 24px;
|
|
8498
|
+
right: auto;
|
|
8499
|
+
width: min(550px, calc(100vw - 48px));
|
|
8500
|
+
}
|
|
8501
|
+
|
|
8502
|
+
.dialog-view-container.bottom-right {
|
|
8503
|
+
bottom: 24px;
|
|
8504
|
+
right: 24px;
|
|
8505
|
+
left: auto;
|
|
8506
|
+
align-items: end;
|
|
8507
|
+
width: min(550px, calc(100vw - 48px));
|
|
8508
|
+
}
|
|
8509
|
+
|
|
8510
|
+
.dialog-view-container.center {
|
|
8511
|
+
bottom: 50%;
|
|
8512
|
+
left: 50%;
|
|
8513
|
+
right: auto;
|
|
8514
|
+
transform: translate(-50%, 50%);
|
|
8515
|
+
animation: fadeIn 0.3s ease-out;
|
|
8516
|
+
align-items: center;
|
|
8517
|
+
width: min(550px, calc(100vw - 48px));
|
|
8518
|
+
}
|
|
8519
|
+
}
|
|
8520
|
+
|
|
8521
|
+
/* Contained mode: position relative to host (e.g. configurator preview frame) */
|
|
8522
|
+
.root-contained {
|
|
8523
|
+
width: 100%;
|
|
8524
|
+
height: 100%;
|
|
8525
|
+
container-type: inline-size;
|
|
8526
|
+
}
|
|
8527
|
+
|
|
8528
|
+
.long-view-container.contained {
|
|
8529
|
+
position: unset;
|
|
8530
|
+
width: 100%;
|
|
8531
|
+
max-width: 100%;
|
|
8532
|
+
height: 100%;
|
|
8533
|
+
}
|
|
8534
|
+
|
|
8535
|
+
.dialog-view-container.contained {
|
|
8536
|
+
position: unset;
|
|
8537
|
+
transform: unset;
|
|
8538
|
+
width: 100%;
|
|
8539
|
+
height: 100%;
|
|
8540
|
+
display: flex;
|
|
8541
|
+
justify-content: center;
|
|
8542
|
+
align-items: center;
|
|
8543
|
+
}
|
|
8544
|
+
|
|
8545
|
+
.overlay-container.contained {
|
|
8546
|
+
position: absolute;
|
|
8547
|
+
top: 0;
|
|
8548
|
+
left: 0;
|
|
8549
|
+
width: 100%;
|
|
8550
|
+
height: 100%;
|
|
7688
8551
|
background: none;
|
|
7689
8552
|
visibility: hidden;
|
|
7690
8553
|
}
|
|
7691
8554
|
`;
|
|
7692
8555
|
|
|
8556
|
+
// `CLAWBACK_CLOSE` is intentionally absent — it's emitted directly by the
|
|
8557
|
+
// banner close handler, not via remapping a standard banner interaction.
|
|
8558
|
+
const STANDARD_TO_CLAWBACK = {
|
|
8559
|
+
GRANTED: 'CLAWBACK_ACCEPT',
|
|
8560
|
+
DENIED: 'CLAWBACK_REJECT',
|
|
8561
|
+
CUSTOM_PREFERENCE: 'CLAWBACK_CUSTOM_PREFERENCE',
|
|
8562
|
+
};
|
|
7693
8563
|
/**
|
|
7694
|
-
*
|
|
7695
|
-
*
|
|
8564
|
+
* Returns the matching `CLAWBACK_*` action constant for a standard banner
|
|
8565
|
+
* interaction. Used by the consent banner when running in clawback mode so
|
|
8566
|
+
* downstream events / audit logs can identify clawback-origin submissions.
|
|
7696
8567
|
*/
|
|
7697
|
-
|
|
7698
|
-
|
|
7699
|
-
|
|
7700
|
-
|
|
7701
|
-
|
|
7702
|
-
|
|
7703
|
-
|
|
7704
|
-
|
|
7705
|
-
|
|
7706
|
-
|
|
7707
|
-
|
|
7708
|
-
|
|
7709
|
-
this.isLoading = false;
|
|
7710
|
-
this.bannerTimer = null;
|
|
8568
|
+
const toClawbackAction = (action) => STANDARD_TO_CLAWBACK[action];
|
|
8569
|
+
/**
|
|
8570
|
+
* Pure decision function for whether a clawback re-prompt should be shown.
|
|
8571
|
+
* EU/UK/GPC visitors never see the clawback banner (GDPR territory).
|
|
8572
|
+
* In `shopify-marketing-off` mode the banner is shown only when Shopify's
|
|
8573
|
+
* strict marketing field resolves to `false`.
|
|
8574
|
+
*/
|
|
8575
|
+
const shouldShowClawback = async (deps) => {
|
|
8576
|
+
var _a;
|
|
8577
|
+
const { clawback, isEURequest, geoCountry, gpcEnabled, getMarketingConsent } = deps;
|
|
8578
|
+
if (!(clawback === null || clawback === void 0 ? void 0 : clawback.enabled)) {
|
|
8579
|
+
return false;
|
|
7711
8580
|
}
|
|
7712
|
-
|
|
7713
|
-
|
|
7714
|
-
if (changedProperties.has('config') && this.config) {
|
|
7715
|
-
this.checkAndShowBanner().catch((error) => logger.error('Failed to check and show banner:', error));
|
|
7716
|
-
}
|
|
8581
|
+
if (isEURequest || geoCountry === 'GB' || gpcEnabled) {
|
|
8582
|
+
return false;
|
|
7717
8583
|
}
|
|
7718
|
-
|
|
7719
|
-
|
|
7720
|
-
this.showBanner = true;
|
|
8584
|
+
if (clawback.mode === 'ignore-shopify') {
|
|
8585
|
+
return true;
|
|
7721
8586
|
}
|
|
7722
|
-
|
|
7723
|
-
|
|
7724
|
-
|
|
8587
|
+
try {
|
|
8588
|
+
const marketing = (_a = (await (getMarketingConsent === null || getMarketingConsent === void 0 ? void 0 : getMarketingConsent()))) !== null && _a !== void 0 ? _a : null;
|
|
8589
|
+
return marketing === false;
|
|
7725
8590
|
}
|
|
7726
|
-
|
|
7727
|
-
|
|
8591
|
+
catch {
|
|
8592
|
+
return false;
|
|
8593
|
+
}
|
|
8594
|
+
};
|
|
8595
|
+
|
|
8596
|
+
var _BannerGateController_instances, _BannerGateController_bannerTimer, _BannerGateController_lastConfigRef, _BannerGateController_disconnected, _BannerGateController_host, _BannerGateController_actions, _BannerGateController_checkStoreGate, _BannerGateController_getStoreConsent, _BannerGateController_getD1Consent, _BannerGateController_evaluateClawback, _BannerGateController_scheduleStandardBanner, _BannerGateController_scheduleClawbackBanner, _BannerGateController_clearTimer;
|
|
8597
|
+
/**
|
|
8598
|
+
* Lit ReactiveController that owns the "should the banner display?" decision
|
|
8599
|
+
* pipeline. Triggers automatically when the host's `config` reference changes
|
|
8600
|
+
* and cleans up its timer when the host disconnects.
|
|
8601
|
+
*/
|
|
8602
|
+
class BannerGateController {
|
|
8603
|
+
constructor(host, actions) {
|
|
8604
|
+
_BannerGateController_instances.add(this);
|
|
8605
|
+
_BannerGateController_bannerTimer.set(this, null);
|
|
8606
|
+
_BannerGateController_lastConfigRef.set(this, undefined
|
|
8607
|
+
// Guards against an in-flight check() resuming after the host detaches and
|
|
8608
|
+
// applying stale side-effects (e.g. scheduling a clawback banner whose timer
|
|
8609
|
+
// would fire a spurious telemetry event).
|
|
8610
|
+
);
|
|
8611
|
+
// Guards against an in-flight check() resuming after the host detaches and
|
|
8612
|
+
// applying stale side-effects (e.g. scheduling a clawback banner whose timer
|
|
8613
|
+
// would fire a spurious telemetry event).
|
|
8614
|
+
_BannerGateController_disconnected.set(this, false);
|
|
8615
|
+
_BannerGateController_host.set(this, void 0);
|
|
8616
|
+
_BannerGateController_actions.set(this, void 0);
|
|
8617
|
+
__classPrivateFieldSet(this, _BannerGateController_host, host, "f");
|
|
8618
|
+
__classPrivateFieldSet(this, _BannerGateController_actions, actions, "f");
|
|
8619
|
+
host.addController(this);
|
|
8620
|
+
}
|
|
8621
|
+
hostConnected() {
|
|
8622
|
+
__classPrivateFieldSet(this, _BannerGateController_disconnected, false, "f");
|
|
8623
|
+
}
|
|
8624
|
+
hostDisconnected() {
|
|
8625
|
+
__classPrivateFieldSet(this, _BannerGateController_disconnected, true, "f");
|
|
8626
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_clearTimer).call(this);
|
|
8627
|
+
}
|
|
8628
|
+
hostUpdated() {
|
|
8629
|
+
if (__classPrivateFieldGet(this, _BannerGateController_host, "f").config && __classPrivateFieldGet(this, _BannerGateController_host, "f").config !== __classPrivateFieldGet(this, _BannerGateController_lastConfigRef, "f")) {
|
|
8630
|
+
__classPrivateFieldSet(this, _BannerGateController_lastConfigRef, __classPrivateFieldGet(this, _BannerGateController_host, "f").config, "f");
|
|
8631
|
+
this.check().catch((error) => logger.error('Failed to check and show banner:', error));
|
|
8632
|
+
}
|
|
7728
8633
|
}
|
|
7729
|
-
async
|
|
8634
|
+
async check() {
|
|
7730
8635
|
var _a, _b, _c;
|
|
7731
|
-
|
|
8636
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_clearTimer).call(this);
|
|
8637
|
+
const host = __classPrivateFieldGet(this, _BannerGateController_host, "f");
|
|
8638
|
+
if (!((_a = host.config) === null || _a === void 0 ? void 0 : _a.behavior)) {
|
|
7732
8639
|
return;
|
|
7733
8640
|
}
|
|
7734
|
-
|
|
7735
|
-
|
|
7736
|
-
|
|
7737
|
-
|
|
8641
|
+
host.setShowCookieIcon(false);
|
|
8642
|
+
/* This is used in the provider form preview mode to review the banner */
|
|
8643
|
+
if (host.contained) {
|
|
8644
|
+
host.setShowBanner(true);
|
|
8645
|
+
host.setShowCookieIcon(false);
|
|
7738
8646
|
return;
|
|
7739
8647
|
}
|
|
7740
|
-
|
|
7741
|
-
|
|
7742
|
-
|
|
8648
|
+
if (host.config.behavior.respectGPC && isGPCEnabled()) {
|
|
8649
|
+
void __classPrivateFieldGet(this, _BannerGateController_actions, "f")
|
|
8650
|
+
.handleGPCOptOut()
|
|
8651
|
+
.catch((error) => logger.error('Failed to apply GPC opt-out:', error));
|
|
7743
8652
|
return;
|
|
7744
8653
|
}
|
|
7745
|
-
|
|
7746
|
-
|
|
8654
|
+
// A pending clawback flow forces the banner to re-display on every load
|
|
8655
|
+
// until the visitor interacts (which clears the flag). This must precede
|
|
8656
|
+
// the stored/D1/store gates: the CLAWBACK_SHOWN impression persists prior
|
|
8657
|
+
// consent to D1, which would otherwise suppress the re-prompt. Honour the
|
|
8658
|
+
// feature master-switch — a disabled clawback config stops re-display.
|
|
8659
|
+
if (((_b = host.clawback) === null || _b === void 0 ? void 0 : _b.enabled) && hasClawbackPending()) {
|
|
8660
|
+
const prior = (_c = (await __classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_getStoreConsent).call(this))) !== null && _c !== void 0 ? _c : (await __classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_getD1Consent).call(this));
|
|
8661
|
+
if (__classPrivateFieldGet(this, _BannerGateController_disconnected, "f")) {
|
|
8662
|
+
return;
|
|
8663
|
+
}
|
|
8664
|
+
if (prior) {
|
|
8665
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_scheduleClawbackBanner).call(this, prior, false);
|
|
8666
|
+
return;
|
|
8667
|
+
}
|
|
8668
|
+
// No prior snapshot available — fall through to the normal pipeline.
|
|
8669
|
+
}
|
|
8670
|
+
// Early Shopify Store API gate: if a store-backed surface is wired but
|
|
8671
|
+
// hasn't recorded any consent yet for this shopper, show the standard
|
|
8672
|
+
// banner immediately. Only proceed to the stored/Meta/D1 cascade when
|
|
8673
|
+
// the store-side prior consent exists, or when no storeAPI is wired.
|
|
8674
|
+
let storePriorConsent = null;
|
|
8675
|
+
if (host.storeAPI) {
|
|
8676
|
+
storePriorConsent = await __classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_getStoreConsent).call(this);
|
|
8677
|
+
if (__classPrivateFieldGet(this, _BannerGateController_disconnected, "f")) {
|
|
8678
|
+
return;
|
|
8679
|
+
}
|
|
8680
|
+
if (!storePriorConsent) {
|
|
8681
|
+
logger.info('Shopify Store API present but no recorded consent, showing standard banner');
|
|
8682
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_scheduleStandardBanner).call(this);
|
|
8683
|
+
return;
|
|
8684
|
+
}
|
|
8685
|
+
logger.info('Shopify Store API returned prior consent, continuing to cookie/Meta/D1 checks');
|
|
8686
|
+
}
|
|
8687
|
+
const storedConsent = getStoredConsent();
|
|
8688
|
+
if (storedConsent) {
|
|
8689
|
+
logger.info('Found consent in cookie, checking Meta interaction cookie');
|
|
8690
|
+
if (hasBannerInteraction() || isBannerClosed()) {
|
|
8691
|
+
logger.info('Meta interaction cookie found, treating stored consent as previously acknowledged and skipping banner');
|
|
8692
|
+
return;
|
|
8693
|
+
}
|
|
8694
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_scheduleStandardBanner).call(this, false);
|
|
7747
8695
|
return;
|
|
7748
8696
|
}
|
|
7749
8697
|
if (isBannerClosed()) {
|
|
7750
8698
|
logger.info('Banner was previously closed, skipping banner');
|
|
7751
8699
|
return;
|
|
7752
8700
|
}
|
|
7753
|
-
|
|
7754
|
-
|
|
7755
|
-
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
logger.error('Failed to load prior consent, proceeding to show banner:', error);
|
|
8701
|
+
const d1Consent = await __classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_getD1Consent).call(this);
|
|
8702
|
+
if (__classPrivateFieldGet(this, _BannerGateController_disconnected, "f")) {
|
|
8703
|
+
return;
|
|
8704
|
+
}
|
|
8705
|
+
if (d1Consent) {
|
|
8706
|
+
logger.info('D1 consent categories found, hiding the banner');
|
|
8707
|
+
storeConsent(d1Consent, host.destination);
|
|
8708
|
+
markBannerInteracted(host.destination);
|
|
8709
|
+
return;
|
|
8710
|
+
}
|
|
8711
|
+
if (host.storeAPI && storePriorConsent) {
|
|
8712
|
+
const handled = await __classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_checkStoreGate).call(this, storePriorConsent);
|
|
8713
|
+
if (handled) {
|
|
8714
|
+
return;
|
|
7768
8715
|
}
|
|
7769
8716
|
}
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
|
|
8717
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_scheduleStandardBanner).call(this);
|
|
8718
|
+
}
|
|
8719
|
+
}
|
|
8720
|
+
_BannerGateController_bannerTimer = new WeakMap(), _BannerGateController_lastConfigRef = new WeakMap(), _BannerGateController_disconnected = new WeakMap(), _BannerGateController_host = new WeakMap(), _BannerGateController_actions = new WeakMap(), _BannerGateController_instances = new WeakSet(), _BannerGateController_checkStoreGate = async function _BannerGateController_checkStoreGate(priorConsent) {
|
|
8721
|
+
// Don't re-prompt visitors who already interacted with or closed the
|
|
8722
|
+
// standard banner on a previous visit — silently inherit prior consent.
|
|
8723
|
+
const alreadyInteracted = hasBannerInteraction() || isBannerClosed();
|
|
8724
|
+
const clawbackEligible = await __classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_evaluateClawback).call(this).catch((error) => {
|
|
8725
|
+
logger.error('Failed to evaluate clawback, falling back to silent prior-consent inherit:', error);
|
|
8726
|
+
return false;
|
|
8727
|
+
});
|
|
8728
|
+
if (__classPrivateFieldGet(this, _BannerGateController_disconnected, "f")) {
|
|
8729
|
+
return true;
|
|
8730
|
+
}
|
|
8731
|
+
if (!alreadyInteracted && clawbackEligible) {
|
|
8732
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_scheduleClawbackBanner).call(this, priorConsent);
|
|
8733
|
+
return true;
|
|
8734
|
+
}
|
|
8735
|
+
// Clawback off, prior interaction recorded, or shopify-marketing-off with
|
|
8736
|
+
// Shopify marketing already on — silently inherit the prior consent.
|
|
8737
|
+
await __classPrivateFieldGet(this, _BannerGateController_actions, "f").saveConsent(priorConsent, 'PRIOR_CONSENT');
|
|
8738
|
+
return true;
|
|
8739
|
+
}, _BannerGateController_getStoreConsent = async function _BannerGateController_getStoreConsent() {
|
|
8740
|
+
var _a, _b;
|
|
8741
|
+
return ((_b = (await ((_a = __classPrivateFieldGet(this, _BannerGateController_host, "f").storeAPI) === null || _a === void 0 ? void 0 : _a.getConsent().catch((error) => {
|
|
8742
|
+
logger.error('Failed to get consent from store API, proceeding without it:', error);
|
|
8743
|
+
return null;
|
|
8744
|
+
})))) !== null && _b !== void 0 ? _b : null);
|
|
8745
|
+
}, _BannerGateController_getD1Consent = async function _BannerGateController_getD1Consent() {
|
|
8746
|
+
var _a;
|
|
8747
|
+
return ((_a = (await __classPrivateFieldGet(this, _BannerGateController_host, "f").blotoutConsentAPI
|
|
8748
|
+
.getConsentCategories()
|
|
8749
|
+
.catch((error) => {
|
|
8750
|
+
logger.error('Failed to get consent categories from D1, proceeding without it:', error);
|
|
8751
|
+
return null;
|
|
8752
|
+
}))) !== null && _a !== void 0 ? _a : null);
|
|
8753
|
+
}, _BannerGateController_evaluateClawback = function _BannerGateController_evaluateClawback() {
|
|
8754
|
+
var _a, _b;
|
|
8755
|
+
const host = __classPrivateFieldGet(this, _BannerGateController_host, "f");
|
|
8756
|
+
return shouldShowClawback({
|
|
8757
|
+
clawback: host.clawback,
|
|
8758
|
+
isEURequest: host.isEURequest,
|
|
8759
|
+
geoCountry: host.geoCountry,
|
|
8760
|
+
gpcEnabled: isGPCEnabled(),
|
|
8761
|
+
getMarketingConsent: (_b = (_a = host.storeAPI) === null || _a === void 0 ? void 0 : _a.getMarketingConsent) === null || _b === void 0 ? void 0 : _b.bind(host.storeAPI),
|
|
8762
|
+
});
|
|
8763
|
+
}, _BannerGateController_scheduleStandardBanner = function _BannerGateController_scheduleStandardBanner(initialLoad = true) {
|
|
8764
|
+
var _a, _b, _c;
|
|
8765
|
+
const host = __classPrivateFieldGet(this, _BannerGateController_host, "f");
|
|
8766
|
+
const delaySeconds = (_c = (_b = (_a = host.config) === null || _a === void 0 ? void 0 : _a.behavior) === null || _b === void 0 ? void 0 : _b.delaySeconds) !== null && _c !== void 0 ? _c : 0;
|
|
8767
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_clearTimer).call(this);
|
|
8768
|
+
__classPrivateFieldGet(this, _BannerGateController_actions, "f").setClawbackMode(false);
|
|
8769
|
+
__classPrivateFieldGet(this, _BannerGateController_actions, "f").setPriorConsentSnapshot(null);
|
|
8770
|
+
__classPrivateFieldSet(this, _BannerGateController_bannerTimer, setTimeout(() => {
|
|
8771
|
+
host.setShowBanner(true);
|
|
8772
|
+
if (initialLoad) {
|
|
8773
|
+
__classPrivateFieldGet(this, _BannerGateController_actions, "f").sendInitialLoad();
|
|
8774
|
+
}
|
|
8775
|
+
}, delaySeconds * 1000), "f");
|
|
8776
|
+
}, _BannerGateController_scheduleClawbackBanner = function _BannerGateController_scheduleClawbackBanner(priorConsent, recordShown = true) {
|
|
8777
|
+
var _a, _b, _c;
|
|
8778
|
+
const host = __classPrivateFieldGet(this, _BannerGateController_host, "f");
|
|
8779
|
+
const delaySeconds = (_c = (_b = (_a = host.config) === null || _a === void 0 ? void 0 : _a.behavior) === null || _b === void 0 ? void 0 : _b.delaySeconds) !== null && _c !== void 0 ? _c : 0;
|
|
8780
|
+
__classPrivateFieldGet(this, _BannerGateController_instances, "m", _BannerGateController_clearTimer).call(this);
|
|
8781
|
+
__classPrivateFieldGet(this, _BannerGateController_actions, "f").setPriorConsentSnapshot(priorConsent);
|
|
8782
|
+
__classPrivateFieldGet(this, _BannerGateController_actions, "f").setClawbackMode(true);
|
|
8783
|
+
__classPrivateFieldSet(this, _BannerGateController_bannerTimer, setTimeout(() => {
|
|
8784
|
+
host.setShowBanner(true);
|
|
8785
|
+
if (recordShown) {
|
|
8786
|
+
void __classPrivateFieldGet(this, _BannerGateController_actions, "f").recordClawbackShown(priorConsent);
|
|
7774
8787
|
}
|
|
7775
|
-
|
|
7776
|
-
|
|
7777
|
-
|
|
7778
|
-
|
|
8788
|
+
}, delaySeconds * 1000), "f");
|
|
8789
|
+
}, _BannerGateController_clearTimer = function _BannerGateController_clearTimer() {
|
|
8790
|
+
if (__classPrivateFieldGet(this, _BannerGateController_bannerTimer, "f")) {
|
|
8791
|
+
clearTimeout(__classPrivateFieldGet(this, _BannerGateController_bannerTimer, "f"));
|
|
8792
|
+
__classPrivateFieldSet(this, _BannerGateController_bannerTimer, null, "f");
|
|
8793
|
+
}
|
|
8794
|
+
};
|
|
8795
|
+
|
|
8796
|
+
var _ConsentActionController_instances, _ConsentActionController_clawbackMode, _ConsentActionController_priorConsentSnapshot, _ConsentActionController_isLoading, _ConsentActionController_host, _ConsentActionController_setLoading, _ConsentActionController_resolveEffectiveAction, _ConsentActionController_persistConsent, _ConsentActionController_completeSave, _ConsentActionController_runCloseFlow;
|
|
8797
|
+
/**
|
|
8798
|
+
* Lit ReactiveController that owns every consent-action side effect:
|
|
8799
|
+
* accept / reject / save preferences / close / manual re-open / GPC opt-out
|
|
8800
|
+
* / initial-load / DSAR submit. Persistence (storage writes, network calls,
|
|
8801
|
+
* DOM event dispatch) lives here so the action surface can be tested in
|
|
8802
|
+
* isolation from the Lit element. State that gates clawback behaviour
|
|
8803
|
+
* (clawbackMode, priorConsentSnapshot, isLoading) is co-located with the
|
|
8804
|
+
* methods that mutate it.
|
|
8805
|
+
*/
|
|
8806
|
+
class ConsentActionController {
|
|
8807
|
+
constructor(host) {
|
|
8808
|
+
_ConsentActionController_instances.add(this);
|
|
8809
|
+
_ConsentActionController_clawbackMode.set(this, false);
|
|
8810
|
+
_ConsentActionController_priorConsentSnapshot.set(this, null);
|
|
8811
|
+
_ConsentActionController_isLoading.set(this, false);
|
|
8812
|
+
_ConsentActionController_host.set(this, void 0);
|
|
8813
|
+
__classPrivateFieldSet(this, _ConsentActionController_host, host, "f");
|
|
8814
|
+
host.addController(this);
|
|
8815
|
+
}
|
|
8816
|
+
hostDisconnected() {
|
|
8817
|
+
// Reserved for future cleanup (in-flight save cancellation, etc.).
|
|
8818
|
+
}
|
|
8819
|
+
get clawbackMode() {
|
|
8820
|
+
return __classPrivateFieldGet(this, _ConsentActionController_clawbackMode, "f");
|
|
7779
8821
|
}
|
|
8822
|
+
get priorConsentSnapshot() {
|
|
8823
|
+
return __classPrivateFieldGet(this, _ConsentActionController_priorConsentSnapshot, "f");
|
|
8824
|
+
}
|
|
8825
|
+
get isLoading() {
|
|
8826
|
+
return __classPrivateFieldGet(this, _ConsentActionController_isLoading, "f");
|
|
8827
|
+
}
|
|
8828
|
+
setClawbackMode(value) {
|
|
8829
|
+
__classPrivateFieldSet(this, _ConsentActionController_clawbackMode, value, "f");
|
|
8830
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").requestUpdate();
|
|
8831
|
+
}
|
|
8832
|
+
setPriorConsentSnapshot(value) {
|
|
8833
|
+
__classPrivateFieldSet(this, _ConsentActionController_priorConsentSnapshot, value, "f");
|
|
8834
|
+
}
|
|
8835
|
+
/**
|
|
8836
|
+
* Sends the INITIAL_LOAD event for a first-time visitor, syncs the
|
|
8837
|
+
* default consent to the store, and seeds the local cookie. Errors are
|
|
8838
|
+
* logged and swallowed — initial-load telemetry never blocks the banner.
|
|
8839
|
+
*/
|
|
7780
8840
|
sendInitialLoad() {
|
|
7781
|
-
if (!this.blotoutConsentAPI || !this.defaultConsentState) {
|
|
8841
|
+
if (!__classPrivateFieldGet(this, _ConsentActionController_host, "f").blotoutConsentAPI || !__classPrivateFieldGet(this, _ConsentActionController_host, "f").defaultConsentState) {
|
|
7782
8842
|
return;
|
|
7783
8843
|
}
|
|
7784
8844
|
void Promise.allSettled([
|
|
7785
|
-
this.blotoutConsentAPI
|
|
8845
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").blotoutConsentAPI
|
|
7786
8846
|
.update({
|
|
7787
8847
|
consent_action: 'INITIAL_LOAD',
|
|
7788
|
-
user_preferences: JSON.stringify(this.defaultConsentState),
|
|
8848
|
+
user_preferences: JSON.stringify(__classPrivateFieldGet(this, _ConsentActionController_host, "f").defaultConsentState),
|
|
7789
8849
|
tcf_string: null,
|
|
7790
8850
|
})
|
|
7791
8851
|
.catch((error) => logger.error('Failed to send INITIAL_LOAD:', error)),
|
|
7792
|
-
syncConsentToStore(this.storeAPI, this.defaultConsentState),
|
|
8852
|
+
syncConsentToStore(__classPrivateFieldGet(this, _ConsentActionController_host, "f").storeAPI, __classPrivateFieldGet(this, _ConsentActionController_host, "f").defaultConsentState),
|
|
7793
8853
|
]);
|
|
7794
|
-
|
|
7795
|
-
disconnectedCallback() {
|
|
7796
|
-
if (this.bannerTimer) {
|
|
7797
|
-
clearTimeout(this.bannerTimer);
|
|
7798
|
-
this.bannerTimer = null;
|
|
7799
|
-
}
|
|
7800
|
-
super.disconnectedCallback();
|
|
8854
|
+
storeConsent(__classPrivateFieldGet(this, _ConsentActionController_host, "f").defaultConsentState, __classPrivateFieldGet(this, _ConsentActionController_host, "f").destination);
|
|
7801
8855
|
}
|
|
7802
8856
|
async handleGPCOptOut() {
|
|
7803
8857
|
const preferences = {
|
|
@@ -7810,92 +8864,84 @@ class ConsentBanner extends ElementWithStylesheet {
|
|
|
7810
8864
|
await this.saveConsent(preferences, 'GPC_OPT_OUT');
|
|
7811
8865
|
}
|
|
7812
8866
|
async saveConsent(preferences, action) {
|
|
7813
|
-
if (this
|
|
8867
|
+
if (__classPrivateFieldGet(this, _ConsentActionController_isLoading, "f")) {
|
|
7814
8868
|
return;
|
|
7815
8869
|
}
|
|
7816
|
-
if (!this.blotoutConsentAPI) {
|
|
8870
|
+
if (!__classPrivateFieldGet(this, _ConsentActionController_host, "f").blotoutConsentAPI) {
|
|
7817
8871
|
logger.error('blotoutConsentAPI is not available');
|
|
7818
8872
|
return;
|
|
7819
8873
|
}
|
|
7820
|
-
this.
|
|
8874
|
+
__classPrivateFieldGet(this, _ConsentActionController_instances, "m", _ConsentActionController_setLoading).call(this, true);
|
|
8875
|
+
const effectiveAction = __classPrivateFieldGet(this, _ConsentActionController_instances, "m", _ConsentActionController_resolveEffectiveAction).call(this, action);
|
|
7821
8876
|
try {
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
consent_action: action,
|
|
7825
|
-
user_preferences: JSON.stringify(preferences),
|
|
7826
|
-
tcf_string: null,
|
|
7827
|
-
}),
|
|
7828
|
-
action !== 'PRIOR_CONSENT'
|
|
7829
|
-
? syncConsentToStore(this.storeAPI, preferences)
|
|
7830
|
-
: Promise.resolve(),
|
|
7831
|
-
]);
|
|
7832
|
-
if (updateResult.status === 'rejected') {
|
|
7833
|
-
throw new Error('Failed to update consent:', {
|
|
7834
|
-
cause: updateResult.reason,
|
|
7835
|
-
});
|
|
7836
|
-
}
|
|
7837
|
-
if (syncResult.status === 'rejected') {
|
|
7838
|
-
throw new Error('Failed to sync consent to store:', {
|
|
7839
|
-
cause: syncResult.reason,
|
|
7840
|
-
});
|
|
7841
|
-
}
|
|
7842
|
-
this.showBanner = false;
|
|
7843
|
-
storeConsent(preferences, this.destination);
|
|
7844
|
-
this.dispatchEvent(new CustomEvent('blotout-consent-updated', {
|
|
7845
|
-
detail: { preferences, action },
|
|
7846
|
-
bubbles: true,
|
|
7847
|
-
composed: true,
|
|
7848
|
-
}));
|
|
8877
|
+
await __classPrivateFieldGet(this, _ConsentActionController_instances, "m", _ConsentActionController_persistConsent).call(this, effectiveAction, preferences);
|
|
8878
|
+
__classPrivateFieldGet(this, _ConsentActionController_instances, "m", _ConsentActionController_completeSave).call(this, effectiveAction, preferences);
|
|
7849
8879
|
}
|
|
7850
8880
|
catch (error) {
|
|
7851
8881
|
logger.error('Failed to save consent:', error);
|
|
7852
8882
|
throw error;
|
|
7853
8883
|
}
|
|
7854
8884
|
finally {
|
|
7855
|
-
this.
|
|
8885
|
+
__classPrivateFieldGet(this, _ConsentActionController_instances, "m", _ConsentActionController_setLoading).call(this, false);
|
|
7856
8886
|
}
|
|
7857
8887
|
}
|
|
7858
|
-
|
|
7859
|
-
var _a;
|
|
7860
|
-
const preferences = ((_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.preferences)
|
|
8888
|
+
handleAcceptAll(e) {
|
|
8889
|
+
var _a, _b;
|
|
8890
|
+
const preferences = (_b = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.preferences) !== null && _b !== void 0 ? _b : {
|
|
7861
8891
|
necessary: true,
|
|
7862
8892
|
functional: true,
|
|
7863
8893
|
analytics: true,
|
|
7864
8894
|
marketing: true,
|
|
7865
8895
|
performance: true,
|
|
7866
8896
|
};
|
|
7867
|
-
|
|
8897
|
+
return this.saveConsent(preferences, 'GRANTED');
|
|
7868
8898
|
}
|
|
7869
|
-
|
|
7870
|
-
var _a;
|
|
7871
|
-
const preferences = ((_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.preferences)
|
|
8899
|
+
handleRejectAll(e) {
|
|
8900
|
+
var _a, _b;
|
|
8901
|
+
const preferences = (_b = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.preferences) !== null && _b !== void 0 ? _b : {
|
|
7872
8902
|
necessary: true,
|
|
7873
8903
|
functional: false,
|
|
7874
8904
|
analytics: false,
|
|
7875
8905
|
marketing: false,
|
|
7876
8906
|
performance: false,
|
|
7877
8907
|
};
|
|
7878
|
-
|
|
8908
|
+
return this.saveConsent(preferences, 'DENIED');
|
|
7879
8909
|
}
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
8910
|
+
handleSavePreferences(e) {
|
|
8911
|
+
var _a;
|
|
8912
|
+
const preferences = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.preferences;
|
|
8913
|
+
if (!preferences) {
|
|
8914
|
+
logger.error('Missing preferences in save-preferences event');
|
|
8915
|
+
return Promise.resolve();
|
|
8916
|
+
}
|
|
8917
|
+
return this.saveConsent(preferences, 'CUSTOM_PREFERENCE');
|
|
7883
8918
|
}
|
|
8919
|
+
/**
|
|
8920
|
+
* Synchronous wrapper for Lit's `dialog-closed` listener. Delegates to the
|
|
8921
|
+
* async close flow and logs any rejection — Lit does not await listeners,
|
|
8922
|
+
* so an async method bound directly would silently swallow rejections.
|
|
8923
|
+
*/
|
|
7884
8924
|
handleClose() {
|
|
7885
|
-
this.
|
|
7886
|
-
|
|
7887
|
-
|
|
7888
|
-
|
|
7889
|
-
|
|
7890
|
-
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
|
|
8925
|
+
__classPrivateFieldGet(this, _ConsentActionController_instances, "m", _ConsentActionController_runCloseFlow).call(this).catch((error) => logger.error('handleClose flow failed', error));
|
|
8926
|
+
}
|
|
8927
|
+
/**
|
|
8928
|
+
* Called when the publisher programmatically re-opens the banner — either
|
|
8929
|
+
* via the consent-banner element's `show()` method or via the cookie icon.
|
|
8930
|
+
* Manual re-open always treats the next interaction as a fresh standard
|
|
8931
|
+
* choice, so any pending clawback state is cleared first: Accept here
|
|
8932
|
+
* must fire `GRANTED`, not `CLAWBACK_GRANTED`.
|
|
8933
|
+
*/
|
|
8934
|
+
handleManualOpen() {
|
|
8935
|
+
__classPrivateFieldSet(this, _ConsentActionController_clawbackMode, false, "f");
|
|
8936
|
+
__classPrivateFieldSet(this, _ConsentActionController_priorConsentSnapshot, null, "f");
|
|
8937
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").setShowBanner(true);
|
|
7894
8938
|
}
|
|
7895
8939
|
async handleDoNotSellRequestSubmitted(e) {
|
|
7896
8940
|
const raw = e.detail;
|
|
7897
8941
|
if (!raw || typeof raw !== 'object') {
|
|
7898
|
-
logger.error('Invalid do-not-sell event detail
|
|
8942
|
+
logger.error('Invalid do-not-sell event detail type', {
|
|
8943
|
+
detailType: typeof raw,
|
|
8944
|
+
});
|
|
7899
8945
|
return;
|
|
7900
8946
|
}
|
|
7901
8947
|
const detail = {};
|
|
@@ -7909,14 +8955,14 @@ class ConsentBanner extends ElementWithStylesheet {
|
|
|
7909
8955
|
marketing: false,
|
|
7910
8956
|
performance: false,
|
|
7911
8957
|
};
|
|
7912
|
-
if (!this.blotoutConsentAPI) {
|
|
8958
|
+
if (!__classPrivateFieldGet(this, _ConsentActionController_host, "f").blotoutConsentAPI) {
|
|
7913
8959
|
logger.error('blotoutConsentAPI is not available for DSAR submission');
|
|
7914
8960
|
return;
|
|
7915
8961
|
}
|
|
7916
8962
|
try {
|
|
7917
8963
|
await Promise.all([
|
|
7918
8964
|
this.saveConsent(preferences, 'DENIED'),
|
|
7919
|
-
this.blotoutConsentAPI.submitDSAR({
|
|
8965
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").blotoutConsentAPI.submitDSAR({
|
|
7920
8966
|
request_type: 'DO_NOT_SELL',
|
|
7921
8967
|
request_data: detail,
|
|
7922
8968
|
}),
|
|
@@ -7924,11 +8970,197 @@ class ConsentBanner extends ElementWithStylesheet {
|
|
|
7924
8970
|
}
|
|
7925
8971
|
catch (error) {
|
|
7926
8972
|
logger.error('Failed to submit do-not-sell request:', error);
|
|
8973
|
+
}
|
|
8974
|
+
}
|
|
8975
|
+
/**
|
|
8976
|
+
* Records that the clawback flow was shown to this visitor. Writes the
|
|
8977
|
+
* clawback cookie synchronously FIRST so once-per-visitor dedupe holds even
|
|
8978
|
+
* if the tab closes before the request resolves, then sends a best-effort
|
|
8979
|
+
* `CLAWBACK_SHOWN` impression to R2 via the consent `/update` pipeline. This
|
|
8980
|
+
* is an impression, not a consent change: it never marks the banner
|
|
8981
|
+
* interacted, hides it, syncs the store, or dispatches an update event.
|
|
8982
|
+
*/
|
|
8983
|
+
async recordClawbackShown(prior) {
|
|
8984
|
+
if (!__classPrivateFieldGet(this, _ConsentActionController_host, "f").blotoutConsentAPI) {
|
|
7927
8985
|
return;
|
|
7928
8986
|
}
|
|
8987
|
+
try {
|
|
8988
|
+
await __classPrivateFieldGet(this, _ConsentActionController_host, "f").blotoutConsentAPI.update({
|
|
8989
|
+
consent_action: 'CLAWBACK_SHOWN',
|
|
8990
|
+
user_preferences: JSON.stringify(prior),
|
|
8991
|
+
tcf_string: null,
|
|
8992
|
+
}, { keepalive: true });
|
|
8993
|
+
markClawbackShown(__classPrivateFieldGet(this, _ConsentActionController_host, "f").destination);
|
|
8994
|
+
}
|
|
8995
|
+
catch (error) {
|
|
8996
|
+
logger.error('Failed to record clawback shown:', error);
|
|
8997
|
+
}
|
|
8998
|
+
}
|
|
8999
|
+
}
|
|
9000
|
+
_ConsentActionController_clawbackMode = new WeakMap(), _ConsentActionController_priorConsentSnapshot = new WeakMap(), _ConsentActionController_isLoading = new WeakMap(), _ConsentActionController_host = new WeakMap(), _ConsentActionController_instances = new WeakSet(), _ConsentActionController_setLoading = function _ConsentActionController_setLoading(value) {
|
|
9001
|
+
__classPrivateFieldSet(this, _ConsentActionController_isLoading, value, "f");
|
|
9002
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").requestUpdate();
|
|
9003
|
+
}, _ConsentActionController_resolveEffectiveAction = function _ConsentActionController_resolveEffectiveAction(action) {
|
|
9004
|
+
if (__classPrivateFieldGet(this, _ConsentActionController_clawbackMode, "f") &&
|
|
9005
|
+
(action === 'GRANTED' ||
|
|
9006
|
+
action === 'DENIED' ||
|
|
9007
|
+
action === 'CUSTOM_PREFERENCE')) {
|
|
9008
|
+
return toClawbackAction(action);
|
|
9009
|
+
}
|
|
9010
|
+
return action;
|
|
9011
|
+
}, _ConsentActionController_persistConsent = async function _ConsentActionController_persistConsent(action, preferences) {
|
|
9012
|
+
const [updateResult, syncResult] = await Promise.allSettled([
|
|
9013
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").blotoutConsentAPI.update({
|
|
9014
|
+
consent_action: action,
|
|
9015
|
+
user_preferences: JSON.stringify(preferences),
|
|
9016
|
+
tcf_string: null,
|
|
9017
|
+
}),
|
|
9018
|
+
action !== 'PRIOR_CONSENT' &&
|
|
9019
|
+
action !== 'CLAWBACK_CLOSE' &&
|
|
9020
|
+
action !== 'CLAWBACK_SHOWN'
|
|
9021
|
+
? syncConsentToStore(__classPrivateFieldGet(this, _ConsentActionController_host, "f").storeAPI, preferences)
|
|
9022
|
+
: Promise.resolve(),
|
|
9023
|
+
]);
|
|
9024
|
+
if (updateResult.status === 'rejected') {
|
|
9025
|
+
throw new Error('Failed to update consent:', {
|
|
9026
|
+
cause: updateResult.reason,
|
|
9027
|
+
});
|
|
9028
|
+
}
|
|
9029
|
+
if (syncResult.status === 'rejected') {
|
|
9030
|
+
throw new Error('Failed to sync consent to store:', {
|
|
9031
|
+
cause: syncResult.reason,
|
|
9032
|
+
});
|
|
9033
|
+
}
|
|
9034
|
+
}, _ConsentActionController_completeSave = function _ConsentActionController_completeSave(action, preferences) {
|
|
9035
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").setShowBanner(false);
|
|
9036
|
+
__classPrivateFieldSet(this, _ConsentActionController_clawbackMode, false, "f");
|
|
9037
|
+
storeConsent(preferences, __classPrivateFieldGet(this, _ConsentActionController_host, "f").destination);
|
|
9038
|
+
markBannerInteracted(__classPrivateFieldGet(this, _ConsentActionController_host, "f").destination);
|
|
9039
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").dispatchEvent(new CustomEvent('blotout-consent-updated', {
|
|
9040
|
+
detail: { preferences, action },
|
|
9041
|
+
bubbles: true,
|
|
9042
|
+
composed: true,
|
|
9043
|
+
}));
|
|
9044
|
+
}, _ConsentActionController_runCloseFlow = async function _ConsentActionController_runCloseFlow() {
|
|
9045
|
+
__classPrivateFieldGet(this, _ConsentActionController_host, "f").setShowBanner(false);
|
|
9046
|
+
// Clawback close → persist Shopify's prior consent (the visitor was
|
|
9047
|
+
// re-prompted but chose to dismiss; we honour their pre-existing choice).
|
|
9048
|
+
// Standard close → persist the configured default consent state.
|
|
9049
|
+
const preferences = __classPrivateFieldGet(this, _ConsentActionController_clawbackMode, "f")
|
|
9050
|
+
? __classPrivateFieldGet(this, _ConsentActionController_priorConsentSnapshot, "f")
|
|
9051
|
+
: __classPrivateFieldGet(this, _ConsentActionController_host, "f").defaultConsentState;
|
|
9052
|
+
if (!preferences) {
|
|
9053
|
+
logger.error('handleClose called without preferences — banner will reopen on next load');
|
|
9054
|
+
return;
|
|
9055
|
+
}
|
|
9056
|
+
// Mark the banner closed up-front so the close decision survives even if
|
|
9057
|
+
// the subsequent saveConsent (clawback path) throws.
|
|
9058
|
+
markBannerClosed(__classPrivateFieldGet(this, _ConsentActionController_host, "f").destination);
|
|
9059
|
+
if (__classPrivateFieldGet(this, _ConsentActionController_clawbackMode, "f") && __classPrivateFieldGet(this, _ConsentActionController_priorConsentSnapshot, "f")) {
|
|
9060
|
+
try {
|
|
9061
|
+
// saveConsent → #completeSave persists storage, marks interaction,
|
|
9062
|
+
// and dispatches `blotout-consent-updated`. Don't pre-write those
|
|
9063
|
+
// here or downstream listeners observe duplicate state.
|
|
9064
|
+
await this.saveConsent(__classPrivateFieldGet(this, _ConsentActionController_priorConsentSnapshot, "f"), 'CLAWBACK_CLOSE');
|
|
9065
|
+
}
|
|
9066
|
+
finally {
|
|
9067
|
+
__classPrivateFieldSet(this, _ConsentActionController_clawbackMode, false, "f");
|
|
9068
|
+
}
|
|
9069
|
+
return;
|
|
9070
|
+
}
|
|
9071
|
+
// Standard close
|
|
9072
|
+
storeConsent(preferences, __classPrivateFieldGet(this, _ConsentActionController_host, "f").destination);
|
|
9073
|
+
markBannerInteracted(__classPrivateFieldGet(this, _ConsentActionController_host, "f").destination);
|
|
9074
|
+
};
|
|
9075
|
+
|
|
9076
|
+
/**
|
|
9077
|
+
* Consent banner component. Renders dialog or long-view layout based on config.
|
|
9078
|
+
* Requires config, theme, and blotoutConsentAPI. Use optional chaining when config may be unset.
|
|
9079
|
+
*
|
|
9080
|
+
* Action-side effects (storage writes, network calls, dispatched events) live
|
|
9081
|
+
* on {@link ConsentActionController}; banner-display gating lives on
|
|
9082
|
+
* {@link BannerGateController}. This element wires them together and renders
|
|
9083
|
+
* the result.
|
|
9084
|
+
*/
|
|
9085
|
+
class ConsentBanner extends ElementWithStylesheet {
|
|
9086
|
+
constructor() {
|
|
9087
|
+
super(...arguments);
|
|
9088
|
+
this.destination = '';
|
|
9089
|
+
/** When true, renders the banner inside the host element rather than as a viewport overlay. */
|
|
9090
|
+
this.contained = false;
|
|
9091
|
+
/** When true, disables all consent actions (accept, reject, save) for preview/configurator mode. */
|
|
9092
|
+
this.disableActions = false;
|
|
9093
|
+
this.showBanner = false;
|
|
9094
|
+
this.showCookieIcon = true;
|
|
9095
|
+
this.showDnsFormStandalone = false;
|
|
9096
|
+
this.showDeleteFormStandalone = false;
|
|
9097
|
+
this.disableCookieIcon = true;
|
|
9098
|
+
this.actions = new ConsentActionController(this);
|
|
9099
|
+
this.gate = new BannerGateController(this, this.actions);
|
|
9100
|
+
this.handleDeleteFormClosed = () => {
|
|
9101
|
+
this.showDeleteFormStandalone = false;
|
|
9102
|
+
};
|
|
9103
|
+
// Stable bound event handlers — avoid re-creating closures on every Lit
|
|
9104
|
+
// render cycle (which would force listener detach/re-attach).
|
|
9105
|
+
// Lit does not await listeners, so the async controller calls below must
|
|
9106
|
+
// catch their own rejections (saveConsent rethrows) — otherwise a failed
|
|
9107
|
+
// save surfaces as an unhandled promise rejection. Mirrors handleClose().
|
|
9108
|
+
this.handleAcceptAll = (e) => {
|
|
9109
|
+
this.actions
|
|
9110
|
+
.handleAcceptAll(e)
|
|
9111
|
+
.catch((error) => logger.error('handleAcceptAll failed', error));
|
|
9112
|
+
};
|
|
9113
|
+
this.handleRejectAll = (e) => {
|
|
9114
|
+
this.actions
|
|
9115
|
+
.handleRejectAll(e)
|
|
9116
|
+
.catch((error) => logger.error('handleRejectAll failed', error));
|
|
9117
|
+
};
|
|
9118
|
+
this.handleDialogClosed = () => {
|
|
9119
|
+
this.actions.handleClose();
|
|
9120
|
+
};
|
|
9121
|
+
this.handleSavePreferences = (e) => {
|
|
9122
|
+
this.actions
|
|
9123
|
+
.handleSavePreferences(e)
|
|
9124
|
+
.catch((error) => logger.error('handleSavePreferences failed', error));
|
|
9125
|
+
};
|
|
9126
|
+
this.handleDoNotSellRequestSubmitted = (e) => {
|
|
9127
|
+
this.actions.handleDoNotSellRequestSubmitted(e);
|
|
9128
|
+
};
|
|
9129
|
+
}
|
|
9130
|
+
/**
|
|
9131
|
+
* Programmatically opens the consent banner — typically called from a host
|
|
9132
|
+
* site's "Manage cookies" link. Always treats the next interaction as a
|
|
9133
|
+
* standard interaction (clawback state is cleared), so Accept here fires
|
|
9134
|
+
* `GRANTED`, not `CLAWBACK_GRANTED`.
|
|
9135
|
+
*/
|
|
9136
|
+
show() {
|
|
9137
|
+
this.actions.handleManualOpen();
|
|
9138
|
+
}
|
|
9139
|
+
/** Programmatically opens the Do Not Sell form without triggering the consent banner. */
|
|
9140
|
+
showDnsForm() {
|
|
9141
|
+
this.showDnsFormStandalone = true;
|
|
9142
|
+
}
|
|
9143
|
+
handleDnsFormClosed() {
|
|
9144
|
+
this.showDnsFormStandalone = false;
|
|
9145
|
+
}
|
|
9146
|
+
/** Programmatically opens the delete-request form without triggering the consent banner. */
|
|
9147
|
+
showDeleteForm() {
|
|
9148
|
+
this.showDeleteFormStandalone = true;
|
|
9149
|
+
}
|
|
9150
|
+
// ---- BannerGateHost setters (invoked by the gate controller) ----
|
|
9151
|
+
setShowBanner(value) {
|
|
9152
|
+
this.showBanner = value;
|
|
9153
|
+
}
|
|
9154
|
+
setShowCookieIcon(value) {
|
|
9155
|
+
this.showCookieIcon = value;
|
|
7929
9156
|
}
|
|
7930
9157
|
handleCookieIconClick() {
|
|
7931
|
-
this.showBanner
|
|
9158
|
+
if (this.showBanner) {
|
|
9159
|
+
this.showBanner = false;
|
|
9160
|
+
}
|
|
9161
|
+
else {
|
|
9162
|
+
this.actions.handleManualOpen();
|
|
9163
|
+
}
|
|
7932
9164
|
}
|
|
7933
9165
|
renderBannerView() {
|
|
7934
9166
|
var _a;
|
|
@@ -7955,7 +9187,7 @@ class ConsentBanner extends ElementWithStylesheet {
|
|
|
7955
9187
|
.css=${this.css}
|
|
7956
9188
|
.disableActions=${this.disableActions}
|
|
7957
9189
|
.contained=${this.contained}
|
|
7958
|
-
.isSaving=${this.isLoading}
|
|
9190
|
+
.isSaving=${this.actions.isLoading}
|
|
7959
9191
|
.showAnnotations=${this.showAnnotations}
|
|
7960
9192
|
></dialog-view>`
|
|
7961
9193
|
: b ``}
|
|
@@ -7988,7 +9220,7 @@ class ConsentBanner extends ElementWithStylesheet {
|
|
|
7988
9220
|
.css=${this.css}
|
|
7989
9221
|
.disableActions=${this.disableActions}
|
|
7990
9222
|
.contained=${this.contained}
|
|
7991
|
-
.isSaving=${this.isLoading}
|
|
9223
|
+
.isSaving=${this.actions.isLoading}
|
|
7992
9224
|
.showAnnotations=${this.showAnnotations}
|
|
7993
9225
|
></long-view>
|
|
7994
9226
|
`
|
|
@@ -8001,6 +9233,18 @@ class ConsentBanner extends ElementWithStylesheet {
|
|
|
8001
9233
|
}
|
|
8002
9234
|
render() {
|
|
8003
9235
|
var _a, _b, _c;
|
|
9236
|
+
if (this.showDeleteFormStandalone) {
|
|
9237
|
+
return b `<delete-request-form
|
|
9238
|
+
.open=${true}
|
|
9239
|
+
.config=${this.config}
|
|
9240
|
+
.css=${this.css}
|
|
9241
|
+
.blotoutConsentAPI=${this.blotoutConsentAPI}
|
|
9242
|
+
.disableActions=${this.disableActions}
|
|
9243
|
+
.contained=${this.contained}
|
|
9244
|
+
.showAnnotations=${this.showAnnotations}
|
|
9245
|
+
@bc-delete-form-closed=${this.handleDeleteFormClosed}
|
|
9246
|
+
></delete-request-form>`;
|
|
9247
|
+
}
|
|
8004
9248
|
if (this.showDnsFormStandalone) {
|
|
8005
9249
|
return b `<do-not-sell-form
|
|
8006
9250
|
.open=${true}
|
|
@@ -8017,7 +9261,7 @@ class ConsentBanner extends ElementWithStylesheet {
|
|
|
8017
9261
|
class=${e({ 'root-contained': this.contained })}
|
|
8018
9262
|
@accept-all=${this.handleAcceptAll}
|
|
8019
9263
|
@reject-all=${this.handleRejectAll}
|
|
8020
|
-
@dialog-closed=${this.
|
|
9264
|
+
@dialog-closed=${this.handleDialogClosed}
|
|
8021
9265
|
@save-preferences=${this.handleSavePreferences}
|
|
8022
9266
|
@do-not-sell-request-submitted=${this.handleDoNotSellRequestSubmitted}
|
|
8023
9267
|
>
|
|
@@ -8055,6 +9299,18 @@ __decorate([
|
|
|
8055
9299
|
n$2({ type: Object }),
|
|
8056
9300
|
__metadata("design:type", Object)
|
|
8057
9301
|
], ConsentBanner.prototype, "storeAPI", void 0);
|
|
9302
|
+
__decorate([
|
|
9303
|
+
n$2({ type: Object }),
|
|
9304
|
+
__metadata("design:type", Object)
|
|
9305
|
+
], ConsentBanner.prototype, "clawback", void 0);
|
|
9306
|
+
__decorate([
|
|
9307
|
+
n$2(),
|
|
9308
|
+
__metadata("design:type", String)
|
|
9309
|
+
], ConsentBanner.prototype, "geoCountry", void 0);
|
|
9310
|
+
__decorate([
|
|
9311
|
+
n$2({ type: Boolean }),
|
|
9312
|
+
__metadata("design:type", Boolean)
|
|
9313
|
+
], ConsentBanner.prototype, "isEURequest", void 0);
|
|
8058
9314
|
__decorate([
|
|
8059
9315
|
n$2(),
|
|
8060
9316
|
__metadata("design:type", Object)
|
|
@@ -8082,11 +9338,11 @@ __decorate([
|
|
|
8082
9338
|
__decorate([
|
|
8083
9339
|
r$1(),
|
|
8084
9340
|
__metadata("design:type", Object)
|
|
8085
|
-
], ConsentBanner.prototype, "
|
|
9341
|
+
], ConsentBanner.prototype, "showDeleteFormStandalone", void 0);
|
|
8086
9342
|
__decorate([
|
|
8087
9343
|
r$1(),
|
|
8088
9344
|
__metadata("design:type", Object)
|
|
8089
|
-
], ConsentBanner.prototype, "
|
|
9345
|
+
], ConsentBanner.prototype, "disableCookieIcon", void 0);
|
|
8090
9346
|
if (!customElements.get('consent-banner')) {
|
|
8091
9347
|
customElements.define('consent-banner', ConsentBanner);
|
|
8092
9348
|
}
|
|
@@ -8107,7 +9363,7 @@ registerStylesheet('blotout-consent', twStyleText);
|
|
|
8107
9363
|
*
|
|
8108
9364
|
* @property destination - Target URL or identifier for the consent destination
|
|
8109
9365
|
* @property blotoutConsentAPI - API client implementing BlotoutConsentAPI (required for render)
|
|
8110
|
-
* @property storeAPI - Store API client for syncing consent to the store
|
|
9366
|
+
* @property storeAPI - Optional Store API client for syncing consent to the store; absent on platforms without a privacy API (e.g. WordPress)
|
|
8111
9367
|
* @property config - ConsentBannerConfig (required for render)
|
|
8112
9368
|
* @property theme - BannerTheme for styling
|
|
8113
9369
|
*/
|
|
@@ -8143,6 +9399,15 @@ class BlotoutConsent extends ElementWithStylesheet {
|
|
|
8143
9399
|
logger.info('BlotoutConsent: Cannot show DNS form - not yet initialized. Ensure config and blotoutConsentAPI are set.');
|
|
8144
9400
|
}
|
|
8145
9401
|
}
|
|
9402
|
+
/** Programmatically opens the delete-request form without showing the consent banner. */
|
|
9403
|
+
showDeleteForm() {
|
|
9404
|
+
if (this.banner) {
|
|
9405
|
+
this.banner.showDeleteForm();
|
|
9406
|
+
}
|
|
9407
|
+
else {
|
|
9408
|
+
logger.info('BlotoutConsent: Cannot show Delete form - not yet initialized. Ensure config and blotoutConsentAPI are set.');
|
|
9409
|
+
}
|
|
9410
|
+
}
|
|
8146
9411
|
render() {
|
|
8147
9412
|
if (!this.config || !this.blotoutConsentAPI) {
|
|
8148
9413
|
return;
|
|
@@ -8158,6 +9423,9 @@ class BlotoutConsent extends ElementWithStylesheet {
|
|
|
8158
9423
|
.css=${this.css}
|
|
8159
9424
|
.contained=${this.contained}
|
|
8160
9425
|
.disableActions=${this.disableActions}
|
|
9426
|
+
.clawback=${this.clawback}
|
|
9427
|
+
.geoCountry=${this.geoCountry}
|
|
9428
|
+
.isEURequest=${this.isEURequest}
|
|
8161
9429
|
.showAnnotations=${this.showAnnotations}
|
|
8162
9430
|
></consent-banner>
|
|
8163
9431
|
`;
|
|
@@ -8195,6 +9463,18 @@ __decorate([
|
|
|
8195
9463
|
n$2({ type: Object }),
|
|
8196
9464
|
__metadata("design:type", Object)
|
|
8197
9465
|
], BlotoutConsent.prototype, "defaultConsentState", void 0);
|
|
9466
|
+
__decorate([
|
|
9467
|
+
n$2({ type: Object }),
|
|
9468
|
+
__metadata("design:type", Object)
|
|
9469
|
+
], BlotoutConsent.prototype, "clawback", void 0);
|
|
9470
|
+
__decorate([
|
|
9471
|
+
n$2(),
|
|
9472
|
+
__metadata("design:type", String)
|
|
9473
|
+
], BlotoutConsent.prototype, "geoCountry", void 0);
|
|
9474
|
+
__decorate([
|
|
9475
|
+
n$2({ type: Boolean }),
|
|
9476
|
+
__metadata("design:type", Boolean)
|
|
9477
|
+
], BlotoutConsent.prototype, "isEURequest", void 0);
|
|
8198
9478
|
__decorate([
|
|
8199
9479
|
n$2({ type: Boolean }),
|
|
8200
9480
|
__metadata("design:type", Object)
|
|
@@ -8211,18 +9491,25 @@ if (!customElements.get('blotout-consent')) {
|
|
|
8211
9491
|
customElements.define('blotout-consent', BlotoutConsent);
|
|
8212
9492
|
}
|
|
8213
9493
|
|
|
8214
|
-
var _a, _b, _c, _d;
|
|
8215
|
-
var
|
|
9494
|
+
var _a, _b, _c, _d, _e, _f;
|
|
9495
|
+
var _g, _h, _j, _k, _l;
|
|
8216
9496
|
let blotoutConsent;
|
|
8217
9497
|
if (typeof window != 'undefined' && typeof document != 'undefined') {
|
|
8218
9498
|
(_a = window[registryKey]) !== null && _a !== void 0 ? _a : (window[registryKey] = {});
|
|
8219
|
-
(_b = (
|
|
9499
|
+
(_b = (_g = window[registryKey]).showBanner) !== null && _b !== void 0 ? _b : (_g.showBanner = () => {
|
|
8220
9500
|
logger.info('showBanner() called before blotout-consent init() — call will be ignored. Ensure init() has completed first.');
|
|
8221
9501
|
});
|
|
8222
|
-
(_c = (
|
|
9502
|
+
(_c = (_h = window[registryKey]).showDnsForm) !== null && _c !== void 0 ? _c : (_h.showDnsForm = () => {
|
|
8223
9503
|
logger.info('showDnsForm() called before blotout-consent init() — call will be ignored. Ensure init() has completed first.');
|
|
8224
9504
|
});
|
|
8225
|
-
(_d = (
|
|
9505
|
+
(_d = (_j = window[registryKey]).showDeleteForm) !== null && _d !== void 0 ? _d : (_j.showDeleteForm = () => {
|
|
9506
|
+
logger.info('showDeleteForm() called before blotout-consent init() — call will be ignored. Ensure init() has completed first.');
|
|
9507
|
+
});
|
|
9508
|
+
(_e = (_k = window[registryKey]).getConsentPreferences) !== null && _e !== void 0 ? _e : (_k.getConsentPreferences = () => {
|
|
9509
|
+
logger.info('getConsentPreferences() called before blotout-consent init() — returning null. Ensure init() has completed first.');
|
|
9510
|
+
return null;
|
|
9511
|
+
});
|
|
9512
|
+
(_f = (_l = window[registryKey]).ui) !== null && _f !== void 0 ? _f : (_l.ui = {
|
|
8226
9513
|
init(params) {
|
|
8227
9514
|
if (!params || typeof params !== 'object') {
|
|
8228
9515
|
console.error('Invalid blotout-consent init params');
|
|
@@ -8239,6 +9526,9 @@ if (typeof window != 'undefined' && typeof document != 'undefined') {
|
|
|
8239
9526
|
blotoutConsent.theme = params.theme;
|
|
8240
9527
|
blotoutConsent.defaultConsentState = params.defaultConsentState;
|
|
8241
9528
|
blotoutConsent.contained = params.contained;
|
|
9529
|
+
blotoutConsent.clawback = params.clawback;
|
|
9530
|
+
blotoutConsent.geoCountry = params.geoCountry;
|
|
9531
|
+
blotoutConsent.isEURequest = params.isEURequest;
|
|
8242
9532
|
if (params.theme) {
|
|
8243
9533
|
const cssVars = Object.entries(params.theme)
|
|
8244
9534
|
.flatMap(([name, value]) => name.startsWith('--') ? [`${name}:${value}`] : [])
|
|
@@ -8272,6 +9562,12 @@ if (typeof window != 'undefined' && typeof document != 'undefined') {
|
|
|
8272
9562
|
blotoutConsent.showDnsForm();
|
|
8273
9563
|
}
|
|
8274
9564
|
};
|
|
9565
|
+
window[registryKey].showDeleteForm = () => {
|
|
9566
|
+
if (blotoutConsent) {
|
|
9567
|
+
blotoutConsent.showDeleteForm();
|
|
9568
|
+
}
|
|
9569
|
+
};
|
|
9570
|
+
window[registryKey].getConsentPreferences = () => getStoredConsent();
|
|
8275
9571
|
},
|
|
8276
9572
|
});
|
|
8277
9573
|
}
|