@snapcall/stream-ui 1.41.3-beta.1 → 1.41.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/stream-ui.js CHANGED
@@ -885,6 +885,1278 @@ const $54d9e0891cb8e108$export$c30017717ce2168e = async (apiUrl, token, asset)=>
885
885
  };
886
886
 
887
887
 
888
+
889
+ const $e73fa32d23571248$var$log = new (0, $d0c6baf97675ab49$export$2e2bcd8739ae039)('LiveAIAgent/Helper/image');
890
+ const $e73fa32d23571248$export$1ee2bff0dde4713b = async (imageUrl, maxSize = 720)=>{
891
+ // log.info('scaleImage:', imageUrl);
892
+ return new Promise((resolve, reject)=>{
893
+ const img = new Image();
894
+ img.crossOrigin = 'anonymous';
895
+ img.onload = ()=>{
896
+ try {
897
+ const canvas = document.createElement('canvas');
898
+ const ctx = canvas.getContext('2d');
899
+ if (!ctx) {
900
+ reject(new Error('Could not get canvas context'));
901
+ return;
902
+ }
903
+ let width = img.width;
904
+ let height = img.height;
905
+ if (width > height) {
906
+ if (width > maxSize) {
907
+ height = height * (maxSize / width);
908
+ width = maxSize;
909
+ }
910
+ } else if (height > maxSize) {
911
+ width = width * (maxSize / height);
912
+ height = maxSize;
913
+ }
914
+ // log.debug('width:', width, 'height:', height);
915
+ canvas.width = width;
916
+ canvas.height = height;
917
+ ctx.drawImage(img, 0, 0, width, height);
918
+ let quality = 1;
919
+ let dataUrl = canvas.toDataURL('image/jpeg', 1);
920
+ let size = Math.round(dataUrl.length * 6 / 8);
921
+ while(size > 200000){
922
+ $e73fa32d23571248$var$log.debug('closed size:', size, 'quality:', quality);
923
+ quality -= 0.1;
924
+ dataUrl = canvas.toDataURL('image/jpeg', quality);
925
+ size = Math.round(dataUrl.length * 6 / 8);
926
+ }
927
+ // log.debug('closed size:', Math.round((dataUrl.length * 6) / 8), 'quality:', quality);
928
+ // log.debug('dataUrl:', dataUrl);
929
+ resolve(dataUrl);
930
+ return;
931
+ // const base64 = dataUrl.split(',')[1];
932
+ // resolve(base64);
933
+ } catch (error) {
934
+ reject(error);
935
+ }
936
+ };
937
+ img.onerror = ()=>{
938
+ reject(new Error('Failed to load image'));
939
+ };
940
+ img.src = imageUrl;
941
+ });
942
+ };
943
+
944
+
945
+
946
+ const $a0f901174de64b6d$export$83af83298e0405cb = async (tools, options, requestInput = false)=>{
947
+ const audio = {
948
+ output: {
949
+ voice: options.voice
950
+ }
951
+ };
952
+ if (requestInput) audio.input = {
953
+ transcription: {
954
+ model: 'gpt-4o-transcribe'
955
+ }
956
+ };
957
+ const sessionConfig = JSON.stringify({
958
+ instructions: `
959
+ ${options.instructions}
960
+ `,
961
+ tools: tools.list(),
962
+ audio: audio
963
+ });
964
+ const response = await fetch(`${(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).config.apiUrl}/public/streams/${(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).roomId}/live-agent`, {
965
+ method: 'POST',
966
+ headers: {
967
+ 'Content-Type': 'application/json'
968
+ },
969
+ body: sessionConfig
970
+ });
971
+ const data = await response.json();
972
+ return data;
973
+ };
974
+
975
+
976
+
977
+ const $0ad63882bf95f089$export$7a6ec380c1221521 = ()=>{
978
+ return (0, $jQDcL$uuid.v4)().replace(/-/g, '');
979
+ };
980
+
981
+
982
+
983
+
984
+
985
+ class $b5717bf132240963$export$46bbf1c329ce020 {
986
+ addContent(text) {
987
+ this.content.push({
988
+ type: 'input_text',
989
+ text: text
990
+ });
991
+ }
992
+ addMediaContent(type, state) {
993
+ this.content.push({
994
+ type: 'input_text',
995
+ text: `[DEVICE_EVENT] {"type":"${type}","status":"${state}"}`
996
+ });
997
+ }
998
+ addAppContent(type, text) {
999
+ this.content.push({
1000
+ type: 'input_text',
1001
+ text: `[APP_EVENT] {"type":"${type}","text":"${text}"}`
1002
+ });
1003
+ }
1004
+ addInstructionContent(instruction) {
1005
+ this.content.push({
1006
+ type: 'input_text',
1007
+ text: `[INSTRUCTION] ${instruction}`
1008
+ });
1009
+ }
1010
+ async addImageContent(url) {
1011
+ const scaledImage = await (0, $e73fa32d23571248$export$1ee2bff0dde4713b)(url);
1012
+ this.content.push({
1013
+ type: 'input_image',
1014
+ image_url: scaledImage
1015
+ });
1016
+ }
1017
+ build() {
1018
+ return {
1019
+ event_id: this.id,
1020
+ type: 'conversation.item.create',
1021
+ item: {
1022
+ id: this.id,
1023
+ type: 'message',
1024
+ role: 'user',
1025
+ content: this.content
1026
+ }
1027
+ };
1028
+ }
1029
+ constructor(){
1030
+ this.id = (0, $jQDcL$uuid.v4)().replace(/-/g, '');
1031
+ this.status = 'pending';
1032
+ this.content = [];
1033
+ }
1034
+ }
1035
+
1036
+
1037
+
1038
+ class $23af19b67e1bcc9a$export$3ed9ee166c6e6ed3 {
1039
+ constructor(response_id){
1040
+ this.id = (0, $0ad63882bf95f089$export$7a6ec380c1221521)();
1041
+ this.type = 'response.cancel';
1042
+ this.response_id = response_id;
1043
+ }
1044
+ build() {
1045
+ return {
1046
+ event_id: this.id,
1047
+ type: this.type,
1048
+ response_id: this.response_id
1049
+ };
1050
+ }
1051
+ }
1052
+
1053
+
1054
+
1055
+
1056
+ class $9da196b3cb61e3fa$export$a144ab69971f4316 {
1057
+ static{
1058
+ this.internalIdCounter = 0;
1059
+ }
1060
+ constructor(initiator){
1061
+ this.terminated = false;
1062
+ this.canceled = false;
1063
+ this.initiator = initiator;
1064
+ this.id = (0, $0ad63882bf95f089$export$7a6ec380c1221521)();
1065
+ }
1066
+ setResponseId(response_id) {
1067
+ this.responseId = response_id;
1068
+ }
1069
+ setTerminated() {
1070
+ this.terminated = true;
1071
+ }
1072
+ cancel() {
1073
+ if (!this.responseId || this.canceled) return undefined;
1074
+ this.canceled = true;
1075
+ return new (0, $23af19b67e1bcc9a$export$3ed9ee166c6e6ed3)(this.responseId);
1076
+ }
1077
+ build() {
1078
+ return {
1079
+ type: 'response.create',
1080
+ event_id: this.id,
1081
+ response: {
1082
+ output_modalities: [
1083
+ 'audio'
1084
+ ],
1085
+ metadata: {
1086
+ initial_event_id: this.id
1087
+ }
1088
+ }
1089
+ };
1090
+ }
1091
+ }
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+ const $9d11a5ce16d44b56$var$log = new (0, $d0c6baf97675ab49$export$2e2bcd8739ae039)('LiveAIAgent/PeerConnection');
1100
+ class $9d11a5ce16d44b56$export$d84cf184fade0488 {
1101
+ async init({ track: track, onMessage: onMessage, onReady: onReady }) {
1102
+ this.pc = new RTCPeerConnection();
1103
+ this.pc.addTransceiver('audio', {
1104
+ direction: 'sendrecv'
1105
+ });
1106
+ this.onMessage = onMessage;
1107
+ this.pc.addEventListener('close', ()=>{
1108
+ $9d11a5ce16d44b56$var$log.info('PeerConnection closed');
1109
+ });
1110
+ this.audioRenderer = new (0, $1bfa11322d1d6377$export$2e2bcd8739ae039)({
1111
+ consumerId: 'live-ai-agent'
1112
+ });
1113
+ this.audioRenderer.play();
1114
+ this.pc.ontrack = (e)=>{
1115
+ console.log('ontrack', e);
1116
+ this.audioRenderer?.setSource(e.streams[0]);
1117
+ };
1118
+ if (track) this.pc.addTrack(track);
1119
+ else this.pc.addTransceiver('audio', {
1120
+ direction: 'sendrecv'
1121
+ });
1122
+ this.setDataChannel(onReady);
1123
+ const offer = await this.pc.createOffer();
1124
+ await this.pc.setLocalDescription(offer);
1125
+ return offer.sdp;
1126
+ }
1127
+ setTrack(track) {
1128
+ this.pc?.getTransceivers().forEach((transceiver)=>{
1129
+ transceiver.sender.replaceTrack(track);
1130
+ $9d11a5ce16d44b56$var$log.debug('replaceTrack', track, transceiver);
1131
+ });
1132
+ }
1133
+ setDataChannel(onOpen) {
1134
+ if (this.pc) {
1135
+ this.dc = this.pc.createDataChannel('oai-events');
1136
+ this.dc.onmessage = (e)=>{
1137
+ const data = JSON.parse(e.data);
1138
+ if (data.type !== 'response.output_audio_transcript.delta') this.history.push({
1139
+ direction: 'receive',
1140
+ message: JSON.stringify(data)
1141
+ });
1142
+ if (data.type === 'response.created') {
1143
+ console.log(this.responseQueue);
1144
+ const message = this.responseQueue[data.response.metadata.initial_event_id];
1145
+ if (message) {
1146
+ message.resolve(data);
1147
+ delete this.responseQueue[data.response.metadata.initial_event_id];
1148
+ } else $9d11a5ce16d44b56$var$log.error('Response not found in queue:', data.response.metadata.initial_event_id);
1149
+ }
1150
+ if (data.type === 'conversation.item.done') {
1151
+ const item = data.item;
1152
+ if (item.type === 'function_call') return;
1153
+ const message = this.messageQueue[item.id];
1154
+ if (item.type === 'function_call_output') {
1155
+ console.log(this.toolOutputQueue);
1156
+ const toolOutput = this.toolOutputQueue[item?.call_id];
1157
+ if (toolOutput) {
1158
+ toolOutput.resolve(data);
1159
+ delete this.toolOutputQueue[item?.call_id];
1160
+ return;
1161
+ }
1162
+ }
1163
+ if (message) {
1164
+ message.resolve(data);
1165
+ delete this.messageQueue[item.id];
1166
+ } else $9d11a5ce16d44b56$var$log.error('Message not found in queue:', item.id);
1167
+ } else if (data.type === 'error') {
1168
+ if (data.error?.event_id) {
1169
+ const message = this.messageQueue[data.error?.event_id];
1170
+ if (message) {
1171
+ message.reject(data.error);
1172
+ delete this.messageQueue[data.error?.event_id];
1173
+ } else $9d11a5ce16d44b56$var$log.error('Message not found in queue:', data.event_id);
1174
+ }
1175
+ } else if (data.type === 'invalid_request_error') {
1176
+ const message = this.responseQueue[data.event_id];
1177
+ if (message) {
1178
+ message.reject(data);
1179
+ delete this.responseQueue[data.event_id];
1180
+ } else $9d11a5ce16d44b56$var$log.error('Response not found in queue:', data.event_id);
1181
+ }
1182
+ const messsage = this.messageQueue[data.event_id];
1183
+ console.log('onmessage', data.event_id, messsage);
1184
+ if (messsage) {
1185
+ messsage.resolve(data);
1186
+ delete this.messageQueue[data.event_id];
1187
+ }
1188
+ this.onMessage?.(e.data);
1189
+ };
1190
+ this.dc.onopen = ()=>{
1191
+ onOpen();
1192
+ };
1193
+ this.dc.onclose = ()=>{
1194
+ $9d11a5ce16d44b56$var$log.info('Data channel closed');
1195
+ if (!this.closed) this.setDataChannel(()=>{});
1196
+ };
1197
+ }
1198
+ }
1199
+ async send(message) {
1200
+ return new Promise((resolve, reject)=>{
1201
+ if (!this.dc) {
1202
+ $9d11a5ce16d44b56$var$log.error('Data channel not found');
1203
+ reject(new Error('Data channel not found'));
1204
+ }
1205
+ if (this.dc?.readyState !== 'open' && this.pc) reject(new Error('Data channel not open'));
1206
+ $9d11a5ce16d44b56$var$log.debug('sending message:', message);
1207
+ const sent = JSON.stringify(message);
1208
+ this.messageQueue[message.event_id] = {
1209
+ message: message,
1210
+ resolve: resolve,
1211
+ reject: reject,
1212
+ timeout: 10000
1213
+ };
1214
+ this.history.push({
1215
+ direction: 'send',
1216
+ message: sent
1217
+ });
1218
+ this.dc?.send(sent);
1219
+ });
1220
+ }
1221
+ sendCreateResponse(message) {
1222
+ return new Promise(async (resolve, reject)=>{
1223
+ if (!this.dc) {
1224
+ $9d11a5ce16d44b56$var$log.error('Data channel not found');
1225
+ reject(new Error('Data channel not found'));
1226
+ }
1227
+ if (this.dc?.readyState !== 'open' && this.pc) reject(new Error('Data channel not open'));
1228
+ const sent = JSON.stringify(message);
1229
+ this.responseQueue[message.response.metadata.initial_event_id] = {
1230
+ message: message,
1231
+ resolve: resolve,
1232
+ reject: reject
1233
+ };
1234
+ this.history.push({
1235
+ direction: 'send',
1236
+ message: sent
1237
+ });
1238
+ this.dc?.send(sent);
1239
+ });
1240
+ }
1241
+ sendCreateItem(item) {
1242
+ return new Promise(async (resolve, reject)=>{
1243
+ if (!this.dc) {
1244
+ $9d11a5ce16d44b56$var$log.error('Data channel not found');
1245
+ reject(new Error('Data channel not found'));
1246
+ }
1247
+ if (this.dc?.readyState !== 'open' && this.pc) reject(new Error('Data channel not open'));
1248
+ const sent = JSON.stringify(item);
1249
+ this.messageQueue[item.event_id] = {
1250
+ message: item,
1251
+ resolve: resolve,
1252
+ reject: reject,
1253
+ timeout: 10000
1254
+ };
1255
+ this.history.push({
1256
+ direction: 'send',
1257
+ message: sent
1258
+ });
1259
+ this.dc?.send(sent);
1260
+ });
1261
+ }
1262
+ sendToolOutput(message) {
1263
+ return new Promise(async (resolve, reject)=>{
1264
+ if (!this.dc) {
1265
+ $9d11a5ce16d44b56$var$log.error('Data channel not found');
1266
+ reject(new Error('Data channel not found'));
1267
+ }
1268
+ if (this.dc?.readyState !== 'open' && this.pc) reject(new Error('Data channel not open'));
1269
+ const sent = JSON.stringify(message);
1270
+ this.toolOutputQueue[message.item.call_id] = {
1271
+ message: message,
1272
+ resolve: resolve,
1273
+ reject: reject,
1274
+ timeout: 10000
1275
+ };
1276
+ this.history.push({
1277
+ direction: 'send',
1278
+ message: sent
1279
+ });
1280
+ this.dc?.send(sent);
1281
+ });
1282
+ }
1283
+ async answer(sdp) {
1284
+ const answer = new RTCSessionDescription({
1285
+ type: 'answer',
1286
+ sdp: sdp
1287
+ });
1288
+ await this.pc?.setRemoteDescription(answer);
1289
+ }
1290
+ stop() {
1291
+ if (!this.closed) {
1292
+ this.closed = true;
1293
+ this.pc?.close();
1294
+ }
1295
+ }
1296
+ constructor(){
1297
+ this.responseQueue = {};
1298
+ this.messageQueue = {};
1299
+ this.toolOutputQueue = {};
1300
+ this.history = [];
1301
+ this.closed = false;
1302
+ }
1303
+ }
1304
+
1305
+
1306
+
1307
+ const $098350f721a0bb52$export$784df5c7a561530 = (0, $jQDcL$react.createContext)({});
1308
+ let $098350f721a0bb52$var$currentContext = null;
1309
+ const $098350f721a0bb52$export$5b34301179acfbb5 = ()=>{
1310
+ return $098350f721a0bb52$var$currentContext;
1311
+ };
1312
+ const $098350f721a0bb52$export$2174f25d572f9f31 = ()=>{
1313
+ const context = (0, $jQDcL$react.useContext)($098350f721a0bb52$export$784df5c7a561530);
1314
+ $098350f721a0bb52$var$currentContext = context;
1315
+ return context;
1316
+ };
1317
+
1318
+
1319
+
1320
+ const $5ee3d54731db7744$var$takePhotoFromScreenShare = {
1321
+ active: false,
1322
+ name: 'take_photo_from_screen_share',
1323
+ description: 'Take a photo from screen share',
1324
+ function: async (args)=>{
1325
+ console.log('take_photo', args);
1326
+ const state = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getDevicesState();
1327
+ if (state.screenshare.enabled) await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).captureScreenShare();
1328
+ }
1329
+ };
1330
+ const $5ee3d54731db7744$var$takePhotoFromCamera = {
1331
+ active: false,
1332
+ name: 'take_photo_from_camera',
1333
+ description: 'Take a photo',
1334
+ function: async (args)=>{
1335
+ console.log('take_photo', args);
1336
+ const state = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getDevicesState();
1337
+ if (state.camera.enabled) await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).captureVideo();
1338
+ }
1339
+ };
1340
+ const $5ee3d54731db7744$var$terminateCall = {
1341
+ active: false,
1342
+ name: 'terminate_call',
1343
+ description: 'Terminate call',
1344
+ function: async (args)=>{
1345
+ console.log('terminate_call', args);
1346
+ await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).terminateRoom();
1347
+ }
1348
+ };
1349
+ const $5ee3d54731db7744$var$startCamera = {
1350
+ active: false,
1351
+ name: 'start_camera',
1352
+ description: 'Start camera',
1353
+ function: async (args)=>{
1354
+ console.log('start_camera', args);
1355
+ await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).enableVideo();
1356
+ }
1357
+ };
1358
+ const $5ee3d54731db7744$var$stopCamera = {
1359
+ active: false,
1360
+ name: 'stop_camera',
1361
+ description: 'Stop camera',
1362
+ function: async (args)=>{
1363
+ console.log('stop_camera', args);
1364
+ await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).disableVideo();
1365
+ }
1366
+ };
1367
+ const $5ee3d54731db7744$var$stopScreenShare = {
1368
+ active: false,
1369
+ name: 'stop_screen_share',
1370
+ description: 'Stop screen share',
1371
+ function: async (args)=>{
1372
+ console.log('stop_screen_share', args);
1373
+ await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).disableScreenshare();
1374
+ }
1375
+ };
1376
+ const $5ee3d54731db7744$var$startRecord = {
1377
+ active: false,
1378
+ name: 'start_record',
1379
+ description: 'Start record',
1380
+ function: async (args)=>{
1381
+ console.log('start_record', args);
1382
+ await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).startRecord();
1383
+ }
1384
+ };
1385
+ const $5ee3d54731db7744$var$stopRecord = {
1386
+ active: false,
1387
+ name: 'stop_record',
1388
+ description: 'Stop record',
1389
+ function: async (args)=>{
1390
+ console.log('stop_record', args);
1391
+ await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).stopRecord();
1392
+ }
1393
+ };
1394
+ const $5ee3d54731db7744$var$rotateCamera = {
1395
+ active: false,
1396
+ name: 'rotate_camera',
1397
+ description: 'Rotate camera',
1398
+ function: async (args)=>{
1399
+ console.log('rotate_camera', args);
1400
+ await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).rotateVideo();
1401
+ }
1402
+ };
1403
+ const $5ee3d54731db7744$var$openDashboard = {
1404
+ active: false,
1405
+ name: 'open_dashboard',
1406
+ description: 'Open the dashboard',
1407
+ function: async (args)=>{
1408
+ console.log('open_dashboard', args);
1409
+ window.open('https://app.snapcall.io/', '_blank');
1410
+ window.focus();
1411
+ }
1412
+ };
1413
+ const $5ee3d54731db7744$var$startScreenShare = {
1414
+ active: false,
1415
+ name: 'start_screen_share',
1416
+ description: 'Start screen share ',
1417
+ function: async (args)=>{
1418
+ console.log('start_screen_share', args);
1419
+ await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).enableScreenshare();
1420
+ }
1421
+ };
1422
+ const $5ee3d54731db7744$var$verifyMedia = {
1423
+ active: true,
1424
+ answer: true,
1425
+ name: 'verify_media',
1426
+ description: 'Call this to Verify already sent media type and number by step, it return a json with the media count',
1427
+ function: async (args)=>{
1428
+ console.log('verify_mediaTool', args);
1429
+ const context = (0, $098350f721a0bb52$export$5b34301179acfbb5)();
1430
+ const output = {};
1431
+ const steps = {};
1432
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).streamInfo?.flow?.steps.forEach((step, index)=>{
1433
+ steps[step.token] = {
1434
+ ...step,
1435
+ index: index + 1
1436
+ };
1437
+ output[`step: ${index + 1}`] = {};
1438
+ });
1439
+ context?.assets.forEach((media)=>{
1440
+ const s = steps[media.stepToken];
1441
+ if (!output[`step: ${s.index}`][media.mode]) output[`step: ${s.index}`][media.mode] = 0;
1442
+ output[`step: ${s.index}`][media.mode]++;
1443
+ });
1444
+ if ($5ee3d54731db7744$var$verifyMedia.answer) {
1445
+ $5ee3d54731db7744$var$verifyMedia.answer = false;
1446
+ return {
1447
+ output: JSON.stringify(output),
1448
+ answer: true
1449
+ };
1450
+ }
1451
+ console.log('answer:', output);
1452
+ return {
1453
+ output: JSON.stringify(output),
1454
+ answer: false
1455
+ };
1456
+ }
1457
+ };
1458
+ const $5ee3d54731db7744$var$displayMessage = {
1459
+ active: false,
1460
+ name: 'display_message',
1461
+ description: 'Allow to display a message to the user',
1462
+ parameters: {
1463
+ type: 'object',
1464
+ strict: true,
1465
+ properties: {
1466
+ text: {
1467
+ type: 'string',
1468
+ description: 'The text to display to the user'
1469
+ }
1470
+ },
1471
+ required: [
1472
+ 'text'
1473
+ ]
1474
+ },
1475
+ function: async (args)=>{
1476
+ console.log('display_message', args);
1477
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).dispatchEvent(new CustomEvent('aiDisplayMessage', {
1478
+ detail: {
1479
+ text: args.text
1480
+ }
1481
+ }));
1482
+ }
1483
+ };
1484
+ const $5ee3d54731db7744$var$goToStep = {
1485
+ active: false,
1486
+ name: 'go_to_step',
1487
+ description: 'Go to one step in the flow, always call it to got to the next step',
1488
+ arguments: 'the step number (1-based)',
1489
+ parameters: {
1490
+ type: 'object',
1491
+ strict: true,
1492
+ properties: {
1493
+ step: {
1494
+ type: 'number',
1495
+ description: 'The step number (1-based)'
1496
+ }
1497
+ },
1498
+ required: [
1499
+ 'step'
1500
+ ]
1501
+ },
1502
+ function: async (args)=>{
1503
+ const { step: stepNumber } = args;
1504
+ const context = (0, $098350f721a0bb52$export$5b34301179acfbb5)();
1505
+ if (stepNumber > ((0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).streamInfo?.flow?.steps?.length || 0)) return {
1506
+ answer: false,
1507
+ output: 'already at the last step'
1508
+ };
1509
+ const step = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).streamInfo?.flow?.steps[Number(stepNumber) - 1];
1510
+ if (context) context.setCurrentStep(step || null);
1511
+ }
1512
+ };
1513
+ class $5ee3d54731db7744$export$390d11d353c16e49 {
1514
+ static{
1515
+ this.instance = new $5ee3d54731db7744$export$390d11d353c16e49();
1516
+ }
1517
+ list() {
1518
+ return this.tools.map((tool)=>({
1519
+ type: 'function',
1520
+ name: tool.name,
1521
+ description: tool.description,
1522
+ parameters: tool.parameters
1523
+ }));
1524
+ }
1525
+ async onToolCall(toolOutput) {
1526
+ const tool = this.tools.find((tool)=>tool.name === toolOutput.name);
1527
+ if (tool) try {
1528
+ let parsedArgs;
1529
+ try {
1530
+ parsedArgs = JSON.parse(toolOutput.arg);
1531
+ } catch (error) {
1532
+ console.error('JSON.parse error', error);
1533
+ parsedArgs = toolOutput.arg;
1534
+ }
1535
+ const result = await tool.function(parsedArgs);
1536
+ toolOutput.answer = result?.answer || false;
1537
+ toolOutput.setOutput(result?.output || 'done');
1538
+ return toolOutput;
1539
+ } catch (error) {
1540
+ toolOutput.setOutput('error');
1541
+ console.error('tool.function error', error);
1542
+ return toolOutput;
1543
+ }
1544
+ return toolOutput;
1545
+ }
1546
+ constructor(){
1547
+ this.tools = [
1548
+ $5ee3d54731db7744$var$goToStep,
1549
+ $5ee3d54731db7744$var$verifyMedia,
1550
+ $5ee3d54731db7744$var$displayMessage,
1551
+ $5ee3d54731db7744$var$takePhotoFromScreenShare,
1552
+ $5ee3d54731db7744$var$takePhotoFromCamera,
1553
+ $5ee3d54731db7744$var$openDashboard,
1554
+ $5ee3d54731db7744$var$startScreenShare,
1555
+ $5ee3d54731db7744$var$startCamera,
1556
+ $5ee3d54731db7744$var$stopCamera,
1557
+ $5ee3d54731db7744$var$stopScreenShare,
1558
+ $5ee3d54731db7744$var$startRecord,
1559
+ $5ee3d54731db7744$var$stopRecord,
1560
+ $5ee3d54731db7744$var$rotateCamera,
1561
+ $5ee3d54731db7744$var$terminateCall
1562
+ ].filter((tool)=>tool.active);
1563
+ this.call = {};
1564
+ }
1565
+ }
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+ class $38464299228f31d9$export$c30f1113934f199 {
1573
+ constructor(initMessage){
1574
+ this.output = '';
1575
+ this.answer = true;
1576
+ this.id = (0, $0ad63882bf95f089$export$7a6ec380c1221521)();
1577
+ this.callId = initMessage.call_id;
1578
+ this.arg = initMessage.arguments;
1579
+ this.name = initMessage.name;
1580
+ }
1581
+ setOutput(output) {
1582
+ this.output = output;
1583
+ }
1584
+ build() {
1585
+ const message = {
1586
+ type: 'conversation.item.create',
1587
+ event_id: this.id,
1588
+ item: {
1589
+ id: this.id,
1590
+ type: 'function_call_output',
1591
+ output: this.output,
1592
+ call_id: this.callId
1593
+ }
1594
+ };
1595
+ return message;
1596
+ }
1597
+ }
1598
+
1599
+
1600
+ const $7138619254a01c62$var$log = new (0, $d0c6baf97675ab49$export$2e2bcd8739ae039)('LiveAIAgent');
1601
+ const $7138619254a01c62$export$d713d143d88e7fb = [
1602
+ 'alloy',
1603
+ 'ash',
1604
+ 'ballad',
1605
+ 'cedar',
1606
+ 'coral',
1607
+ 'echo',
1608
+ 'marin',
1609
+ 'sage',
1610
+ 'shimmer',
1611
+ 'verse'
1612
+ ];
1613
+ class $7138619254a01c62$export$771b825376631bd6 {
1614
+ constructor(listener){
1615
+ this.responses = {};
1616
+ this.userMessages = {};
1617
+ this.tools = (0, $5ee3d54731db7744$export$390d11d353c16e49).instance;
1618
+ this.userDelta = [];
1619
+ this.delta = '';
1620
+ this.talking = false;
1621
+ this.options = {
1622
+ voice: 'marin',
1623
+ instructions: ''
1624
+ };
1625
+ this.listener = listener;
1626
+ window.liveAIAgent = this;
1627
+ }
1628
+ mute() {
1629
+ if (this.track) this.track.enabled = false;
1630
+ }
1631
+ unmute() {
1632
+ if (this.track) this.track.enabled = true;
1633
+ }
1634
+ sendUserMessage(message) {
1635
+ this.userMessages[message.id] = message;
1636
+ return this.peerConnection?.sendCreateItem(message.build());
1637
+ }
1638
+ setTrack(track) {
1639
+ this.track = track.clone();
1640
+ this.track.enabled = false;
1641
+ this.peerConnection?.setTrack(this.track);
1642
+ }
1643
+ async init({ instructions: instructions, voice: voice, track: track }) {
1644
+ this.options = {
1645
+ instructions: instructions,
1646
+ voice: voice
1647
+ };
1648
+ const token = await (0, $a0f901174de64b6d$export$83af83298e0405cb)(this.tools, this.options);
1649
+ const peerConnection = new (0, $9d11a5ce16d44b56$export$d84cf184fade0488)();
1650
+ this.peerConnection = peerConnection;
1651
+ const sdp = await peerConnection.init({
1652
+ track: this.track,
1653
+ onMessage: this.onMessage.bind(this),
1654
+ onReady: async ()=>{}
1655
+ });
1656
+ if (!sdp) throw new Error('can not get SDP');
1657
+ const baseUrl = 'https://api.openai.com/v1/realtime/calls';
1658
+ const model = 'gpt-realtime';
1659
+ const sdpResponse = await fetch(`${baseUrl}?model=${model}`, {
1660
+ method: 'POST',
1661
+ body: sdp,
1662
+ headers: {
1663
+ Authorization: `Bearer ${token.value}`,
1664
+ 'Content-Type': 'application/sdp'
1665
+ }
1666
+ });
1667
+ const answer = await sdpResponse.text();
1668
+ await peerConnection.answer(answer);
1669
+ if (track) this.setTrack(track);
1670
+ }
1671
+ async stopResponse() {
1672
+ console.log('stopResponse', this.currentResponse);
1673
+ if (this.currentResponse?.canceled) return;
1674
+ const response = this.currentResponse;
1675
+ const cancel = response?.cancel();
1676
+ console.log('startResponse stopResponse cancel', cancel);
1677
+ if (cancel) {
1678
+ const result = await this.peerConnection?.send(cancel.build()).catch((err)=>{
1679
+ console.error('stopResponse error', err);
1680
+ });
1681
+ /*if (!result && this.talking) {
1682
+ console.log('startResponse output_audio_buffer.clear', this.currentResponse?.responseId);
1683
+ const rq = await this.peerConnection?.send({
1684
+ type: 'output_audio_buffer.clear',
1685
+ event_id: getMessageId(),
1686
+ response_id: this.currentResponse?.responseId,
1687
+ })
1688
+ console.log('startResponse output_audio_buffer.clear', rq);
1689
+ console.log('startResponse waiting for talking to finish');
1690
+
1691
+ }/*/ console.log('startResponse stopResponse', result);
1692
+ }
1693
+ }
1694
+ async startResponse(origin) {
1695
+ const response = new (0, $9da196b3cb61e3fa$export$a144ab69971f4316)('client');
1696
+ console.log('startResponse', origin, this.currentResponse);
1697
+ if (this.currentResponse) {
1698
+ if (this.currentResponse.responseId) await this.stopResponse();
1699
+ }
1700
+ if (this.talking) {
1701
+ this.waitTalking = ()=>{
1702
+ this.startResponse(origin);
1703
+ };
1704
+ return;
1705
+ }
1706
+ this.currentResponse = response;
1707
+ const result = await this.peerConnection?.sendCreateResponse(response.build());
1708
+ console.log('startResponse', response);
1709
+ if (result?.response?.id) this.currentResponse.setResponseId(result?.response?.id);
1710
+ return response;
1711
+ }
1712
+ async onMessage(msg) {
1713
+ const data = JSON.parse(msg);
1714
+ const { type: type, delta: delta, id: id } = data;
1715
+ // log.debug(JSON.stringify(data, null, 2));
1716
+ if (type === 'session.created') this.listener.onStart();
1717
+ else if (type === 'response.done') {
1718
+ console.log('response.done:', this.currentResponse);
1719
+ console.log('response.stopped:', data);
1720
+ } else if (type === 'response.created') {
1721
+ if (!this.currentResponse) this.currentResponse = new (0, $9da196b3cb61e3fa$export$a144ab69971f4316)('server');
1722
+ this.delta = '';
1723
+ this.listener.onAssistantMessage(this.delta);
1724
+ } else if (type === 'session.updated') ;
1725
+ else if (type === 'conversation.item.input_audio_transcription.delta') this.userDelta[this.userDelta.length - 1] += delta;
1726
+ else if (type === 'conversation.item.input_audio_transcription.completed') this.userDelta.push('');
1727
+ else if (type === 'response.output_item.added') data.item.role;
1728
+ else if (type === 'output_audio_buffer.started') {
1729
+ this.talking = true;
1730
+ this.listener.onAudioAssistant('started');
1731
+ } else if (type === 'output_audio_buffer.stopped') {
1732
+ this.talking = false;
1733
+ if (this.waitTalking) {
1734
+ this.waitTalking();
1735
+ this.waitTalking = undefined;
1736
+ }
1737
+ console.log('output_audio_buffer.stopped:', data);
1738
+ this.currentResponse?.setTerminated();
1739
+ this.currentResponse = undefined;
1740
+ this.listener.onAudioAssistant('stopped');
1741
+ } else if (type === 'response.function_call_arguments.delta') ;
1742
+ else if (type === 'rate_limits.updated') $7138619254a01c62$var$log.debug('rate_limits.updated:', data.name, data.remaining);
1743
+ else if (type === 'response.output_audio_transcript.delta') {
1744
+ $7138619254a01c62$var$log.debug(id, delta);
1745
+ this.delta += delta;
1746
+ $7138619254a01c62$var$log.debug('delta:', id, this.delta);
1747
+ this.listener.onAssistantPartialMessage(this.delta);
1748
+ } else if (type === 'response.function_call_arguments.done') {
1749
+ $7138619254a01c62$var$log.debug('call:', data);
1750
+ const toolOutput = new (0, $38464299228f31d9$export$c30f1113934f199)(data);
1751
+ const result = await this.tools.onToolCall(toolOutput);
1752
+ await this.sendToolOutput(result);
1753
+ } else if (type === 'conversation.item.truncated') console.log('conversation.item.truncated:', data);
1754
+ else if (type === 'error') $7138619254a01c62$var$log.error('error:', data);
1755
+ else $7138619254a01c62$var$log.debug('onMessage:', JSON.stringify(data, null, 2));
1756
+ }
1757
+ async sendToolOutput(toolOutput) {
1758
+ const message = toolOutput.build();
1759
+ console.log('sendToolOutput:', message);
1760
+ await this.peerConnection?.sendToolOutput(message);
1761
+ console.log('sendToolOutput done:', message);
1762
+ if (toolOutput.answer) this.startResponse(toolOutput.name);
1763
+ return message;
1764
+ }
1765
+ stop() {
1766
+ this.peerConnection?.stop();
1767
+ }
1768
+ dumpHistory() {
1769
+ console.log('messageHistory:', JSON.stringify(this.peerConnection?.history, null, 2));
1770
+ }
1771
+ }
1772
+
1773
+
1774
+
1775
+
1776
+ const $5e8382a28a13f7f7$var$log = new (0, $d0c6baf97675ab49$export$2e2bcd8739ae039)('LiveAIAgent/Instruction');
1777
+ const $5e8382a28a13f7f7$var$safe = (s)=>(s ?? '').trim() || "\u2014";
1778
+ const $5e8382a28a13f7f7$var$listSteps = (flow)=>{
1779
+ if (!flow?.steps?.length) return '(no steps defined)';
1780
+ return flow.steps.map((step, index)=>{
1781
+ const types = Array.isArray(step.types) ? step.types.join(', ') : "\u2014";
1782
+ return `\n ${index + 1} -${$5e8382a28a13f7f7$var$safe(step.title)}: ${$5e8382a28a13f7f7$var$safe(step.config?.description)}, requested mode: ${types}, default mode: ${step.default_type || ''}`;
1783
+ }).join(',\n');
1784
+ };
1785
+ const $5e8382a28a13f7f7$var$prepare = (instructionParams)=>{
1786
+ const flow = instructionParams.flow;
1787
+ const unbuild = {
1788
+ role: `
1789
+ You are ${$5e8382a28a13f7f7$var$safe(instructionParams.name)} a ${$5e8382a28a13f7f7$var$safe(instructionParams.language)} speaker.
1790
+ You are a customer support agent for ${$5e8382a28a13f7f7$var$safe(instructionParams.companyName)}.
1791
+ You guide the user in a recorder application.
1792
+ Follow the Flow described in Context. A Flow is an ordered list of Steps.
1793
+ At each Step, collect at least one media of the requested types. Always verify the media sent before talking about the current media.
1794
+ `.trim(),
1795
+ personality: `
1796
+ You are friendly, patient, and helpful.
1797
+ Keep replies short and clear for voice.
1798
+ Prefer ${$5e8382a28a13f7f7$var$safe(instructionParams.language) || 'English'} answers.
1799
+ `.trim(),
1800
+ context: `
1801
+ You are connected to an application that can share screen, take photos, and receive uploads.
1802
+ A preview of the interface will be displayed to you in the first message.
1803
+ The title of the flow is: ${$5e8382a28a13f7f7$var$safe(flow?.name)}
1804
+ The flow is described as: ${$5e8382a28a13f7f7$var$safe(flow?.config?.description)}
1805
+ Steps are:
1806
+ ${$5e8382a28a13f7f7$var$listSteps(flow)}
1807
+ Before Starting the flow the user has no enable is media, microphone or camera.
1808
+ `.trim(),
1809
+ reference_pronunciations: ``.trim(),
1810
+ tools: `${instructionParams.tools.map((tool)=>`- ${tool.name}: ${tool.description}`).join('\n')}
1811
+
1812
+ `.trim(),
1813
+ instructions: `
1814
+ ### EVENT INTERPRETATION
1815
+ Messages starting with \u{201C}[APP_EVENT]\u{201D} or \u{201C}[DEVICE_EVENT]\u{201D} are NOT spoken by the user.
1816
+ They are authoritative system events. You must TRUST them.
1817
+
1818
+ ### DEVICE EVENTS
1819
+ DEVICE_EVENT always contains JSON. Example:
1820
+ [DEVICE_EVENT] {"type":"microphone_state","status":"active"}
1821
+
1822
+ ### INSTRUCTION EVENTS
1823
+ INSTRUCTION indicate which action to take.
1824
+
1825
+ Supported types:
1826
+ - camera_state: {status: "active" | "inactive"}
1827
+ - microphone_state: {status: "active" | "inactive"}
1828
+
1829
+ The latest DEVICE_EVENT fully overrides previous assumptions.
1830
+
1831
+ ### MICROPHONE / CAMERA LOGIC
1832
+ - Never talk about hearing the user
1833
+ - Only talk about the permissions of the camera as the user can't proceed without it.
1834
+ - If the latest microphone_state or camera_state is "active", NEVER claim the mic is off, muted, unavailable, or not working.
1835
+ - If the latest microphone_state or camera_state is "inactive", guide the user to activate it.
1836
+ - If permission is inactive, say it must be enabled from the popup or from the browser search bar.
1837
+
1838
+ ### FLOW RULES
1839
+ This conversation is a strict media-collection flow.
1840
+ - If there is no media yet, don't mention media or say "No media has been taken yet".
1841
+ - Stay in context. For anything unrelated:
1842
+ \u{201C}I can only help you with media collection in this flow.\u{201D}
1843
+ - Verify media before starting the flow using the verify_media tool. If there is already a media propose to click on "next" or "add more".
1844
+ - Announce when media is already collected. Propose to click on the continue button.
1845
+ - Do not announce next step until receiving the setStep APP_EVENT.
1846
+ - Ask for only one media type at a time.
1847
+ - If multiple media types are allowed, encourage the user to choose one.
1848
+ - Do not judge media content; only confirm reception.
1849
+ - Confirm media **only** when receiving:
1850
+ \u{201C}[APP_EVENT] the user has taken a media\u{201D}
1851
+ - After receiving any allowed media, ask if the user is ready for the next step.
1852
+ - The next step can only be confirmed via the UI button (blue modal button).
1853
+ - Always re-verify previously collected media before proceeding.
1854
+ - Offer the option to go back to add more media at any time.
1855
+
1856
+ ### RESPONSE RULES
1857
+ - Limit responses to **30 words maximum**.
1858
+ `.trim(),
1859
+ conversation_flow: `
1860
+ You will receive step descriptions and requested media types.
1861
+ For each step:
1862
+ 1) You must verify media before starting the flow calling the verify_media tool, and announce media already taken.
1863
+ 2) Do not say "No media has been taken yet" or something similar.
1864
+ 3) You must not announce or discuss any step of the flow until the microphone is fully enabled. If the microphone is not active, the bot must focus only on helping the user enable it.
1865
+ 4) Announce the step briefly and request one allowed media type.
1866
+ 5) On media received: acknowledge ("Received. Thank you.").
1867
+ 6) List accepted types for the step and suggest the default one only if there is only many allowed type.
1868
+ 7) If the user has not taken any media, ask the user to take a media.
1869
+ 8) After loading a step, clearly tell the user that to start recording or to take a photo, they must click on the round button at the bottom of the interface.
1870
+ 9) You must not use phrases implying you will notify the user later, such as "I'll let you know when it's ready." You should only give direct, immediate instructions.
1871
+ 10) On out-of-scope question: decline and restate the current step request.
1872
+ 11) On completion: confirm the process is done and provide a short recap. open send model and request the user to click send button.
1873
+ `.trim(),
1874
+ safety_and_escalation: `
1875
+ Do not request or store sensitive personal data unrelated to the Flow.
1876
+ If the user shares such data, acknowledge and continue the Flow without repeating it.
1877
+ `.trim()
1878
+ };
1879
+ return unbuild;
1880
+ };
1881
+ const $5e8382a28a13f7f7$export$c9df4e1f27f016e5 = (streamInfo, tools, language)=>{
1882
+ console.log('language', language);
1883
+ const flow = streamInfo.flow;
1884
+ const instructionParams = {
1885
+ name: 'Jean-Didier',
1886
+ language: language,
1887
+ companyName: 'Snapcall',
1888
+ flow: flow,
1889
+ tools: tools.list()
1890
+ };
1891
+ const unbuild = $5e8382a28a13f7f7$var$prepare(instructionParams);
1892
+ const instruction = `
1893
+ # Role & Objective
1894
+ ${unbuild.role}
1895
+
1896
+ # Personality & Tone
1897
+ ${unbuild.personality}
1898
+
1899
+ # Context
1900
+ ${unbuild.context}
1901
+
1902
+ # Reference Pronunciations
1903
+ ${unbuild.reference_pronunciations}
1904
+
1905
+ # Tools
1906
+ ${unbuild.tools}
1907
+
1908
+ # Instructions / Rules
1909
+ ${unbuild.instructions}
1910
+
1911
+ # Conversation Flow
1912
+ ${unbuild.conversation_flow}
1913
+
1914
+ # Safety & Escalation
1915
+ ${unbuild.safety_and_escalation}
1916
+ `.trim();
1917
+ $5e8382a28a13f7f7$var$log.debug('getInstructions', instruction);
1918
+ return instruction;
1919
+ };
1920
+
1921
+
1922
+
1923
+
1924
+ class $c489a777d7081058$export$53479bc84d79bdc2 {
1925
+ constructor(){
1926
+ this.ready = false;
1927
+ this.initialized = false;
1928
+ this.initialeMessageSent = false;
1929
+ this.startRequested = false;
1930
+ this.agent = new (0, $7138619254a01c62$export$771b825376631bd6)(this);
1931
+ this.tools = (0, $5ee3d54731db7744$export$390d11d353c16e49).instance;
1932
+ $c489a777d7081058$export$53479bc84d79bdc2.instance = this;
1933
+ }
1934
+ async init(options, streamInfo, track) {
1935
+ const instructions = (0, $5e8382a28a13f7f7$export$c9df4e1f27f016e5)(streamInfo, this.tools, options.language);
1936
+ await this.agent.init({
1937
+ instructions: instructions,
1938
+ voice: options.voice,
1939
+ track: track
1940
+ });
1941
+ this.initialized = true;
1942
+ }
1943
+ setTrack(track) {
1944
+ this.agent.setTrack(track);
1945
+ }
1946
+ async addScriptedMessage(script) {
1947
+ if (!this.ready || !this.startRequested || !this.initialized) return;
1948
+ return this.agent.sendUserMessage(script.message);
1949
+ }
1950
+ async addVideoImage(image) {
1951
+ try {
1952
+ const msg = new (0, $b5717bf132240963$export$46bbf1c329ce020)();
1953
+ await msg.addImageContent(image);
1954
+ await this.agent.sendUserMessage(msg);
1955
+ } catch (error) {
1956
+ console.error('addVideoImage error', error);
1957
+ }
1958
+ }
1959
+ async analyzeVideo() {
1960
+ try {
1961
+ const msg = new (0, $b5717bf132240963$export$46bbf1c329ce020)();
1962
+ msg.addInstructionContent(`
1963
+ You are granted the ability to check the content of the image for this answer only.
1964
+ check the content of the images you just receive for this video and tell me if the image is conform to the steps requirements if not propose to take an other one.
1965
+ Do not give a feedback of the order like ""
1966
+ You have a 40 words limit for that answer.
1967
+ `);
1968
+ msg.addContent('please review all the images and give your feedback.');
1969
+ await this.agent.sendUserMessage(msg);
1970
+ await this.startResponse('analyzeImageResult');
1971
+ } catch (error) {
1972
+ console.error('analyzeVideo error', error);
1973
+ }
1974
+ }
1975
+ async analyzeImageResult(image) {
1976
+ try {
1977
+ const msg = new (0, $b5717bf132240963$export$46bbf1c329ce020)();
1978
+ await msg.addImageContent(image);
1979
+ msg.addInstructionContent(`
1980
+ You are granted the ability to check the content of the image for this answer only.
1981
+ check the content of the image you just receive and tell me if the image is conform to the steps requirements if not propose to take an other one.
1982
+ You have a 40 words limit for that answer.
1983
+ `);
1984
+ msg.addContent('please review the image and give your feedback.');
1985
+ await this.agent.sendUserMessage(msg);
1986
+ await this.startResponse('analyzeImageResult');
1987
+ } catch (error) {
1988
+ console.error('analyzeImageResult error', error);
1989
+ }
1990
+ }
1991
+ async onStart() {
1992
+ this.ready = true;
1993
+ if (this.startRequested) await this.sendInitialMessage();
1994
+ }
1995
+ async sendInitialMessage() {
1996
+ console.log('sendInitialMessage', this.initialeMessageSent, this.ready);
1997
+ this.startRequested = true;
1998
+ if (!this.ready) return;
1999
+ if (this.initialeMessageSent) return;
2000
+ this.initialeMessageSent = true;
2001
+ const msg = new (0, $b5717bf132240963$export$46bbf1c329ce020)();
2002
+ const videoTrack = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).tracksHandler.video.track;
2003
+ const audioTrack = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).tracksHandler.audio.track;
2004
+ msg.addMediaContent('camera', videoTrack ? 'active' : 'inactive');
2005
+ msg.addMediaContent('microphone', audioTrack ? 'active' : 'inactive');
2006
+ msg.addAppContent('event', `setStep: ${(0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance?.getData().previousStepNumber ?? 1}`);
2007
+ await this.agent.sendUserMessage(msg);
2008
+ const response = await this.startResponse('initial');
2009
+ console.log('response', response);
2010
+ }
2011
+ startResponse(origin) {
2012
+ if (!this.startRequested || !this.ready) return;
2013
+ return this.agent.startResponse(origin);
2014
+ }
2015
+ onAssistantPartialMessage(text) {
2016
+ console.log('onAssistantPartialMessage', text);
2017
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).dispatchEvent(new CustomEvent('aiTextMessage', {
2018
+ detail: {
2019
+ text: text
2020
+ }
2021
+ }));
2022
+ }
2023
+ onAssistantMessage(text) {
2024
+ console.log('onAssistantMessage', text);
2025
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).dispatchEvent(new CustomEvent('aiTextMessage', {
2026
+ detail: {
2027
+ text: text
2028
+ }
2029
+ }));
2030
+ }
2031
+ onAudioAssistant(state) {
2032
+ console.log('onAudioAssistant', state);
2033
+ if (state === 'started') (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).dispatchEvent(new CustomEvent('aiStarted', {
2034
+ detail: {
2035
+ text: ''
2036
+ }
2037
+ }));
2038
+ else (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).dispatchEvent(new CustomEvent('aiStopped', {
2039
+ detail: {
2040
+ text: ''
2041
+ }
2042
+ }));
2043
+ }
2044
+ }
2045
+
2046
+
2047
+ const $c95f9434edde88c6$var$saveData = {
2048
+ mediaAccessGranted: false,
2049
+ previousStepNumber: undefined
2050
+ };
2051
+ const $c95f9434edde88c6$var$script = {
2052
+ mediaAccessGranted: (message, arg)=>{
2053
+ console.log('state', arg);
2054
+ if (arg?.audio) message.addMediaContent('microphone', arg?.audio ? 'active' : 'inactive');
2055
+ if (arg?.video) message.addMediaContent('camera', arg?.video ? 'active' : 'inactive');
2056
+ let answer = false;
2057
+ if (!$c95f9434edde88c6$var$saveData.mediaAccessGranted && Boolean(arg?.audio || arg?.video)) {
2058
+ $c95f9434edde88c6$var$saveData.mediaAccessGranted = true;
2059
+ answer = true;
2060
+ }
2061
+ console.log('mediaAccessGranted', $c95f9434edde88c6$var$saveData.mediaAccessGranted, message.content);
2062
+ return {
2063
+ message: message,
2064
+ response: answer
2065
+ };
2066
+ },
2067
+ setStep: (message, arg)=>{
2068
+ message.addAppContent('event', `setStep: ${arg?.['stepIndex']}`);
2069
+ if ($c95f9434edde88c6$var$saveData.previousStepNumber === arg?.['stepIndex']) {
2070
+ $c95f9434edde88c6$var$saveData.previousStepNumber = arg?.['stepIndex'];
2071
+ return {
2072
+ message: message,
2073
+ response: false
2074
+ };
2075
+ }
2076
+ return {
2077
+ message: message,
2078
+ response: false
2079
+ };
2080
+ },
2081
+ startStep: (message, arg)=>{
2082
+ message.addAppContent('event', `startStep: ${arg?.['stepIndex']}`);
2083
+ message.addInstructionContent(`explain that the user need to click on the record round button to start recording or take the photo`);
2084
+ return {
2085
+ message: message,
2086
+ response: true
2087
+ };
2088
+ },
2089
+ photoTaken: (message)=>{
2090
+ message.addAppContent('event', 'photoTaken');
2091
+ return {
2092
+ message: message,
2093
+ response: false
2094
+ };
2095
+ },
2096
+ startRecord: (message)=>{
2097
+ message.addAppContent('event', 'startRecord');
2098
+ return {
2099
+ message: message,
2100
+ response: false
2101
+ };
2102
+ },
2103
+ videoTaken: (message)=>{
2104
+ message.addAppContent('event', 'videoTaken');
2105
+ return {
2106
+ message: message,
2107
+ response: false
2108
+ };
2109
+ },
2110
+ submissionStep: (message)=>{
2111
+ message.addAppContent('event', 'submissionStep open');
2112
+ message.addContent('request to click the send button to submit the assets');
2113
+ return {
2114
+ message: message,
2115
+ response: true
2116
+ };
2117
+ },
2118
+ sendAssetSuccess: (message)=>{
2119
+ message.addAppContent('event', 'sendAssetSuccess');
2120
+ message.addInstructionContent('simply say thank you and confirm assets have been uploaded.');
2121
+ return {
2122
+ message: message,
2123
+ response: true
2124
+ };
2125
+ },
2126
+ upload: (message, arg)=>{
2127
+ message.addAppContent('event', `uploaded: ${arg?.['type']}`);
2128
+ return {
2129
+ message: message,
2130
+ response: true
2131
+ };
2132
+ }
2133
+ };
2134
+ class $c95f9434edde88c6$export$2f8b47a141e57afc {
2135
+ static{
2136
+ this.instance = new $c95f9434edde88c6$export$2f8b47a141e57afc();
2137
+ }
2138
+ getData() {
2139
+ return $c95f9434edde88c6$var$saveData;
2140
+ }
2141
+ async event(event, arg) {
2142
+ try {
2143
+ const msg = new (0, $b5717bf132240963$export$46bbf1c329ce020)();
2144
+ const scripted = $c95f9434edde88c6$var$script[event];
2145
+ console.log('script.event', event);
2146
+ if (scripted) {
2147
+ let content = scripted(msg, arg);
2148
+ console.log('script.event', content);
2149
+ const result = await (0, $c489a777d7081058$export$53479bc84d79bdc2).instance?.addScriptedMessage(content);
2150
+ console.log('result', result);
2151
+ if (content?.response) await (0, $c489a777d7081058$export$53479bc84d79bdc2).instance?.startResponse(event);
2152
+ } else console.log('script not found', event);
2153
+ } catch (error) {
2154
+ console.error('script.event error', error);
2155
+ }
2156
+ }
2157
+ }
2158
+
2159
+
888
2160
  const $d582bbc5717818b4$var$defaultConstraints = {
889
2161
  video: {
890
2162
  facingMode: 'user',
@@ -906,14 +2178,18 @@ const $d582bbc5717818b4$var$defaultConstraints = {
906
2178
  async function $d582bbc5717818b4$export$9b072140089cdb1b(constraints = $d582bbc5717818b4$var$defaultConstraints) {
907
2179
  console.log('askTracks', 'constraints', constraints);
908
2180
  const mediaStream = await navigator.mediaDevices.getUserMedia(constraints).catch(async (err)=>{
909
- console.warn('askTracks', 'getUserMedia failed', err);
2181
+ console.log(err);
910
2182
  return undefined;
911
2183
  });
912
- console.log('mediaStream', mediaStream);
913
- return {
2184
+ const result = {
914
2185
  audioTrack: mediaStream?.getAudioTracks()[0] || undefined,
915
2186
  videoTrack: mediaStream?.getVideoTracks()[0] || undefined
916
2187
  };
2188
+ const aiMessage = {};
2189
+ if (result.audioTrack) aiMessage.audio = 'true';
2190
+ if (result.videoTrack) aiMessage.video = 'true';
2191
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance?.event('mediaAccessGranted', aiMessage);
2192
+ return result;
917
2193
  }
918
2194
  async function $d582bbc5717818b4$export$b4d1f928a50d3a7e() {
919
2195
  let hasWebcam = false;
@@ -1899,6 +3175,8 @@ class $92c2fcd7d44c3301$export$79f141de891a5fed {
1899
3175
 
1900
3176
 
1901
3177
 
3178
+
3179
+
1902
3180
  const $1dedebd5ff3002eb$var$log = new (0, $d0c6baf97675ab49$export$2e2bcd8739ae039)('StreamerClient');
1903
3181
  $1dedebd5ff3002eb$var$log.info('StreamerClient', 'test');
1904
3182
  const $1dedebd5ff3002eb$export$103bedf43ba882db = {
@@ -2083,6 +3361,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
2083
3361
  }
2084
3362
  async init(room, streamInfo, options = this.joinOptions) {
2085
3363
  this.roomId = room;
3364
+ this.streamInfo = streamInfo;
2086
3365
  this.peerId = (0, $jQDcL$uuid.v4)();
2087
3366
  this.recordingGroup = options.recordingGroup;
2088
3367
  this.joinOptions = options;
@@ -2731,6 +4010,14 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
2731
4010
  detail: {}
2732
4011
  });
2733
4012
  this.dispatchEvent(event);
4013
+ this.liveAIAgent?.setTrack(track);
4014
+ }
4015
+ initLiveAIAgent(options) {
4016
+ if (!this.streamInfo) throw new Error('streamInfo not initialized');
4017
+ if (this.liveAIAgent) return this.liveAIAgent;
4018
+ this.liveAIAgent = new (0, $c489a777d7081058$export$53479bc84d79bdc2)();
4019
+ this.liveAIAgent?.init(options, this.streamInfo);
4020
+ return this.liveAIAgent;
2734
4021
  }
2735
4022
  muteMicrophone() {
2736
4023
  if (this.micProducer) {
@@ -2800,6 +4087,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
2800
4087
  this.tracksHandler.cleanAllStreams();
2801
4088
  }
2802
4089
  endCall() {
4090
+ this.liveAIAgent?.agent.stop();
2803
4091
  this.release();
2804
4092
  const event = new $1dedebd5ff3002eb$export$da085ff0f511c609('leaveRoom', {
2805
4093
  detail: {}
@@ -3130,6 +4418,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
3130
4418
  this.screenshare.error = error;
3131
4419
  throw error;
3132
4420
  });
4421
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance?.event('startScreenShare');
3133
4422
  this.screenshare.error = undefined;
3134
4423
  }
3135
4424
  async _enableScreenshare(options = {
@@ -3199,6 +4488,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
3199
4488
  this.dispatchEvent(event);
3200
4489
  }
3201
4490
  async disableScreenshare() {
4491
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance?.event('stopScreenShare');
3202
4492
  if (this.screenshareVideoProducer) {
3203
4493
  this.screenshareVideoProducer.close();
3204
4494
  if (this.protoo?.connected) await this.protoo.request('closeProducer', {
@@ -3256,11 +4546,12 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
3256
4546
  } else $1dedebd5ff3002eb$var$log.error('requestVideo', `Video consumer ${consumer} not found`);
3257
4547
  }
3258
4548
  async saveCapture(base64Image) {
3259
- return (0, $7f16567c4f721486$export$bfc52a1c1f84ba66)(this.config.apiUrl, {
4549
+ const snapshot = await (0, $7f16567c4f721486$export$bfc52a1c1f84ba66)(this.config.apiUrl, {
3260
4550
  token: this.roomId,
3261
4551
  base64Image: base64Image,
3262
4552
  recordingGroup: this.recordingGroup
3263
4553
  });
4554
+ return snapshot;
3264
4555
  }
3265
4556
  async uploadAsset(file, type) {
3266
4557
  return (0, $987c962fd22b0c93$export$6ad2c48011488f7)(this.config.apiUrl, {
@@ -3302,6 +4593,16 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
3302
4593
  if (videoElement) image = await (0, $3575c8a563f2a1da$export$674c90a250a8b2c5)(videoElement, this.camera);
3303
4594
  else if (this.webcamProducer && this.webcamProducer.track) image = await (0, $3575c8a563f2a1da$export$4a210166cc9cb64b)(this.webcamProducer.track);
3304
4595
  else throw new Error('no video to capture');
4596
+ //this.liveAIAgent?.appImage(image);
4597
+ return image;
4598
+ } else throw new Error('feature not allowed');
4599
+ }
4600
+ async captureScreenShare() {
4601
+ if (this.permissions.find((permission)=>permission === 'instant_picture')) {
4602
+ let image;
4603
+ if (this.screenshareVideoProducer && this.screenshareVideoProducer.track) image = await (0, $3575c8a563f2a1da$export$4a210166cc9cb64b)(this.screenshareVideoProducer.track);
4604
+ else throw new Error('no video to capture');
4605
+ //this.liveAIAgent?.appImage(image);
3305
4606
  return image;
3306
4607
  } else throw new Error('feature not allowed');
3307
4608
  }
@@ -3710,6 +5011,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
3710
5011
  }
3711
5012
 
3712
5013
 
5014
+
3713
5015
  const $c48c1ecc38fed4e9$export$2f377c2162fd02b2 = new (0, $1dedebd5ff3002eb$export$2e2bcd8739ae039)();
3714
5016
 
3715
5017
 
@@ -5310,7 +6612,7 @@ const $ae5056a5aa2b681d$export$3e37751cffc31fd8 = [
5310
6612
 
5311
6613
 
5312
6614
 
5313
- const $800462b6cb0a3b0c$var$mixpanelToken = undefined;
6615
+ const $800462b6cb0a3b0c$var$mixpanelToken = "04fc31be9916734b6834a6a8560fe3ca";
5314
6616
  const $800462b6cb0a3b0c$export$18c6473b5b45bda1 = $800462b6cb0a3b0c$var$mixpanelToken ? (0, ($parcel$interopDefault($jQDcL$mixpanelbrowsersrcloadersloadermodulecore))).init($800462b6cb0a3b0c$var$mixpanelToken, {
5315
6617
  track_pageview: false,
5316
6618
  autocapture: false
@@ -9484,13 +10786,6 @@ const $c3d5253d9d597eb5$export$494039379563c94d = async (options)=>{
9484
10786
 
9485
10787
 
9486
10788
 
9487
- const $098350f721a0bb52$export$784df5c7a561530 = (0, $jQDcL$react.createContext)({});
9488
- const $098350f721a0bb52$export$2174f25d572f9f31 = ()=>{
9489
- const context = (0, $jQDcL$react.useContext)($098350f721a0bb52$export$784df5c7a561530);
9490
- return context;
9491
- };
9492
-
9493
-
9494
10789
 
9495
10790
 
9496
10791
 
@@ -9570,6 +10865,9 @@ const $1868c305e84f8532$export$1cdb0c90ced085 = ({ children: children, fileInput
9570
10865
  networkIssue: false,
9571
10866
  isUploaded: true
9572
10867
  });
10868
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance.event('upload', {
10869
+ type: type
10870
+ });
9573
10871
  flowStepsState.open();
9574
10872
  } catch (error) {
9575
10873
  reportError({
@@ -9680,10 +10978,147 @@ const $5eec995ea21e910d$export$a6c85b7a72deaeef = ()=>{
9680
10978
 
9681
10979
 
9682
10980
 
10981
+
10982
+
10983
+
10984
+
10985
+
10986
+
10987
+ const $6446d38daa66a4a3$export$18ae0c9fd28c991e = ({ color: color = 'white' })=>{
10988
+ return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("svg", {
10989
+ width: "24",
10990
+ height: "25",
10991
+ viewBox: "0 0 24 25",
10992
+ fill: "none",
10993
+ xmlns: "http://www.w3.org/2000/svg",
10994
+ children: [
10995
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
10996
+ d: "M8.84204 3.15789C8.84204 0.557368 9.39941 0 11.9999 0C14.6005 0 15.1578 0.557368 15.1578 3.15789C15.1578 5.75842 14.6005 6.31579 11.9999 6.31579C9.39941 6.31579 8.84204 5.75842 8.84204 3.15789Z",
10997
+ fill: "#121212"
10998
+ }),
10999
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("rect", {
11000
+ x: "10.7368",
11001
+ y: "3.15771",
11002
+ width: "2.52632",
11003
+ height: "5.05263",
11004
+ fill: "#121212"
11005
+ }),
11006
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
11007
+ fillRule: "evenodd",
11008
+ clipRule: "evenodd",
11009
+ d: "M12 7.5791C2.118 7.5791 0 9.02826 0 15.7896C0 22.551 2.118 24.0002 12 24.0002C21.882 24.0002 24 22.551 24 15.7896C24 9.02826 21.882 7.5791 12 7.5791ZM12 10.1054C4.29136 10.1054 2.63917 11.38 2.63917 15.7896C2.63917 20.1992 4.29136 21.4738 12 21.4738C19.7086 21.4738 21.3608 20.1992 21.3608 15.7896C21.3608 11.38 19.7086 10.1054 12 10.1054Z",
11010
+ fill: "#121212"
11011
+ }),
11012
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
11013
+ d: "M2.52637 15.7897C2.52637 11.1087 4.19847 10.1055 12.0001 10.1055C19.8016 10.1055 21.4737 11.1087 21.4737 15.7897C21.4737 20.4706 19.8016 21.4739 12.0001 21.4739C4.19847 21.4739 2.52637 20.4706 2.52637 15.7897Z",
11014
+ fill: color
11015
+ }),
11016
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("ellipse", {
11017
+ cx: "7.89462",
11018
+ cy: "15.7895",
11019
+ rx: "1.57895",
11020
+ ry: "2.52632",
11021
+ fill: "#121212"
11022
+ }),
11023
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("ellipse", {
11024
+ cx: "16.1053",
11025
+ cy: "15.7895",
11026
+ rx: "1.57895",
11027
+ ry: "2.52632",
11028
+ fill: "#121212"
11029
+ })
11030
+ ]
11031
+ });
11032
+ };
11033
+
11034
+
11035
+
11036
+
11037
+
11038
+ const $d3d8d40deedb1979$var$browser = (0, ($parcel$interopDefault($jQDcL$bowser))).parse(window.navigator.userAgent);
11039
+ const $d3d8d40deedb1979$export$e3cee2ebbbe23463 = ()=>{
11040
+ const [talking, setTalking] = (0, $jQDcL$react.useState)(false);
11041
+ const isDesktop = $d3d8d40deedb1979$var$browser.platform.type === 'desktop';
11042
+ const onAIStarted = (event)=>{
11043
+ console.log('onAIStarted:', event);
11044
+ setTalking(true);
11045
+ };
11046
+ const onAIStopped = (event)=>{
11047
+ console.log('onAIStopped:', event);
11048
+ setTalking(false);
11049
+ };
11050
+ (0, $jQDcL$react.useEffect)(()=>{
11051
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener('aiStarted', onAIStarted);
11052
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener('aiStopped', onAIStopped);
11053
+ return ()=>{
11054
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener('aiStarted', onAIStarted);
11055
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener('aiStopped', onAIStopped);
11056
+ };
11057
+ }, []);
11058
+ const [aiMessage, setAiMessage] = (0, $jQDcL$react.useState)('');
11059
+ const onAITextMessage = (0, $jQDcL$react.useCallback)((event)=>{
11060
+ setAiMessage(event.detail.text);
11061
+ }, [
11062
+ setAiMessage
11063
+ ]);
11064
+ (0, $jQDcL$react.useEffect)(()=>{
11065
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener('aiTextMessage', onAITextMessage);
11066
+ return ()=>{
11067
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener('aiTextMessage', onAITextMessage);
11068
+ };
11069
+ }, [
11070
+ onAITextMessage
11071
+ ]);
11072
+ return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.Popover), {
11073
+ open: aiMessage !== '',
11074
+ onOpenChange: ()=>{
11075
+ console.log('onClick');
11076
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).captureVideo().catch(console.error);
11077
+ (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).captureScreenShare().catch(console.error);
11078
+ },
11079
+ children: [
11080
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.PopoverTrigger), {
11081
+ className: "relative w-10 h-10 p-2 rounded-full bg-black shadow-sm z-98",
11082
+ children: [
11083
+ talking && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
11084
+ className: "absolute top-0 right-0 p-[2px] rounded-full bg-blue-700",
11085
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystemicons.DotsHorizontalIcon), {
11086
+ size: 12,
11087
+ className: "text-black"
11088
+ })
11089
+ }),
11090
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6446d38daa66a4a3$export$18ae0c9fd28c991e), {})
11091
+ ]
11092
+ }),
11093
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.PopoverContent), {
11094
+ side: "bottom",
11095
+ sideOffset: 13,
11096
+ className: (0, ($parcel$interopDefault($jQDcL$classnames)))('flex flex-col border-0 rounded-2xl w-fit max-w-[540px] max-h-[75dvh] z-100', {
11097
+ 'max-w-[90vw]': !isDesktop
11098
+ }),
11099
+ onInteractOutside: (e)=>e.preventDefault(),
11100
+ onOpenAutoFocus: (e)=>e.preventDefault(),
11101
+ children: [
11102
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.PopoverArrow), {
11103
+ className: "fill-white"
11104
+ }),
11105
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
11106
+ className: "text-black-1000",
11107
+ children: aiMessage
11108
+ })
11109
+ ]
11110
+ })
11111
+ ]
11112
+ });
11113
+ };
11114
+
11115
+
11116
+
9683
11117
  const $48ac80173d63a751$var$browser = (0, ($parcel$interopDefault($jQDcL$bowser))).parse(window.navigator.userAgent);
9684
11118
  const $48ac80173d63a751$export$aa00db7a33d4c484 = ()=>{
9685
11119
  const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
9686
11120
  const { isRecording: isRecording, openQRCodeModal: openQRCodeModal, flowStepsState: flowStepsState } = (0, $098350f721a0bb52$export$2174f25d572f9f31)();
11121
+ const { streamInfo: streamInfo } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
9687
11122
  const settingsDialogState = (0, $jQDcL$snapcalldesignsystem.useDialogState)();
9688
11123
  const isMedium = window.matchMedia('(min-width: 768px)').matches;
9689
11124
  const isDesktop = $48ac80173d63a751$var$browser.platform.type === 'desktop';
@@ -9711,7 +11146,8 @@ const $48ac80173d63a751$export$aa00db7a33d4c484 = ()=>{
9711
11146
  })
9712
11147
  }),
9713
11148
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
9714
- className: "flex justify-center flex-1"
11149
+ className: "flex justify-center flex-1",
11150
+ children: streamInfo.flow.config?.real_time_assistant && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $d3d8d40deedb1979$export$e3cee2ebbbe23463), {})
9715
11151
  }),
9716
11152
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
9717
11153
  className: "flex justify-end gap-2 flex-1 z-30",
@@ -10284,6 +11720,8 @@ const $8a7a24ac08dbc187$export$931d641a2a152cf = ()=>{
10284
11720
 
10285
11721
 
10286
11722
 
11723
+
11724
+ let $e86e3e83467d5bba$var$recordInterval = undefined;
10287
11725
  const $e86e3e83467d5bba$export$f9da3144ae2525a3 = ()=>{
10288
11726
  const { streamUIContainerRef: streamUIContainerRef } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
10289
11727
  const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
@@ -10309,6 +11747,8 @@ const $e86e3e83467d5bba$export$f9da3144ae2525a3 = ()=>{
10309
11747
  flowStepsState.open();
10310
11748
  try {
10311
11749
  const image = await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).captureVideo(videoElementRef.current);
11750
+ await (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance.event('photoTaken');
11751
+ await (0, $c489a777d7081058$export$53479bc84d79bdc2).instance?.analyzeImageResult(image);
10312
11752
  const { url: url, filename: filename } = await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).saveCapture(image);
10313
11753
  addAsset({
10314
11754
  stepToken: currentStep.token,
@@ -10340,6 +11780,10 @@ const $e86e3e83467d5bba$export$f9da3144ae2525a3 = ()=>{
10340
11780
  mode: mode,
10341
11781
  action: 'stop'
10342
11782
  });
11783
+ if (mode !== 'audio') {
11784
+ clearInterval($e86e3e83467d5bba$var$recordInterval);
11785
+ (0, $c489a777d7081058$export$53479bc84d79bdc2).instance?.analyzeVideo();
11786
+ }
10343
11787
  try {
10344
11788
  await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).stopRecord();
10345
11789
  if (mode === 'screen') (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).disableScreenshare().catch((error)=>{
@@ -10378,6 +11822,7 @@ const $e86e3e83467d5bba$export$f9da3144ae2525a3 = ()=>{
10378
11822
  const onCountdownFinish = async ()=>{
10379
11823
  try {
10380
11824
  isVideoBotEnabled;
11825
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance.event('startRecord');
10381
11826
  await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).startRecord();
10382
11827
  (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).audioLevel?.startAverageAnalysis();
10383
11828
  setShowCountdown(false);
@@ -10392,6 +11837,16 @@ const $e86e3e83467d5bba$export$f9da3144ae2525a3 = ()=>{
10392
11837
  } catch (err) {
10393
11838
  console.warn("Couldn't capture video for thumbnail", err);
10394
11839
  }
11840
+ if (mode !== 'audio') $e86e3e83467d5bba$var$recordInterval = window.setInterval(()=>{
11841
+ const addImage = async ()=>{
11842
+ let image = undefined;
11843
+ console.log(mode);
11844
+ if (mode === 'screen') image = await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).captureScreenShare().catch(console.error);
11845
+ else image = await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).captureVideo(undefined).catch(console.error);
11846
+ if (image) await (0, $c489a777d7081058$export$53479bc84d79bdc2).instance?.addVideoImage(image);
11847
+ };
11848
+ addImage();
11849
+ }, 2000);
10395
11850
  setIncomingAsset({
10396
11851
  mode: mode,
10397
11852
  thumbnailUrl: thumbnail || undefined,
@@ -11265,6 +12720,8 @@ const $07ad611f1c0acb4b$export$60c4050edc47776a = ({ streamToken: streamToken, o
11265
12720
  };
11266
12721
 
11267
12722
 
12723
+
12724
+
11268
12725
  const $54799b0e1258d1b2$export$423b43901b3e0d2e = ({ currentStep: currentStep, onNextClick: onNextClick })=>{
11269
12726
  const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
11270
12727
  const { streamInfo: streamInfo, options: options } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
@@ -11363,6 +12820,10 @@ const $54799b0e1258d1b2$export$423b43901b3e0d2e = ({ currentStep: currentStep, o
11363
12820
  variant: "secondary",
11364
12821
  onClick: ()=>{
11365
12822
  flowStepsState.close();
12823
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance?.event('startStep', {
12824
+ stepIndex: `${currentStepIndex + 1}`
12825
+ });
12826
+ (0, $c489a777d7081058$export$53479bc84d79bdc2).instance?.sendInitialMessage();
11366
12827
  (0, $800462b6cb0a3b0c$export$18c6473b5b45bda1)?.track('Add new clip', {
11367
12828
  alreadySent: false
11368
12829
  }, {
@@ -11379,6 +12840,11 @@ const $54799b0e1258d1b2$export$423b43901b3e0d2e = ({ currentStep: currentStep, o
11379
12840
  }),
11380
12841
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Button), {
11381
12842
  onClick: ()=>{
12843
+ const n = streamInfo.flow.steps.findIndex((step)=>step.token === currentStep.token);
12844
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance?.event('startStep', {
12845
+ stepIndex: `${n + 1}`
12846
+ });
12847
+ (0, $c489a777d7081058$export$53479bc84d79bdc2).instance?.sendInitialMessage();
11382
12848
  if (currentStep.token === 'kyc') setShowKycSubStep(true);
11383
12849
  else onNextClick();
11384
12850
  },
@@ -11499,6 +12965,7 @@ const $c085aa4099740100$export$ce05094b93c0f011 = ()=>{
11499
12965
  return results;
11500
12966
  },
11501
12967
  onSuccess: ()=>{
12968
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance?.event('sendAssetSuccess');
11502
12969
  (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).release();
11503
12970
  flowSourceAction.onRecorderEnd();
11504
12971
  },
@@ -11577,6 +13044,7 @@ const $b7da96dab497eb52$export$16028ed4f0100bfc = ({ asset: asset, url: url })=>
11577
13044
 
11578
13045
 
11579
13046
 
13047
+
11580
13048
  const $9a11b2141abdc95a$export$5433a7b0165240b6 = ()=>{
11581
13049
  const { streamInfo: streamInfo } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
11582
13050
  const { isRecording: isRecording, currentStep: currentStep, flowStepsState: flowStepsState, assets: assets, setCurrentStep: setCurrentStep, openedAsset: openedAsset } = (0, $098350f721a0bb52$export$2174f25d572f9f31)();
@@ -11596,6 +13064,11 @@ const $9a11b2141abdc95a$export$5433a7b0165240b6 = ()=>{
11596
13064
  const currentStepAssets = assets.filter((asset)=>asset.stepToken === currentStep?.token);
11597
13065
  const nextStep = streamInfo.flow.steps[currentStepIndex + 1];
11598
13066
  const isMedium = window.matchMedia('(min-width: 768px)').matches;
13067
+ (0, $jQDcL$react.useEffect)(()=>{
13068
+ if (showSubmissionStep) (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance.event('submissionStep');
13069
+ }, [
13070
+ showSubmissionStep
13071
+ ]);
11599
13072
  return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $9277d94be7423d29$export$56d72fe406945300), {
11600
13073
  type: isMedium ? 'alert-dialog' : 'sheet',
11601
13074
  showClose: false,
@@ -11659,7 +13132,7 @@ const $9a11b2141abdc95a$export$5433a7b0165240b6 = ()=>{
11659
13132
 
11660
13133
  const $3753c01d669182c5$var$browser = (0, ($parcel$interopDefault($jQDcL$bowser))).parse(window.navigator.userAgent);
11661
13134
  const $3753c01d669182c5$export$336a011955157f9a = ()=>{
11662
- const { streamInfo: streamInfo } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
13135
+ const { streamInfo: streamInfo, language: language } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
11663
13136
  const [currentStep, setCurrentStep] = (0, $jQDcL$react.useState)(streamInfo.flow?.steps[0] || null);
11664
13137
  const [mode, setMode] = (0, $jQDcL$react.useState)(currentStep?.default_type || 'video');
11665
13138
  const [assets, setAssets] = (0, $jQDcL$react.useState)([]);
@@ -11682,6 +13155,16 @@ const $3753c01d669182c5$export$336a011955157f9a = ()=>{
11682
13155
  const switchToMobileModalState = (0, $jQDcL$snapcalldesignsystem.useDialogState)({
11683
13156
  defaultOpen: showSwitchToMobileModal
11684
13157
  });
13158
+ (0, $jQDcL$react.useEffect)(()=>{
13159
+ if (streamInfo?.flow?.config?.real_time_assistant) (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).initLiveAIAgent({
13160
+ language: language,
13161
+ voice: 'alloy'
13162
+ });
13163
+ }, [
13164
+ showSwitchToMobileModal,
13165
+ language,
13166
+ streamInfo?.flow?.config?.real_time_assistant
13167
+ ]);
11685
13168
  const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
11686
13169
  const reportError = (0, $1c784e11381e6f0c$export$5a5695b638d078e7)();
11687
13170
  const devicesState = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getDevicesState();
@@ -11767,6 +13250,7 @@ const $3753c01d669182c5$export$336a011955157f9a = ()=>{
11767
13250
  networkIssue: networkIssue,
11768
13251
  isUploaded: false
11769
13252
  });
13253
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance.event('videoTaken');
11770
13254
  }
11771
13255
  setNetworkIssue(false);
11772
13256
  };
@@ -11809,6 +13293,17 @@ const $3753c01d669182c5$export$336a011955157f9a = ()=>{
11809
13293
  reportError,
11810
13294
  t
11811
13295
  ]);
13296
+ (0, $jQDcL$react.useEffect)(()=>{
13297
+ if (currentStep) {
13298
+ const n = streamInfo.flow.steps.findIndex((step)=>step.token === currentStep.token);
13299
+ (0, $c95f9434edde88c6$export$2f8b47a141e57afc).instance?.event('setStep', {
13300
+ stepIndex: `${n + 1}`
13301
+ });
13302
+ }
13303
+ }, [
13304
+ currentStep,
13305
+ streamInfo.flow.steps
13306
+ ]);
11812
13307
  return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
11813
13308
  className: "flex flex-col justify-between w-full h-full gap-6 p-6 bg-gray-25 max-sm:gap-4 max-sm:p-4",
11814
13309
  children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $098350f721a0bb52$export$784df5c7a561530).Provider, {
@@ -11842,7 +13337,9 @@ const $3753c01d669182c5$export$336a011955157f9a = ()=>{
11842
13337
  children: [
11843
13338
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $739811827619cd9e$export$f9d8408fefd786da), {
11844
13339
  state: switchToMobileModalState,
11845
- onClose: ()=>flowStepsState.open()
13340
+ onClose: ()=>{
13341
+ flowStepsState.open();
13342
+ }
11846
13343
  }),
11847
13344
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $9a11b2141abdc95a$export$5433a7b0165240b6), {}),
11848
13345
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $48ac80173d63a751$export$aa00db7a33d4c484), {}),
@@ -12826,7 +14323,7 @@ var $ee8cb448c2c74888$export$2e2bcd8739ae039 = $ee8cb448c2c74888$var$StreamUI;
12826
14323
 
12827
14324
 
12828
14325
  var $54541b0286afc2de$exports = {};
12829
- $54541b0286afc2de$exports = "/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\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-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-x-reverse: 0;\n --tw-border-style: solid;\n --tw-divide-y-reverse: 0;\n --tw-leading: initial;\n --tw-font-weight: 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 }\n }\n}\n\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --spacing: .25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\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 --radius-sm: .25rem;\n --radius-md: .375rem;\n --radius-lg: .5rem;\n --radius-xl: .75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --ease-in-out: cubic-bezier(.4, 0, .2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;\n --blur-xs: 4px;\n --blur-lg: 16px;\n --default-transition-duration: .15s;\n --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --text-xs: 12px;\n --text-xs--line-height: 16px;\n --text-xs--letter-spacing: -.02em;\n --text-sm: 14px;\n --text-sm--line-height: 20px;\n --text-sm--letter-spacing: -.02em;\n --text-md: 16px;\n --text-md--line-height: 20px;\n --text-md--letter-spacing: -.02em;\n --text-lg: 18px;\n --text-lg--line-height: 22px;\n --text-lg--letter-spacing: -.02em;\n --text-xl: 20px;\n --text-xl--line-height: 24px;\n --text-xl--letter-spacing: -.02em;\n --text-2xl: 24px;\n --text-2xl--line-height: 32px;\n --text-2xl--letter-spacing: -.02em;\n --text-3xl: 30px;\n --text-3xl--line-height: 38px;\n --text-3xl--letter-spacing: -.02em;\n --text-4xl: 36px;\n --text-4xl--line-height: 44px;\n --text-4xl--letter-spacing: -.02em;\n --text-5xl: 48px;\n --text-5xl--line-height: 60px;\n --text-5xl--letter-spacing: -.02em;\n --text-6xl: 60px;\n --text-6xl--line-height: 72px;\n --text-6xl--letter-spacing: -.02em;\n --text-7xl: 72px;\n --text-7xl--line-height: 90px;\n --text-7xl--letter-spacing: -.02em;\n --animate-accordion-down: accordion-down .2s ease-out;\n --animate-accordion-up: accordion-up .2s ease-out;\n --color-black: var(--color-black);\n --color-white: var(--color-white);\n --color-gray-25: var(--color-gray-25);\n --color-gray-50: var(--color-gray-50);\n --color-gray-100: var(--color-gray-100);\n --color-gray-200: var(--color-gray-200);\n --color-gray-300: var(--color-gray-300);\n --color-gray-400: var(--color-gray-400);\n --color-gray-500: var(--color-gray-500);\n --color-gray-600: var(--color-gray-600);\n --color-gray-700: var(--color-gray-700);\n --color-gray-800: var(--color-gray-800);\n --color-gray-900: var(--color-gray-900);\n --color-gray-1000: var(--color-gray-1000);\n --color-blue-25: var(--color-blue-25);\n --color-blue-50: var(--color-blue-50);\n --color-blue-100: var(--color-blue-100);\n --color-blue-200: var(--color-blue-200);\n --color-blue-300: var(--color-blue-300);\n --color-blue-400: var(--color-blue-400);\n --color-blue-500: var(--color-blue-500);\n --color-blue-600: var(--color-blue-600);\n --color-blue-700: var(--color-blue-700);\n --color-blue-800: var(--color-blue-800);\n --color-blue-900: var(--color-blue-900);\n --color-blue-1000: var(--color-blue-1000);\n --color-red-25: var(--color-red-25);\n --color-red-50: var(--color-red-50);\n --color-red-100: var(--color-red-100);\n --color-red-200: var(--color-red-200);\n --color-red-300: var(--color-red-300);\n --color-red-400: var(--color-red-400);\n --color-red-500: var(--color-red-500);\n --color-red-600: var(--color-red-600);\n --color-red-700: var(--color-red-700);\n --color-red-800: var(--color-red-800);\n --color-red-900: var(--color-red-900);\n --color-red-1000: var(--color-red-1000);\n --color-amber-25: var(--color-amber-25);\n --color-amber-50: var(--color-amber-50);\n --color-amber-100: var(--color-amber-100);\n --color-amber-200: var(--color-amber-200);\n --color-amber-300: var(--color-amber-300);\n --color-amber-400: var(--color-amber-400);\n --color-amber-500: var(--color-amber-500);\n --color-amber-600: var(--color-amber-600);\n --color-amber-700: var(--color-amber-700);\n --color-amber-800: var(--color-amber-800);\n --color-amber-900: var(--color-amber-900);\n --color-amber-1000: var(--color-amber-1000);\n --color-green-25: var(--color-green-25);\n --color-green-50: var(--color-green-50);\n --color-green-100: var(--color-green-100);\n --color-green-200: var(--color-green-200);\n --color-green-300: var(--color-green-300);\n --color-green-400: var(--color-green-400);\n --color-green-500: var(--color-green-500);\n --color-green-600: var(--color-green-600);\n --color-green-700: var(--color-green-700);\n --color-green-800: var(--color-green-800);\n --color-green-900: var(--color-green-900);\n --color-green-1000: var(--color-green-1000);\n --color-tomato-25: var(--color-tomato-25);\n --color-tomato-50: var(--color-tomato-50);\n --color-tomato-100: var(--color-tomato-100);\n --color-tomato-200: var(--color-tomato-200);\n --color-tomato-300: var(--color-tomato-300);\n --color-tomato-400: var(--color-tomato-400);\n --color-tomato-500: var(--color-tomato-500);\n --color-tomato-600: var(--color-tomato-600);\n --color-tomato-700: var(--color-tomato-700);\n --color-tomato-800: var(--color-tomato-800);\n --color-tomato-900: var(--color-tomato-900);\n --color-tomato-1000: var(--color-tomato-1000);\n --color-crimson-25: var(--color-crimson-25);\n --color-crimson-50: var(--color-crimson-50);\n --color-crimson-100: var(--color-crimson-100);\n --color-crimson-200: var(--color-crimson-200);\n --color-crimson-300: var(--color-crimson-300);\n --color-crimson-400: var(--color-crimson-400);\n --color-crimson-500: var(--color-crimson-500);\n --color-crimson-600: var(--color-crimson-600);\n --color-crimson-700: var(--color-crimson-700);\n --color-crimson-800: var(--color-crimson-800);\n --color-crimson-900: var(--color-crimson-900);\n --color-crimson-1000: var(--color-crimson-1000);\n --color-pink-25: var(--color-pink-25);\n --color-pink-50: var(--color-pink-50);\n --color-pink-100: var(--color-pink-100);\n --color-pink-200: var(--color-pink-200);\n --color-pink-300: var(--color-pink-300);\n --color-pink-400: var(--color-pink-400);\n --color-pink-500: var(--color-pink-500);\n --color-pink-600: var(--color-pink-600);\n --color-pink-700: var(--color-pink-700);\n --color-pink-800: var(--color-pink-800);\n --color-pink-900: var(--color-pink-900);\n --color-pink-1000: var(--color-pink-1000);\n --color-plum-25: var(--color-plum-25);\n --color-plum-50: var(--color-plum-50);\n --color-plum-100: var(--color-plum-100);\n --color-plum-200: var(--color-plum-200);\n --color-plum-300: var(--color-plum-300);\n --color-plum-400: var(--color-plum-400);\n --color-plum-500: var(--color-plum-500);\n --color-plum-600: var(--color-plum-600);\n --color-plum-700: var(--color-plum-700);\n --color-plum-800: var(--color-plum-800);\n --color-plum-900: var(--color-plum-900);\n --color-plum-1000: var(--color-plum-1000);\n --color-purple-25: var(--color-purple-25);\n --color-purple-50: var(--color-purple-50);\n --color-purple-100: var(--color-purple-100);\n --color-purple-200: var(--color-purple-200);\n --color-purple-300: var(--color-purple-300);\n --color-purple-400: var(--color-purple-400);\n --color-purple-500: var(--color-purple-500);\n --color-purple-600: var(--color-purple-600);\n --color-purple-700: var(--color-purple-700);\n --color-purple-800: var(--color-purple-800);\n --color-purple-900: var(--color-purple-900);\n --color-purple-1000: var(--color-purple-1000);\n --color-violet-25: var(--color-violet-25);\n --color-violet-50: var(--color-violet-50);\n --color-violet-100: var(--color-violet-100);\n --color-violet-200: var(--color-violet-200);\n --color-violet-300: var(--color-violet-300);\n --color-violet-400: var(--color-violet-400);\n --color-violet-500: var(--color-violet-500);\n --color-violet-600: var(--color-violet-600);\n --color-violet-700: var(--color-violet-700);\n --color-violet-800: var(--color-violet-800);\n --color-violet-900: var(--color-violet-900);\n --color-violet-1000: var(--color-violet-1000);\n --color-indigo-25: var(--color-indigo-25);\n --color-indigo-50: var(--color-indigo-50);\n --color-indigo-100: var(--color-indigo-100);\n --color-indigo-200: var(--color-indigo-200);\n --color-indigo-300: var(--color-indigo-300);\n --color-indigo-400: var(--color-indigo-400);\n --color-indigo-500: var(--color-indigo-500);\n --color-indigo-600: var(--color-indigo-600);\n --color-indigo-700: var(--color-indigo-700);\n --color-indigo-800: var(--color-indigo-800);\n --color-indigo-900: var(--color-indigo-900);\n --color-indigo-1000: var(--color-indigo-1000);\n --color-cyan-25: var(--color-cyan-25);\n --color-cyan-50: var(--color-cyan-50);\n --color-cyan-100: var(--color-cyan-100);\n --color-cyan-200: var(--color-cyan-200);\n --color-cyan-300: var(--color-cyan-300);\n --color-cyan-400: var(--color-cyan-400);\n --color-cyan-500: var(--color-cyan-500);\n --color-cyan-600: var(--color-cyan-600);\n --color-cyan-700: var(--color-cyan-700);\n --color-cyan-800: var(--color-cyan-800);\n --color-cyan-900: var(--color-cyan-900);\n --color-cyan-1000: var(--color-cyan-1000);\n --color-teal-25: var(--color-teal-25);\n --color-teal-50: var(--color-teal-50);\n --color-teal-100: var(--color-teal-100);\n --color-teal-200: var(--color-teal-200);\n --color-teal-300: var(--color-teal-300);\n --color-teal-400: var(--color-teal-400);\n --color-teal-500: var(--color-teal-500);\n --color-teal-600: var(--color-teal-600);\n --color-teal-700: var(--color-teal-700);\n --color-teal-800: var(--color-teal-800);\n --color-teal-900: var(--color-teal-900);\n --color-teal-1000: var(--color-teal-1000);\n --color-grass-25: var(--color-grass-25);\n --color-grass-50: var(--color-grass-50);\n --color-grass-100: var(--color-grass-100);\n --color-grass-200: var(--color-grass-200);\n --color-grass-300: var(--color-grass-300);\n --color-grass-400: var(--color-grass-400);\n --color-grass-500: var(--color-grass-500);\n --color-grass-600: var(--color-grass-600);\n --color-grass-700: var(--color-grass-700);\n --color-grass-800: var(--color-grass-800);\n --color-grass-900: var(--color-grass-900);\n --color-grass-1000: var(--color-grass-1000);\n --color-brown-25: var(--color-brown-25);\n --color-brown-50: var(--color-brown-50);\n --color-brown-100: var(--color-brown-100);\n --color-brown-200: var(--color-brown-200);\n --color-brown-300: var(--color-brown-300);\n --color-brown-400: var(--color-brown-400);\n --color-brown-500: var(--color-brown-500);\n --color-brown-600: var(--color-brown-600);\n --color-brown-700: var(--color-brown-700);\n --color-brown-800: var(--color-brown-800);\n --color-brown-900: var(--color-brown-900);\n --color-brown-1000: var(--color-brown-1000);\n --color-orange-25: var(--color-orange-25);\n --color-orange-50: var(--color-orange-50);\n --color-orange-100: var(--color-orange-100);\n --color-orange-200: var(--color-orange-200);\n --color-orange-300: var(--color-orange-300);\n --color-orange-400: var(--color-orange-400);\n --color-orange-500: var(--color-orange-500);\n --color-orange-600: var(--color-orange-600);\n --color-orange-700: var(--color-orange-700);\n --color-orange-800: var(--color-orange-800);\n --color-orange-900: var(--color-orange-900);\n --color-orange-1000: var(--color-orange-1000);\n --color-sky-25: var(--color-sky-25);\n --color-sky-50: var(--color-sky-50);\n --color-sky-100: var(--color-sky-100);\n --color-sky-200: var(--color-sky-200);\n --color-sky-300: var(--color-sky-300);\n --color-sky-400: var(--color-sky-400);\n --color-sky-500: var(--color-sky-500);\n --color-sky-600: var(--color-sky-600);\n --color-sky-700: var(--color-sky-700);\n --color-sky-800: var(--color-sky-800);\n --color-sky-900: var(--color-sky-900);\n --color-sky-1000: var(--color-sky-1000);\n --color-mint-25: var(--color-mint-25);\n --color-mint-50: var(--color-mint-50);\n --color-mint-100: var(--color-mint-100);\n --color-mint-200: var(--color-mint-200);\n --color-mint-300: var(--color-mint-300);\n --color-mint-400: var(--color-mint-400);\n --color-mint-500: var(--color-mint-500);\n --color-mint-600: var(--color-mint-600);\n --color-mint-700: var(--color-mint-700);\n --color-mint-800: var(--color-mint-800);\n --color-mint-900: var(--color-mint-900);\n --color-mint-1000: var(--color-mint-1000);\n --color-lime-25: var(--color-lime-25);\n --color-lime-50: var(--color-lime-50);\n --color-lime-100: var(--color-lime-100);\n --color-lime-200: var(--color-lime-200);\n --color-lime-300: var(--color-lime-300);\n --color-lime-400: var(--color-lime-400);\n --color-lime-500: var(--color-lime-500);\n --color-lime-600: var(--color-lime-600);\n --color-lime-700: var(--color-lime-700);\n --color-lime-800: var(--color-lime-800);\n --color-lime-900: var(--color-lime-900);\n --color-lime-1000: var(--color-lime-1000);\n --color-yellow-25: var(--color-yellow-25);\n --color-yellow-50: var(--color-yellow-50);\n --color-yellow-100: var(--color-yellow-100);\n --color-yellow-200: var(--color-yellow-200);\n --color-yellow-300: var(--color-yellow-300);\n --color-yellow-400: var(--color-yellow-400);\n --color-yellow-500: var(--color-yellow-500);\n --color-yellow-600: var(--color-yellow-600);\n --color-yellow-700: var(--color-yellow-700);\n --color-yellow-800: var(--color-yellow-800);\n --color-yellow-900: var(--color-yellow-900);\n --color-yellow-1000: var(--color-yellow-1000);\n --color-gold-25: var(--color-gold-25);\n --color-gold-50: var(--color-gold-50);\n --color-gold-100: var(--color-gold-100);\n --color-gold-200: var(--color-gold-200);\n --color-gold-300: var(--color-gold-300);\n --color-gold-400: var(--color-gold-400);\n --color-gold-500: var(--color-gold-500);\n --color-gold-600: var(--color-gold-600);\n --color-gold-700: var(--color-gold-700);\n --color-gold-800: var(--color-gold-800);\n --color-gold-900: var(--color-gold-900);\n --color-gold-1000: var(--color-gold-1000);\n --color-bronze-25: var(--color-bronze-25);\n --color-bronze-50: var(--color-bronze-50);\n --color-bronze-100: var(--color-bronze-100);\n --color-bronze-200: var(--color-bronze-200);\n --color-bronze-300: var(--color-bronze-300);\n --color-bronze-400: var(--color-bronze-400);\n --color-bronze-500: var(--color-bronze-500);\n --color-bronze-600: var(--color-bronze-600);\n --color-bronze-700: var(--color-bronze-700);\n --color-bronze-800: var(--color-bronze-800);\n --color-bronze-900: var(--color-bronze-900);\n --color-bronze-1000: var(--color-bronze-1000);\n --animate-flash: flash .8s forwards;\n --background-image-pattern: linear-gradient(180deg, transparent 0%, #fff 100%), linear-gradient(0deg, transparent 0%, #ffffffbf 100%), url(\"data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 40V41H41V40H40ZM39 0V40H41V0H39ZM40 39H0V41H40V39Z' fill='%23E8E8E8' mask='url(%23path-1-inside-1_124_242)'/%3E%3C/svg%3E\");\n }\n}\n\n@layer base {\n *, :after, :before, ::backdrop {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n ::file-selector-button {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n html, :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n line-height: 1.5;\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\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n\n abbr:where([title]) {\n text-decoration: underline dotted;\n }\n\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n\n b, strong {\n font-weight: bolder;\n }\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\n small {\n font-size: 80%;\n }\n\n sub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n\n sub {\n bottom: -.25em;\n }\n\n sup {\n top: -.5em;\n }\n\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n\n :-moz-focusring {\n outline: auto;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n summary {\n display: list-item;\n }\n\n ol, ul, menu {\n list-style: none;\n }\n\n img, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n }\n\n img, video {\n max-width: 100%;\n height: auto;\n }\n\n button, input, select, optgroup, textarea {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n\n ::placeholder {\n opacity: 1;\n }\n\n @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n\n textarea {\n resize: vertical;\n }\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n\n ::-webkit-datetime-edit {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-year-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-month-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-day-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-hour-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-minute-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-second-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-millisecond-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]) {\n appearance: button;\n }\n\n ::file-selector-button {\n appearance: button;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n\n button:not(:disabled), [role=\"button\"]:not(:disabled) {\n cursor: pointer;\n }\n}\n\n@layer components;\n\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n\n .pointer-events-none {\n pointer-events: none;\n }\n\n .invisible {\n visibility: hidden;\n }\n\n .visible {\n visibility: visible;\n }\n\n .sr-only {\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n }\n\n .absolute {\n position: absolute;\n }\n\n .fixed {\n position: fixed;\n }\n\n .relative {\n position: relative;\n }\n\n .static {\n position: static;\n }\n\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n\n .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n\n .-top-12 {\n top: calc(var(--spacing) * -12);\n }\n\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n\n .top-1\\/2 {\n top: 50%;\n }\n\n .top-2 {\n top: calc(var(--spacing) * 2);\n }\n\n .top-6 {\n top: calc(var(--spacing) * 6);\n }\n\n .top-8 {\n top: calc(var(--spacing) * 8);\n }\n\n .top-\\[50\\%\\] {\n top: 50%;\n }\n\n .top-auto {\n top: auto;\n }\n\n .-right-12 {\n right: calc(var(--spacing) * -12);\n }\n\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n\n .-bottom-12 {\n bottom: calc(var(--spacing) * -12);\n }\n\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n\n .bottom-\\[-15px\\] {\n bottom: -15px;\n }\n\n .bottom-\\[1px\\] {\n bottom: 1px;\n }\n\n .-left-12 {\n left: calc(var(--spacing) * -12);\n }\n\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n\n .left-1 {\n left: calc(var(--spacing) * 1);\n }\n\n .left-1\\/2, .left-\\[50\\%\\] {\n left: 50%;\n }\n\n .z-10 {\n z-index: 10;\n }\n\n .z-16 {\n z-index: 16;\n }\n\n .z-20 {\n z-index: 20;\n }\n\n .z-30 {\n z-index: 30;\n }\n\n .z-50 {\n z-index: 50;\n }\n\n .z-100 {\n z-index: 100;\n }\n\n .z-150 {\n z-index: 150;\n }\n\n .z-\\[15\\] {\n z-index: 15;\n }\n\n .z-\\[21\\] {\n z-index: 21;\n }\n\n .container {\n width: 100%;\n }\n\n @media (width >= 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n\n @media (width >= 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n\n @media (width >= 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n\n @media (width >= 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n\n @media (width >= 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n\n .m-auto {\n margin: auto;\n }\n\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n\n .mx-1 {\n margin-inline: calc(var(--spacing) * 1);\n }\n\n .mx-auto {\n margin-inline: auto;\n }\n\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n\n .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n\n .mt-\\[14px\\] {\n margin-top: 14px;\n }\n\n .mt-auto {\n margin-top: auto;\n }\n\n .-mr-2 {\n margin-right: calc(var(--spacing) * -2);\n }\n\n .mr-2\\.5 {\n margin-right: calc(var(--spacing) * 2.5);\n }\n\n .mr-7 {\n margin-right: calc(var(--spacing) * 7);\n }\n\n .mr-9 {\n margin-right: calc(var(--spacing) * 9);\n }\n\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n\n .-ml-4 {\n margin-left: calc(var(--spacing) * -4);\n }\n\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n\n .box-border {\n box-sizing: border-box;\n }\n\n .block {\n display: block;\n }\n\n .contents {\n display: contents;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .inline-block {\n display: inline-block;\n }\n\n .inline-flex {\n display: inline-flex;\n }\n\n .table {\n display: table;\n }\n\n .aspect-square {\n aspect-ratio: 1;\n }\n\n .h-1\\.5 {\n height: calc(var(--spacing) * 1.5);\n }\n\n .h-1\\/2 {\n height: 50%;\n }\n\n .h-1\\/3 {\n height: 33.3333%;\n }\n\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n\n .h-\\[1px\\] {\n height: 1px;\n }\n\n .h-\\[8px\\] {\n height: 8px;\n }\n\n .h-\\[16px\\] {\n height: 16px;\n }\n\n .h-\\[24px\\] {\n height: 24px;\n }\n\n .h-\\[36px\\] {\n height: 36px;\n }\n\n .h-\\[45px\\] {\n height: 45px;\n }\n\n .h-\\[52px\\] {\n height: 52px;\n }\n\n .h-\\[54px\\] {\n height: 54px;\n }\n\n .h-\\[56px\\] {\n height: 56px;\n }\n\n .h-\\[70px\\] {\n height: 70px;\n }\n\n .h-\\[72px\\] {\n height: 72px;\n }\n\n .h-\\[163px\\] {\n height: 163px;\n }\n\n .h-\\[184px\\] {\n height: 184px;\n }\n\n .h-\\[200px\\] {\n height: 200px;\n }\n\n .h-\\[250px\\] {\n height: 250px;\n }\n\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .h-auto {\n height: auto;\n }\n\n .h-auto\\! {\n height: auto !important;\n }\n\n .h-dvh {\n height: 100dvh;\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-px {\n height: 1px;\n }\n\n .max-h-\\[70px\\] {\n max-height: 70px;\n }\n\n .max-h-\\[90dvh\\] {\n max-height: 90dvh;\n }\n\n .max-h-\\[90vh\\] {\n max-height: 90vh;\n }\n\n .max-h-\\[180px\\] {\n max-height: 180px;\n }\n\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n\n .max-h-full {\n max-height: 100%;\n }\n\n .max-h-screen {\n max-height: 100vh;\n }\n\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n\n .min-h-9 {\n min-height: calc(var(--spacing) * 9);\n }\n\n .min-h-\\[80px\\] {\n min-height: 80px;\n }\n\n .w-1\\/3 {\n width: 33.3333%;\n }\n\n .w-1\\/4 {\n width: 25%;\n }\n\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n\n .w-3\\/4 {\n width: 75%;\n }\n\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n\n .w-4\\/5 {\n width: 80%;\n }\n\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n\n .w-14 {\n width: calc(var(--spacing) * 14);\n }\n\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n\n .w-\\[1px\\] {\n width: 1px;\n }\n\n .w-\\[8px\\] {\n width: 8px;\n }\n\n .w-\\[16px\\] {\n width: 16px;\n }\n\n .w-\\[24px\\] {\n width: 24px;\n }\n\n .w-\\[36px\\] {\n width: 36px;\n }\n\n .w-\\[42px\\] {\n width: 42px;\n }\n\n .w-\\[45px\\] {\n width: 45px;\n }\n\n .w-\\[54px\\] {\n width: 54px;\n }\n\n .w-\\[56px\\] {\n width: 56px;\n }\n\n .w-\\[70px\\] {\n width: 70px;\n }\n\n .w-\\[72px\\] {\n width: 72px;\n }\n\n .w-\\[232px\\] {\n width: 232px;\n }\n\n .w-\\[240px\\] {\n width: 240px;\n }\n\n .w-\\[250px\\] {\n width: 250px;\n }\n\n .w-auto {\n width: auto;\n }\n\n .w-dvh {\n width: 100dvh;\n }\n\n .w-fit {\n width: fit-content;\n }\n\n .w-full {\n width: 100%;\n }\n\n .w-max {\n width: max-content;\n }\n\n .max-w-\\[70px\\] {\n max-width: 70px;\n }\n\n .max-w-\\[90vw\\] {\n max-width: 90vw;\n }\n\n .max-w-\\[400px\\] {\n max-width: 400px;\n }\n\n .max-w-\\[416px\\] {\n max-width: 416px;\n }\n\n .max-w-\\[500px\\] {\n max-width: 500px;\n }\n\n .max-w-full {\n max-width: 100%;\n }\n\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n\n .min-w-\\[144px\\] {\n min-width: 144px;\n }\n\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .flex-1 {\n flex: 1;\n }\n\n .shrink-0 {\n flex-shrink: 0;\n }\n\n .grow {\n flex-grow: 1;\n }\n\n .grow-0 {\n flex-grow: 0;\n }\n\n .basis-full {\n flex-basis: 100%;\n }\n\n .caption-bottom {\n caption-side: bottom;\n }\n\n .border-collapse {\n border-collapse: collapse;\n }\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\n .translate-x-0\\.5 {\n --tw-translate-x: calc(var(--spacing) * .5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\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\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .scale-x-\\[-1\\] {\n --tw-scale-x: -1;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\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\n .animate-\\[flash_0\\.8s_forwards\\] {\n animation: .8s forwards flash;\n }\n\n .animate-flash {\n animation: var(--animate-flash);\n }\n\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n\n .animate-spin {\n animation: var(--animate-spin);\n }\n\n .cursor-default {\n cursor: default;\n }\n\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .list-outside {\n list-style-position: outside;\n }\n\n .list-disc {\n list-style-type: disc;\n }\n\n .appearance-none {\n appearance: none;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .flex-row {\n flex-direction: row;\n }\n\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .content-center {\n align-content: center;\n }\n\n .items-center {\n align-items: center;\n }\n\n .items-start {\n align-items: flex-start;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .justify-start {\n justify-content: flex-start;\n }\n\n .gap-0\\.5 {\n gap: calc(var(--spacing) * .5);\n }\n\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .gap-12 {\n gap: calc(var(--spacing) * 12);\n }\n\n .gap-\\[15px\\] {\n gap: 15px;\n }\n\n .gap-\\[inherit\\] {\n gap: inherit;\n }\n\n :where(.space-y-1 > :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 :where(.space-y-1\\.5 > :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 :where(.space-y-4 > :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 :where(.space-y-5 > :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 :where(.space-y-6 > :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 :where(.space-x-1 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));\n }\n\n :where(.divide-x > :not(:last-child)) {\n --tw-divide-x-reverse: 0;\n border-inline-style: var(--tw-border-style);\n border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));\n border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n }\n\n :where(.divide-y > :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 :where(.divide-gray-200 > :not(:last-child)) {\n border-color: var(--color-gray-200);\n }\n\n .self-center {\n align-self: center;\n }\n\n .self-end {\n align-self: flex-end;\n }\n\n .self-start {\n align-self: flex-start;\n }\n\n .justify-self-center {\n justify-self: center;\n }\n\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .overflow-auto {\n overflow: auto;\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-scroll {\n overflow: scroll;\n }\n\n .overflow-visible {\n overflow: visible;\n }\n\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .overflow-y-auto {\n overflow-y: auto;\n }\n\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .overscroll-y-none {\n overscroll-behavior-y: none;\n }\n\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n\n .rounded-\\[3px\\] {\n border-radius: 3px;\n }\n\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n\n .rounded-\\[6px\\] {\n border-radius: 6px;\n }\n\n .rounded-\\[8px\\] {\n border-radius: 8px;\n }\n\n .rounded-\\[10px\\] {\n border-radius: 10px;\n }\n\n .rounded-\\[14px\\] {\n border-radius: 14px;\n }\n\n .rounded-\\[inherit\\] {\n border-radius: inherit;\n }\n\n .rounded-full {\n border-radius: 3.40282e38px;\n }\n\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n\n .rounded-md {\n border-radius: var(--radius-md);\n }\n\n .rounded-none {\n border-radius: 0;\n }\n\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n\n .rounded-t-3xl {\n border-top-left-radius: var(--radius-3xl);\n border-top-right-radius: var(--radius-3xl);\n }\n\n .rounded-b-3xl {\n border-bottom-right-radius: var(--radius-3xl);\n border-bottom-left-radius: var(--radius-3xl);\n }\n\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n\n .border-amber-700 {\n border-color: var(--color-amber-700);\n }\n\n .border-black\\/10 {\n border-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-black\\/10 {\n border-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n\n .border-blue-700 {\n border-color: var(--color-blue-700);\n }\n\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n\n .border-gray-600 {\n border-color: var(--color-gray-600);\n }\n\n .border-red-700 {\n border-color: var(--color-red-700);\n }\n\n .border-transparent {\n border-color: #0000;\n }\n\n .border-white\\/10 {\n border-color: var(--color-white);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-white\\/10 {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n\n .bg-amber-100 {\n background-color: var(--color-amber-100);\n }\n\n .bg-amber-200 {\n background-color: var(--color-amber-200);\n }\n\n .bg-amber-700 {\n background-color: var(--color-amber-700);\n }\n\n .bg-black, .bg-black\\/25 {\n background-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/25 {\n background-color: color-mix(in oklab, var(--color-black) 25%, transparent);\n }\n }\n\n .bg-black\\/50 {\n background-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/50 {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n\n .bg-black\\/80 {\n background-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/80 {\n background-color: color-mix(in oklab, var(--color-black) 80%, transparent);\n }\n }\n\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n\n .bg-blue-300 {\n background-color: var(--color-blue-300);\n }\n\n .bg-blue-700 {\n background-color: var(--color-blue-700);\n }\n\n .bg-bronze-300 {\n background-color: var(--color-bronze-300);\n }\n\n .bg-brown-100 {\n background-color: var(--color-brown-100);\n }\n\n .bg-brown-300 {\n background-color: var(--color-brown-300);\n }\n\n .bg-brown-700 {\n background-color: var(--color-brown-700);\n }\n\n .bg-crimson-100 {\n background-color: var(--color-crimson-100);\n }\n\n .bg-crimson-300 {\n background-color: var(--color-crimson-300);\n }\n\n .bg-crimson-700 {\n background-color: var(--color-crimson-700);\n }\n\n .bg-cyan-100 {\n background-color: var(--color-cyan-100);\n }\n\n .bg-cyan-300 {\n background-color: var(--color-cyan-300);\n }\n\n .bg-cyan-700 {\n background-color: var(--color-cyan-700);\n }\n\n .bg-gold-300 {\n background-color: var(--color-gold-300);\n }\n\n .bg-grass-300 {\n background-color: var(--color-grass-300);\n }\n\n .bg-gray-25, .bg-gray-25\\/50 {\n background-color: var(--color-gray-25);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-25\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-25) 50%, transparent);\n }\n }\n\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .bg-gray-100, .bg-gray-100\\/50 {\n background-color: var(--color-gray-100);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-100\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-100) 50%, transparent);\n }\n }\n\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n\n .bg-gray-600 {\n background-color: var(--color-gray-600);\n }\n\n .bg-gray-800\\/60 {\n background-color: var(--color-gray-800);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-800\\/60 {\n background-color: color-mix(in oklab, var(--color-gray-800) 60%, transparent);\n }\n }\n\n .bg-gray-900 {\n background-color: var(--color-gray-900);\n }\n\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n\n .bg-green-300 {\n background-color: var(--color-green-300);\n }\n\n .bg-green-700 {\n background-color: var(--color-green-700);\n }\n\n .bg-indigo-300 {\n background-color: var(--color-indigo-300);\n }\n\n .bg-inherit {\n background-color: inherit;\n }\n\n .bg-lime-300 {\n background-color: var(--color-lime-300);\n }\n\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n\n .bg-orange-700 {\n background-color: var(--color-orange-700);\n }\n\n .bg-plum-300 {\n background-color: var(--color-plum-300);\n }\n\n .bg-purple-300 {\n background-color: var(--color-purple-300);\n }\n\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n\n .bg-red-300 {\n background-color: var(--color-red-300);\n }\n\n .bg-red-700, .bg-red-700\\/60 {\n background-color: var(--color-red-700);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-red-700\\/60 {\n background-color: color-mix(in oklab, var(--color-red-700) 60%, transparent);\n }\n }\n\n .bg-teal-100 {\n background-color: var(--color-teal-100);\n }\n\n .bg-teal-300 {\n background-color: var(--color-teal-300);\n }\n\n .bg-teal-700 {\n background-color: var(--color-teal-700);\n }\n\n .bg-transparent {\n background-color: #0000;\n }\n\n .bg-violet-100 {\n background-color: var(--color-violet-100);\n }\n\n .bg-violet-300 {\n background-color: var(--color-violet-300);\n }\n\n .bg-violet-700 {\n background-color: var(--color-violet-700);\n }\n\n .bg-white, .bg-white\\/60 {\n background-color: var(--color-white);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-white\\/60 {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n\n .bg-yellow-300 {\n background-color: var(--color-yellow-300);\n }\n\n .bg-cover {\n background-size: cover;\n }\n\n .bg-no-repeat {\n background-repeat: no-repeat;\n }\n\n .fill-\\[inherit\\] {\n fill: inherit;\n }\n\n .fill-gray-400 {\n fill: var(--color-gray-400);\n }\n\n .fill-white {\n fill: var(--color-white);\n }\n\n .object-contain {\n object-fit: contain;\n }\n\n .object-cover {\n object-fit: cover;\n }\n\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n\n .p-\\[11px\\] {\n padding: 11px;\n }\n\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n\n .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * .5);\n }\n\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n\n .py-12 {\n padding-block: calc(var(--spacing) * 12);\n }\n\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n\n .pr-2\\.5 {\n padding-right: calc(var(--spacing) * 2.5);\n }\n\n .pr-3\\.5 {\n padding-right: calc(var(--spacing) * 3.5);\n }\n\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n\n .pb-2\\.5 {\n padding-bottom: calc(var(--spacing) * 2.5);\n }\n\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-left {\n text-align: left;\n }\n\n .align-middle {\n vertical-align: middle;\n }\n\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-2xl--letter-spacing));\n }\n\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-4xl--letter-spacing));\n }\n\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n letter-spacing: var(--tw-tracking, var(--text-lg--letter-spacing));\n }\n\n .text-md {\n font-size: var(--text-md);\n line-height: var(--tw-leading, var(--text-md--line-height));\n letter-spacing: var(--tw-tracking, var(--text-md--letter-spacing));\n }\n\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n letter-spacing: var(--tw-tracking, var(--text-sm--letter-spacing));\n }\n\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-xl--letter-spacing));\n }\n\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n letter-spacing: var(--tw-tracking, var(--text-xs--letter-spacing));\n }\n\n .text-\\[10px\\] {\n font-size: 10px;\n }\n\n .text-\\[30px\\] {\n font-size: 30px;\n }\n\n .text-\\[96px\\] {\n font-size: 96px;\n }\n\n .leading-4 {\n --tw-leading: calc(var(--spacing) * 4);\n line-height: calc(var(--spacing) * 4);\n }\n\n .leading-\\[15px\\] {\n --tw-leading: 15px;\n line-height: 15px;\n }\n\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n\n .font-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n }\n\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .break-words {\n overflow-wrap: break-word;\n }\n\n .wrap-anywhere {\n overflow-wrap: anywhere;\n }\n\n .whitespace-normal {\n white-space: normal;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .whitespace-pre-line {\n white-space: pre-line;\n }\n\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n\n .text-\\[inherit\\] {\n color: inherit;\n }\n\n .text-amber-700 {\n color: var(--color-amber-700);\n }\n\n .text-black, .text-black\\/50 {\n color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .text-black\\/50 {\n color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n\n .text-bronze-700 {\n color: var(--color-bronze-700);\n }\n\n .text-brown-700 {\n color: var(--color-brown-700);\n }\n\n .text-crimson-700 {\n color: var(--color-crimson-700);\n }\n\n .text-current {\n color: currentColor;\n }\n\n .text-cyan-700 {\n color: var(--color-cyan-700);\n }\n\n .text-gold-700 {\n color: var(--color-gold-700);\n }\n\n .text-grass-700 {\n color: var(--color-grass-700);\n }\n\n .text-gray-200 {\n color: var(--color-gray-200);\n }\n\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n\n .text-gray-1000 {\n color: var(--color-gray-1000);\n }\n\n .text-green-700 {\n color: var(--color-green-700);\n }\n\n .text-indigo-700 {\n color: var(--color-indigo-700);\n }\n\n .text-inherit {\n color: inherit;\n }\n\n .text-lime-700 {\n color: var(--color-lime-700);\n }\n\n .text-orange-700 {\n color: var(--color-orange-700);\n }\n\n .text-plum-700 {\n color: var(--color-plum-700);\n }\n\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n\n .text-red-600 {\n color: var(--color-red-600);\n }\n\n .text-red-700 {\n color: var(--color-red-700);\n }\n\n .text-teal-700 {\n color: var(--color-teal-700);\n }\n\n .text-violet-700 {\n color: var(--color-violet-700);\n }\n\n .text-white {\n color: var(--color-white);\n }\n\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .opacity-40 {\n opacity: .4;\n }\n\n .opacity-50 {\n opacity: .5;\n }\n\n .opacity-60 {\n opacity: .6;\n }\n\n .shadow-dropdown-sm {\n --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280f), 0px 1px 3px 0px var(--tw-shadow-color, #1018281a);\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 .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);\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 .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);\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 .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);\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 .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\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\n .ring-\\[3px\\] {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-amber-300 {\n --tw-ring-color: var(--color-amber-300);\n }\n\n .ring-amber-700 {\n --tw-ring-color: var(--color-amber-700);\n }\n\n .ring-black {\n --tw-ring-color: var(--color-black);\n }\n\n .ring-blue-300 {\n --tw-ring-color: var(--color-blue-300);\n }\n\n .ring-blue-700 {\n --tw-ring-color: var(--color-blue-700);\n }\n\n .ring-brown-300 {\n --tw-ring-color: var(--color-brown-300);\n }\n\n .ring-crimson-300 {\n --tw-ring-color: var(--color-crimson-300);\n }\n\n .ring-cyan-300 {\n --tw-ring-color: var(--color-cyan-300);\n }\n\n .ring-gray-100 {\n --tw-ring-color: var(--color-gray-100);\n }\n\n .ring-gray-200 {\n --tw-ring-color: var(--color-gray-200);\n }\n\n .ring-gray-400 {\n --tw-ring-color: var(--color-gray-400);\n }\n\n .ring-green-300 {\n --tw-ring-color: var(--color-green-300);\n }\n\n .ring-green-700 {\n --tw-ring-color: var(--color-green-700);\n }\n\n .ring-orange-300 {\n --tw-ring-color: var(--color-orange-300);\n }\n\n .ring-red-300 {\n --tw-ring-color: var(--color-red-300);\n }\n\n .ring-red-700 {\n --tw-ring-color: var(--color-red-700);\n }\n\n .ring-teal-300 {\n --tw-ring-color: var(--color-teal-300);\n }\n\n .ring-violet-300 {\n --tw-ring-color: var(--color-violet-300);\n }\n\n .ring-offset-0 {\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 .ring-offset-white {\n --tw-ring-offset-color: var(--color-white);\n }\n\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .outline-hidden {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\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\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\n .backdrop-blur-\\[20px\\] {\n --tw-backdrop-blur: blur(20px);\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\n .backdrop-blur-\\[180px\\] {\n --tw-backdrop-blur: blur(180px);\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\n .backdrop-blur-lg {\n --tw-backdrop-blur: blur(var(--blur-lg));\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\n .backdrop-blur-xs {\n --tw-backdrop-blur: blur(var(--blur-xs));\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\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, backdrop-filter, display, visibility, 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\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\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\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\n .duration-200 {\n --tw-duration: .2s;\n transition-duration: .2s;\n }\n\n .duration-300 {\n --tw-duration: .3s;\n transition-duration: .3s;\n }\n\n .duration-500 {\n --tw-duration: .5s;\n transition-duration: .5s;\n }\n\n .duration-700 {\n --tw-duration: .7s;\n transition-duration: .7s;\n }\n\n .ease-\\[cubic-bezier\\(0\\.075\\,0\\.82\\,0\\.165\\,1\\)\\] {\n --tw-ease: cubic-bezier(.075, .82, .165, 1);\n transition-timing-function: cubic-bezier(.075, .82, .165, 1);\n }\n\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n\n .will-change-transform {\n will-change: transform;\n }\n\n .animate-in {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n }\n\n .select-none {\n user-select: none;\n }\n\n .duration-200 {\n animation-duration: .2s;\n }\n\n .duration-300 {\n animation-duration: .3s;\n }\n\n .duration-500 {\n animation-duration: .5s;\n }\n\n .duration-700 {\n animation-duration: .7s;\n }\n\n .ease-\\[cubic-bezier\\(0\\.075\\,0\\.82\\,0\\.165\\,1\\)\\] {\n animation-timing-function: cubic-bezier(.075, .82, .165, 1);\n }\n\n .ease-in-out {\n animation-timing-function: cubic-bezier(.4, 0, .2, 1);\n }\n\n .ease-linear {\n animation-timing-function: linear;\n }\n\n .fade-in-0 {\n --tw-enter-opacity: 0;\n }\n\n .paused {\n animation-play-state: paused;\n }\n\n .ring-inset {\n --tw-ring-inset: inset;\n }\n\n .running {\n animation-play-state: running;\n }\n\n .zoom-in-95 {\n --tw-enter-scale: .95;\n }\n\n :is(.\\*\\:h-full > *) {\n height: 100%;\n }\n\n :is(.\\*\\:w-full > *) {\n width: 100%;\n }\n\n :is(.\\*\\:rounded-\\[14px\\] > *) {\n border-radius: 14px;\n }\n\n :is(.\\*\\:bg-blue-700 > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.\\*\\:fill-black > *) {\n fill: var(--color-black);\n }\n\n :is(.\\*\\:text-gray-700 > *) {\n color: var(--color-gray-700);\n }\n\n :is(.\\*\\:text-white > *) {\n color: var(--color-white);\n }\n\n :is(.\\*\\:opacity-100 > *) {\n opacity: 1;\n }\n\n :is(.\\*\\*\\:items-center *) {\n align-items: center;\n }\n\n :is(.\\*\\*\\:rounded-lg *) {\n border-radius: var(--radius-lg);\n }\n\n .group-focus-within\\:bg-gray-100:is(:where(.group):focus-within *) {\n background-color: var(--color-gray-100);\n }\n\n .group-focus-within\\/mediacard\\:visible:is(:where(.group\\/mediacard):focus-within *) {\n visibility: visible;\n }\n\n @media (hover: hover) {\n .group-hover\\:visible:is(:where(.group):hover *) {\n visibility: visible;\n }\n\n .group-hover\\:flex:is(:where(.group):hover *) {\n display: flex;\n }\n\n .group-hover\\:bg-gray-50:is(:where(.group):hover *) {\n background-color: var(--color-gray-50);\n }\n\n .group-hover\\/mediacard\\:visible:is(:where(.group\\/mediacard):hover *) {\n visibility: visible;\n }\n }\n\n .group-active\\:bg-gray-100:is(:where(.group):active *) {\n background-color: var(--color-gray-100);\n }\n\n .group-data-disabled\\:cursor-not-allowed:is(:where(.group)[data-disabled] *) {\n cursor: not-allowed;\n }\n\n .group-data-disabled\\:opacity-50:is(:where(.group)[data-disabled] *) {\n opacity: .5;\n }\n\n .group-data-\\[state\\=checked\\]\\:bg-gray-50:is(:where(.group)[data-state=\"checked\"] *) {\n background-color: var(--color-gray-50);\n }\n\n .group-data-\\[state\\=off\\]\\:bg-transparent:is(:where(.group)[data-state=\"off\"] *) {\n background-color: #0000;\n }\n\n .group-data-\\[state\\=off\\]\\:text-transparent:is(:where(.group)[data-state=\"off\"] *) {\n color: #0000;\n }\n\n .group-data-\\[state\\=on\\]\\:border-blue-700:is(:where(.group)[data-state=\"on\"] *) {\n border-color: var(--color-blue-700);\n }\n\n .group-data-\\[state\\=open\\]\\:rotate-180:is(:where(.group)[data-state=\"open\"] *) {\n rotate: 180deg;\n }\n\n @media (hover: hover) {\n .peer-hover\\:fill-amber-700:is(:where(.peer):hover ~ *) {\n fill: var(--color-amber-700);\n }\n\n .peer-hover\\:text-amber-700:is(:where(.peer):hover ~ *) {\n color: var(--color-amber-700);\n }\n }\n\n .peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n\n .peer-disabled\\:opacity-70:is(:where(.peer):disabled ~ *) {\n opacity: .7;\n }\n\n .placeholder\\:text-gray-700::placeholder {\n color: var(--color-gray-700);\n }\n\n .placeholder\\:text-gray-900::placeholder {\n color: var(--color-gray-900);\n }\n\n .last\\:pb-0:last-child {\n padding-bottom: calc(var(--spacing) * 0);\n }\n\n .focus-within\\:relative:focus-within {\n position: relative;\n }\n\n .focus-within\\:z-20:focus-within {\n z-index: 20;\n }\n\n .focus-within\\:border-gray-200:focus-within {\n border-color: var(--color-gray-200);\n }\n\n .focus-within\\:bg-gray-100:focus-within {\n background-color: var(--color-gray-100);\n }\n\n .focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n\n .focus-within\\:outline-\\[2px\\]:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n\n .focus-within\\:outline-offset-\\[2px\\]:focus-within {\n outline-offset: 2px;\n }\n\n .focus-within\\:outline-blue-300:focus-within {\n outline-color: var(--color-blue-300);\n }\n\n .focus-within\\:outline-red-700:focus-within {\n outline-color: var(--color-red-700);\n }\n\n @media (hover: hover) {\n .hover\\:border-blue-900:hover {\n border-color: var(--color-blue-900);\n }\n\n .hover\\:border-gray-600:hover {\n border-color: var(--color-gray-600);\n }\n\n .hover\\:border-red-900:hover {\n border-color: var(--color-red-900);\n }\n\n .hover\\:bg-black\\/5:hover {\n background-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .hover\\:bg-black\\/5:hover {\n background-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n }\n\n .hover\\:bg-blue-50:hover {\n background-color: var(--color-blue-50);\n }\n\n .hover\\:bg-blue-100:hover {\n background-color: var(--color-blue-100);\n }\n\n .hover\\:bg-blue-800:hover {\n background-color: var(--color-blue-800);\n }\n\n .hover\\:bg-gray-25:hover {\n background-color: var(--color-gray-25);\n }\n\n .hover\\:bg-gray-50:hover {\n background-color: var(--color-gray-50);\n }\n\n .hover\\:bg-gray-100:hover, .hover\\:bg-gray-100\\/75:hover {\n background-color: var(--color-gray-100);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .hover\\:bg-gray-100\\/75:hover {\n background-color: color-mix(in oklab, var(--color-gray-100) 75%, transparent);\n }\n }\n\n .hover\\:bg-gray-200:hover {\n background-color: var(--color-gray-200);\n }\n\n .hover\\:bg-red-100:hover {\n background-color: var(--color-red-100);\n }\n\n .hover\\:bg-red-800:hover {\n background-color: var(--color-red-800);\n }\n\n .hover\\:fill-amber-700:hover {\n fill: var(--color-amber-700);\n }\n\n .hover\\:text-amber-700:hover {\n color: var(--color-amber-700);\n }\n\n .hover\\:text-black:hover {\n color: var(--color-black);\n }\n\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n\n .hover\\:opacity-100:hover {\n opacity: 1;\n }\n\n :is(.hover\\:\\*\\:bg-blue-700:hover > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.hover\\:\\*\\:text-white:hover > *) {\n color: var(--color-white);\n }\n }\n\n .focus\\:bg-gray-100:focus {\n background-color: var(--color-gray-100);\n }\n\n .focus\\:ring-1: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: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\\:ring-offset-2: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:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .focus\\:outline-hidden:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n :is(.focus\\:\\*\\:bg-blue-700:focus > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.focus\\:\\*\\:text-white:focus > *) {\n color: var(--color-white);\n }\n\n .focus-visible\\:ring-2: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-black:focus-visible {\n --tw-ring-color: var(--color-black);\n }\n\n .focus-visible\\:ring-blue-300:focus-visible {\n --tw-ring-color: var(--color-blue-300);\n }\n\n .focus-visible\\:ring-blue-700:focus-visible {\n --tw-ring-color: var(--color-blue-700);\n }\n\n .focus-visible\\:ring-blue-1000:focus-visible {\n --tw-ring-color: var(--color-blue-1000);\n }\n\n .focus-visible\\:ring-red-700:focus-visible {\n --tw-ring-color: var(--color-red-700);\n }\n\n .focus-visible\\:ring-red-1000:focus-visible {\n --tw-ring-color: var(--color-red-1000);\n }\n\n .focus-visible\\:ring-offset-2: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-hidden:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .focus-visible\\:outline-hidden:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n .active\\:bg-blue-200:active {\n background-color: var(--color-blue-200);\n }\n\n .active\\:bg-blue-900:active {\n background-color: var(--color-blue-900);\n }\n\n .active\\:bg-gray-50:active {\n background-color: var(--color-gray-50);\n }\n\n .active\\:bg-gray-100:active {\n background-color: var(--color-gray-100);\n }\n\n .active\\:bg-gray-200:active {\n background-color: var(--color-gray-200);\n }\n\n .active\\:bg-gray-300:active {\n background-color: var(--color-gray-300);\n }\n\n .active\\:bg-gray-500:active {\n background-color: var(--color-gray-500);\n }\n\n .active\\:bg-red-200:active {\n background-color: var(--color-red-200);\n }\n\n .active\\:bg-red-800:active {\n background-color: var(--color-red-800);\n }\n\n .active\\:bg-red-900:active {\n background-color: var(--color-red-900);\n }\n\n .active\\:text-blue-900:active {\n color: var(--color-blue-900);\n }\n\n .disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n }\n\n .disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n }\n\n .disabled\\:opacity-40:disabled {\n opacity: .4;\n }\n\n .disabled\\:opacity-50:disabled {\n opacity: .5;\n }\n\n .disabled\\:select-none:disabled {\n user-select: none;\n }\n\n :where(.dark-theme) .in-\\[\\.dark-theme\\]\\:bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .aria-selected\\:rounded-md[aria-selected=\"true\"] {\n border-radius: var(--radius-md);\n }\n\n .aria-selected\\:bg-blue-100[aria-selected=\"true\"], :is(.aria-selected\\:\\*\\:bg-blue-100[aria-selected=\"true\"] > *) {\n background-color: var(--color-blue-100);\n }\n\n :is(.aria-selected\\:\\*\\:text-blue-700[aria-selected=\"true\"] > *) {\n color: var(--color-blue-700);\n }\n\n .first\\:aria-selected\\:rounded-l-md:first-child[aria-selected=\"true\"] {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .last\\:aria-selected\\:rounded-r-md:last-child[aria-selected=\"true\"] {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .data-disabled\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n }\n\n .data-disabled\\:cursor-not-allowed[data-disabled] {\n cursor: not-allowed;\n }\n\n .data-disabled\\:opacity-40[data-disabled] {\n opacity: .4;\n }\n\n .data-disabled\\:opacity-50[data-disabled] {\n opacity: .5;\n }\n\n .data-\\[disabled\\=true\\]\\:cursor-not-allowed[data-disabled=\"true\"] {\n cursor: not-allowed;\n }\n\n .data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=\"true\"] {\n opacity: .5;\n }\n\n .data-\\[selected\\=true\\]\\:bg-gray-50[data-selected=\"true\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-\\[side\\=bottom\\]\\:translate-y-1[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\\=bottom\\]\\:slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -.5rem;\n }\n\n .data-\\[side\\=left\\]\\:-translate-x-1[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\\=left\\]\\:slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: .5rem;\n }\n\n .data-\\[side\\=right\\]\\:translate-x-1[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\\=right\\]\\:slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -.5rem;\n }\n\n .data-\\[side\\=top\\]\\:-translate-y-1[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-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: .5rem;\n }\n\n .data-\\[size\\=xxs\\]\\:bg-amber-700[data-size=\"xxs\"] {\n background-color: var(--color-amber-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-blue-700[data-size=\"xxs\"] {\n background-color: var(--color-blue-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-bronze-700[data-size=\"xxs\"] {\n background-color: var(--color-bronze-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-brown-700[data-size=\"xxs\"] {\n background-color: var(--color-brown-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-crimson-700[data-size=\"xxs\"] {\n background-color: var(--color-crimson-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-cyan-700[data-size=\"xxs\"] {\n background-color: var(--color-cyan-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-gold-700[data-size=\"xxs\"] {\n background-color: var(--color-gold-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-grass-700[data-size=\"xxs\"] {\n background-color: var(--color-grass-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-gray-700[data-size=\"xxs\"] {\n background-color: var(--color-gray-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-green-700[data-size=\"xxs\"] {\n background-color: var(--color-green-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-indigo-700[data-size=\"xxs\"] {\n background-color: var(--color-indigo-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-lime-700[data-size=\"xxs\"] {\n background-color: var(--color-lime-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-plum-700[data-size=\"xxs\"] {\n background-color: var(--color-plum-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-purple-700[data-size=\"xxs\"] {\n background-color: var(--color-purple-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-red-700[data-size=\"xxs\"] {\n background-color: var(--color-red-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-teal-700[data-size=\"xxs\"] {\n background-color: var(--color-teal-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-violet-700[data-size=\"xxs\"] {\n background-color: var(--color-violet-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-yellow-700[data-size=\"xxs\"] {\n background-color: var(--color-yellow-700);\n }\n\n .data-\\[state\\=active\\]\\:bg-black[data-state=\"active\"] {\n background-color: var(--color-black);\n }\n\n .data-\\[state\\=active\\]\\:bg-white[data-state=\"active\"] {\n background-color: var(--color-white);\n }\n\n .data-\\[state\\=active\\]\\:text-blue-700[data-state=\"active\"] {\n color: var(--color-blue-700);\n }\n\n .data-\\[state\\=active\\]\\:shadow-xs[data-state=\"active\"] {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);\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\\=checked\\]\\:translate-x-5[data-state=\"checked\"] {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[state\\=checked\\]\\:border-blue-700[data-state=\"checked\"] {\n border-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=checked\\]\\:bg-blue-700[data-state=\"checked\"] {\n background-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=checked\\]\\:bg-gray-50[data-state=\"checked\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-\\[state\\=checked\\]\\:bg-white[data-state=\"checked\"] {\n background-color: var(--color-white);\n }\n\n .data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=\"closed\"] {\n animation: var(--animate-accordion-up);\n }\n\n .data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n --tw-duration: .3s;\n transition-duration: .3s;\n }\n\n .data-\\[state\\=closed\\]\\:animate-out[data-state=\"closed\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n }\n\n .data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n animation-duration: .3s;\n }\n\n .data-\\[state\\=closed\\]\\:fade-out[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n }\n\n .data-\\[state\\=closed\\]\\:fade-out-80[data-state=\"closed\"] {\n --tw-exit-opacity: .8;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:slide-out-to-bottom-\\[100\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n }\n\n .data-\\[state\\=closed\\]\\:zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n }\n\n .data-\\[state\\=on\\]\\:border-blue-700[data-state=\"on\"] {\n border-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=open\\]\\:animate-accordion-down[data-state=\"open\"] {\n animation: var(--animate-accordion-down);\n }\n\n .data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n --tw-duration: .5s;\n transition-duration: .5s;\n }\n\n .data-\\[state\\=open\\]\\:animate-in[data-state=\"open\"] {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n }\n\n .data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n animation-duration: .5s;\n }\n\n .data-\\[state\\=open\\]\\:fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-bottom-\\[100\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-top[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n }\n\n .data-\\[state\\=open\\]\\:zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n }\n\n .data-\\[state\\=selected\\]\\:bg-gray-50[data-state=\"selected\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-disabled\\:data-\\[state\\=unchecked\\]\\:bg-gray-300[data-disabled][data-state=\"unchecked\"] {\n background-color: var(--color-gray-300);\n }\n\n .data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=\"cancel\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=\"end\"] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=end\\]\\:animate-out[data-swipe=\"end\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n }\n\n .data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=\"move\"] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=move\\]\\:transition-none[data-swipe=\"move\"] {\n transition-property: none;\n }\n\n @media not all and (width >= 64rem) {\n .max-lg\\:hidden {\n display: none;\n }\n }\n\n @media not all and (width >= 40rem) {\n .max-sm\\:gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .max-sm\\:p-4 {\n padding: calc(var(--spacing) * 4);\n }\n }\n\n @media (width >= 40rem) {\n .sm\\:mt-0 {\n margin-top: calc(var(--spacing) * 0);\n }\n\n .sm\\:max-w-md {\n max-width: var(--container-md);\n }\n\n .sm\\:max-w-sm {\n max-width: var(--container-sm);\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n :where(.sm\\:space-x-2 > :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 .sm\\:data-\\[state\\=open\\]\\:slide-in-from-bottom-full[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n }\n\n @media (width >= 48rem) {\n .md\\:block {\n display: block;\n }\n\n .md\\:h-\\[550px\\] {\n height: 550px;\n }\n\n .md\\:w-\\[300px\\] {\n width: 300px;\n }\n\n .md\\:w-\\[326px\\] {\n width: 326px;\n }\n\n .md\\:w-\\[1000px\\] {\n width: 1000px;\n }\n\n .md\\:w-auto {\n width: auto;\n }\n\n .md\\:w-fit {\n width: fit-content;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:max-w-\\[90vw\\] {\n max-width: 90vw;\n }\n\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n\n .md\\:min-w-\\[500px\\] {\n min-width: 500px;\n }\n\n .md\\:flex-row {\n flex-direction: row;\n }\n\n .md\\:items-center {\n align-items: center;\n }\n\n .md\\:justify-start {\n justify-content: flex-start;\n }\n\n .md\\:gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n\n .md\\:gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .md\\:gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n\n .md\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n :where(.md\\:divide-y > :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 .md\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .md\\:bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .md\\:bg-transparent {\n background-color: #0000;\n }\n\n .md\\:p-0 {\n padding: calc(var(--spacing) * 0);\n }\n\n .md\\:p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .md\\:p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .md\\:p-8 {\n padding: calc(var(--spacing) * 8);\n }\n }\n\n @media (width >= 64rem) {\n .lg\\:h-14 {\n height: calc(var(--spacing) * 14);\n }\n\n .lg\\:w-14 {\n width: calc(var(--spacing) * 14);\n }\n\n .lg\\:flex-row {\n flex-direction: row;\n }\n\n .lg\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .lg\\:gap-16 {\n gap: calc(var(--spacing) * 16);\n }\n\n .lg\\:bg-pattern {\n background-image: var(--background-image-pattern);\n }\n\n .lg\\:p-20 {\n padding: calc(var(--spacing) * 20);\n }\n\n .lg\\:text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-4xl--letter-spacing));\n }\n\n .lg\\:text-md {\n font-size: var(--text-md);\n line-height: var(--tw-leading, var(--text-md--line-height));\n letter-spacing: var(--tw-tracking, var(--text-md--letter-spacing));\n }\n }\n\n @media (width >= 80rem) {\n .xl\\:rounded-none {\n border-radius: 0;\n }\n }\n\n .dark\\:bg-white\\/50:where(.dark-theme, .dark-theme *) {\n background-color: var(--color-white);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .dark\\:bg-white\\/50:where(.dark-theme, .dark-theme *) {\n background-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n\n .dark\\:fill-black:where(.dark-theme, .dark-theme *) {\n fill: var(--color-black);\n }\n\n .dark\\:text-black:where(.dark-theme, .dark-theme *), :is(.dark\\:\\*\\:text-black:where(.dark-theme, .dark-theme *) > *) {\n color: var(--color-black);\n }\n\n @media (hover: hover) {\n :is(.dark\\:hover\\:\\*\\:text-black:where(.dark-theme, .dark-theme *):hover > *) {\n color: var(--color-black);\n }\n }\n\n :is(.dark\\:focus\\:\\*\\:text-black:where(.dark-theme, .dark-theme *):focus > *), .dark\\:data-\\[state\\=active\\]\\:text-black:where(.dark-theme, .dark-theme *)[data-state=\"active\"] {\n color: var(--color-black);\n }\n\n .dark\\:data-\\[state\\=active\\]\\:text-white:where(.dark-theme, .dark-theme *)[data-state=\"active\"] {\n color: var(--color-white);\n }\n\n .dark\\:data-\\[state\\=checked\\]\\:bg-black:where(.dark-theme, .dark-theme *)[data-state=\"checked\"] {\n background-color: var(--color-black);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-sm [cmdk-group-heading] {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n letter-spacing: var(--tw-tracking, var(--text-sm--letter-spacing));\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-black [cmdk-group-heading] {\n color: var(--color-black);\n }\n\n .\\[\\&_tr\\]\\:border-b tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .\\[\\&_tr\\:active\\]\\:bg-gray-50 tr:active {\n background-color: var(--color-gray-50);\n }\n\n .\\[\\&_tr\\:hover\\]\\:bg-gray-25 tr:hover {\n background-color: var(--color-gray-25);\n }\n\n .\\[\\&_tr\\:hover\\:active\\]\\:bg-gray-50 tr:hover:active {\n background-color: var(--color-gray-50);\n }\n\n .\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .aria-selected\\:\\[\\&\\.day-outside\\]\\:bg-blue-100\\/50[aria-selected=\"true\"].day-outside {\n background-color: var(--color-blue-100);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .aria-selected\\:\\[\\&\\.day-outside\\]\\:bg-blue-100\\/50[aria-selected=\"true\"].day-outside {\n background-color: color-mix(in oklab, var(--color-blue-100) 50%, transparent);\n }\n }\n\n .\\[\\&\\.day-range-end\\]\\:rounded-r-md.day-range-end, .aria-selected\\:\\[\\&\\.day-range-end\\]\\:rounded-r-md[aria-selected=\"true\"].day-range-end {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .\\[\\&\\.day-range-start\\]\\:rounded-l-md.day-range-start {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=\"checkbox\"]) {\n padding-right: calc(var(--spacing) * 0);\n }\n\n .\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\] > [role=\"checkbox\"] {\n --tw-translate-y: 2px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .\\[\\&\\>button\\]\\:w-full > button {\n width: 100%;\n }\n\n .\\[\\&\\>div\\]\\:h-\\[72px\\] > div {\n height: 72px;\n }\n\n .\\[\\&\\>div\\]\\:w-full > div {\n width: 100%;\n }\n\n .\\[\\&\\>svg\\]\\:h-4 > svg {\n height: calc(var(--spacing) * 4);\n }\n\n .\\[\\&\\>svg\\]\\:w-auto > svg {\n width: auto;\n }\n\n .\\[\\&\\>svg\\]\\:text-black > svg {\n color: var(--color-black);\n }\n\n .\\[\\&\\>svg\\]\\:text-blue-700 > svg {\n color: var(--color-blue-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-current > svg {\n color: currentColor;\n }\n\n .\\[\\&\\>svg\\]\\:text-gray-700 > svg {\n color: var(--color-gray-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-red-700 > svg {\n color: var(--color-red-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-white > svg {\n color: var(--color-white);\n }\n\n @media (hover: hover) {\n .hover\\:\\[\\&\\>svg\\]\\:text-black:hover > svg {\n color: var(--color-black);\n }\n }\n\n .dark\\:\\[\\&\\>svg\\]\\:text-black:where(.dark-theme, .dark-theme *) > svg {\n color: var(--color-black);\n }\n}\n\n* {\n box-sizing: border-box;\n -webkit-font-smoothing: antialiased;\n}\n\n:root, .light-theme {\n --color-white: #fff;\n --color-black: #121212;\n --color-gray-25: #fcfcfc;\n --color-gray-50: #f7f7f7;\n --color-gray-100: #f2f2f2;\n --color-gray-200: #ededed;\n --color-gray-300: #e8e8e8;\n --color-gray-400: #e3e3e3;\n --color-gray-500: #dbdbdb;\n --color-gray-600: #c7c7c7;\n --color-gray-700: #8f8f8f;\n --color-gray-800: #858585;\n --color-gray-900: #707070;\n --color-gray-1000: #171717;\n --color-blue-25: #fafcff;\n --color-blue-50: #f5f9ff;\n --color-blue-100: #f0f6ff;\n --color-blue-200: #d7e7fe;\n --color-blue-300: #c7deff;\n --color-blue-400: #b8d5ff;\n --color-blue-500: #85b8ff;\n --color-blue-600: #579dff;\n --color-blue-700: #006aff;\n --color-blue-800: #005bdb;\n --color-blue-900: #004db8;\n --color-blue-1000: #002252;\n --color-red-25: snow;\n --color-red-50: snow;\n --color-red-100: #fff0f0;\n --color-red-200: #ffe5e5;\n --color-red-300: #fdd8d8;\n --color-red-400: #f9c8c8;\n --color-red-500: #f3afb0;\n --color-red-600: #ea8f90;\n --color-red-700: #e5484d;\n --color-red-800: #db3d42;\n --color-red-900: #ce2c31;\n --color-red-1000: #391417;\n --color-amber-25: #fffcf6;\n --color-amber-50: #fffaf2;\n --color-amber-100: #fff9ed;\n --color-amber-200: #fff3de;\n --color-amber-300: #ffefd1;\n --color-amber-400: #ffe8bd;\n --color-amber-500: #ffdd9f;\n --color-amber-600: #ffcf77;\n --color-amber-700: #ffb224;\n --color-amber-800: #f9a710;\n --color-amber-900: #e4980c;\n --color-amber-1000: #4e2009;\n --color-green-25: #fbfefc;\n --color-green-50: #f3fcf5;\n --color-green-100: #ebfaf0;\n --color-green-200: #ddf3e4;\n --color-green-300: #ccebd7;\n --color-green-400: #b4dfc4;\n --color-green-500: #92ceac;\n --color-green-600: #5bb98b;\n --color-green-700: #30a66d;\n --color-green-800: #2a9865;\n --color-green-900: #18774c;\n --color-green-1000: #153226;\n --color-tomato-25: snow;\n --color-tomato-50: #fff6f5;\n --color-tomato-100: #fff1f0;\n --color-tomato-200: #ffe4e0;\n --color-tomato-300: #fdd8d3;\n --color-tomato-400: #fac6bd;\n --color-tomato-500: #f3aea0;\n --color-tomato-600: #ea9280;\n --color-tomato-700: #e54d2e;\n --color-tomato-800: #db4224;\n --color-tomato-900: #cc3314;\n --color-tomato-1000: #361811;\n --color-crimson-25: #fffafc;\n --color-crimson-50: #fff5fa;\n --color-crimson-100: #fef1f7;\n --color-crimson-200: #fce4ef;\n --color-crimson-300: #f9d7e6;\n --color-crimson-400: #f4c7dc;\n --color-crimson-500: #edabc7;\n --color-crimson-600: #e58fb2;\n --color-crimson-700: #ea3e83;\n --color-crimson-800: #e13378;\n --color-crimson-900: #d21e66;\n --color-crimson-1000: #3f0d1e;\n --color-pink-25: #fffafd;\n --color-pink-50: #fff5fb;\n --color-pink-100: #feecf7;\n --color-pink-200: #fce4f3;\n --color-pink-300: #f9d7eb;\n --color-pink-400: #f3c4e1;\n --color-pink-500: #ecacd3;\n --color-pink-600: #e28dc2;\n --color-pink-700: #d742a0;\n --color-pink-800: #d23297;\n --color-pink-900: #cd1d8d;\n --color-pink-1000: #3d0a2b;\n --color-plum-25: #fdfaff;\n --color-plum-50: #fffaff;\n --color-plum-100: #fceefc;\n --color-plum-200: #f9e6f9;\n --color-plum-300: #f3d7f4;\n --color-plum-400: #ecc9ee;\n --color-plum-500: #dfb0e3;\n --color-plum-600: #cf92d9;\n --color-plum-700: #ab4aba;\n --color-plum-800: #a43cb4;\n --color-plum-900: #9a2bab;\n --color-plum-1000: #340c3b;\n --color-purple-25: #fefbfe;\n --color-purple-50: #fdfaff;\n --color-purple-100: #f9f1fe;\n --color-purple-200: #f4e8fc;\n --color-purple-300: #eddcf9;\n --color-purple-400: #e4cdf4;\n --color-purple-500: #d4b5ed;\n --color-purple-600: #bf95e4;\n --color-purple-700: #8e4ec6;\n --color-purple-800: #8344bb;\n --color-purple-900: #793bb0;\n --color-purple-1000: #2b0e44;\n --color-violet-25: #fcfbfe;\n --color-violet-50: #fbfaff;\n --color-violet-100: #f3f0ff;\n --color-violet-200: #ebe7fe;\n --color-violet-300: #e4defc;\n --color-violet-400: #d5cdf9;\n --color-violet-500: #c5b9f3;\n --color-violet-600: #a898ec;\n --color-violet-700: #6d54cf;\n --color-violet-800: #634ec1;\n --color-violet-900: #5746af;\n --color-violet-1000: #1f1249;\n --color-indigo-25: #fcfcfd;\n --color-indigo-50: #fafbff;\n --color-indigo-100: #f0f4ff;\n --color-indigo-200: #e7edfe;\n --color-indigo-300: #d9e2fc;\n --color-indigo-400: #c8d5f9;\n --color-indigo-500: #adbff5;\n --color-indigo-600: #8fa6ef;\n --color-indigo-700: #3c61dd;\n --color-indigo-800: #385bcc;\n --color-indigo-900: #3451b2;\n --color-indigo-1000: #101d47;\n --color-cyan-25: #fbfdfe;\n --color-cyan-50: #f2fcfd;\n --color-cyan-100: #e9f9fb;\n --color-cyan-200: #daf4f7;\n --color-cyan-300: #c3e9ef;\n --color-cyan-400: #a8dee6;\n --color-cyan-500: #85cedb;\n --color-cyan-600: #3fb9cf;\n --color-cyan-700: #05a2c2;\n --color-cyan-800: #0895b4;\n --color-cyan-900: #0c7792;\n --color-cyan-1000: #04323e;\n --color-teal-25: #fbfefd;\n --color-teal-50: #f2fcfa;\n --color-teal-100: #e7f9f5;\n --color-teal-200: #d8f3ed;\n --color-teal-300: #c7ebe5;\n --color-teal-400: #afdfd7;\n --color-teal-500: #8dcec3;\n --color-teal-600: #55b9ac;\n --color-teal-700: #12a594;\n --color-teal-800: #0e9a8a;\n --color-teal-900: #067a6e;\n --color-teal-1000: #11322d;\n --color-grass-25: #fbfefb;\n --color-grass-50: #f3fcf3;\n --color-grass-100: #ebf9eb;\n --color-grass-200: #def2de;\n --color-grass-300: #cceacd;\n --color-grass-400: #b9dfbc;\n --color-grass-500: #96cf9b;\n --color-grass-600: #64b974;\n --color-grass-700: #45a557;\n --color-grass-800: #3d994f;\n --color-grass-900: #297a3a;\n --color-grass-1000: #1b311e;\n --color-brown-25: #fefcfb;\n --color-brown-50: #fcfaf7;\n --color-brown-100: #f9f2ec;\n --color-brown-200: #f4e8dc;\n --color-brown-300: #efddcd;\n --color-brown-400: #e8cdb5;\n --color-brown-500: #ddb997;\n --color-brown-600: #d09e71;\n --color-brown-700: #ad7f58;\n --color-brown-800: #a27653;\n --color-brown-900: #886349;\n --color-brown-1000: #3f2c22;\n --color-orange-25: #fefcfb;\n --color-orange-50: #fef9f6;\n --color-orange-100: #fff0e5;\n --color-orange-200: #ffe8d6;\n --color-orange-300: #ffdbc2;\n --color-orange-400: #ffcca8;\n --color-orange-500: #ffb280;\n --color-orange-600: #fa924c;\n --color-orange-700: #f76808;\n --color-orange-800: #eb5e00;\n --color-orange-900: #bd4b00;\n --color-orange-1000: #451e11;\n --color-sky-25: #fafeff;\n --color-sky-50: #f0fcff;\n --color-sky-100: #e5f9ff;\n --color-sky-200: #d3f3fd;\n --color-sky-300: #c3ecf9;\n --color-sky-400: #a2def1;\n --color-sky-500: #7bd0ea;\n --color-sky-600: #2ebee5;\n --color-sky-700: #68ddfd;\n --color-sky-800: #5dd3f4;\n --color-sky-900: #007aa3;\n --color-sky-1000: #003242;\n --color-mint-25: #fbfefe;\n --color-mint-50: #f1fefa;\n --color-mint-100: #e0fbf3;\n --color-mint-200: #d4f7ee;\n --color-mint-300: #c2efe4;\n --color-mint-400: #a5e4d4;\n --color-mint-500: #7dd4bf;\n --color-mint-600: #40c4aa;\n --color-mint-700: #70e1c8;\n --color-mint-800: #68d9c1;\n --color-mint-900: #147b6d;\n --color-mint-1000: #09342e;\n --color-lime-25: #fdfefb;\n --color-lime-50: #f6fcee;\n --color-lime-100: #eefadb;\n --color-lime-200: #e3f7c5;\n --color-lime-300: #d7f2b0;\n --color-lime-400: #cae996;\n --color-lime-500: #b1d16b;\n --color-lime-600: #94ba2c;\n --color-lime-700: #99d52a;\n --color-lime-800: #93c926;\n --color-lime-900: #5d770d;\n --color-lime-1000: #273409;\n --color-yellow-25: #fcfcf7;\n --color-yellow-50: #fffce5;\n --color-yellow-100: #fffbd1;\n --color-yellow-200: #fff8bd;\n --color-yellow-300: #fef2a4;\n --color-yellow-400: #f9e78b;\n --color-yellow-500: #efd26c;\n --color-yellow-600: #f5d90a;\n --color-yellow-700: #ebbc00;\n --color-yellow-800: #f5cc00;\n --color-yellow-900: #946800;\n --color-yellow-1000: #34280f;\n --color-gold-25: #fdfdfc;\n --color-gold-50: #fbfaf3;\n --color-gold-100: #f6f3ea;\n --color-gold-200: #eeeadd;\n --color-gold-300: #e6e0d1;\n --color-gold-400: #dad1be;\n --color-gold-500: #cbbda4;\n --color-gold-600: #b8a384;\n --color-gold-700: #968264;\n --color-gold-800: #8d7a5e;\n --color-gold-900: #776750;\n --color-gold-1000: #3b352b;\n --color-bronze-25: #fdfcfc;\n --color-bronze-50: #fdf8f7;\n --color-bronze-100: #f8f0ed;\n --color-bronze-200: #f2e8e3;\n --color-bronze-300: #eaddd7;\n --color-bronze-400: #e0cec7;\n --color-bronze-500: #d0b8af;\n --color-bronze-600: #be9f93;\n --color-bronze-700: #a18072;\n --color-bronze-800: #967669;\n --color-bronze-900: #846358;\n --color-bronze-1000: #44312c;\n}\n\n.dark-theme {\n --color-white: #121212;\n --color-black: #fff;\n --color-gray-25: #171717;\n --color-gray-50: #1c1c1c;\n --color-gray-100: #242424;\n --color-gray-200: #292929;\n --color-gray-300: #2e2e2e;\n --color-gray-400: #333;\n --color-gray-500: #3d3d3d;\n --color-gray-600: #4f4f4f;\n --color-gray-700: #707070;\n --color-gray-800: #7d7d7d;\n --color-gray-900: #a1a1a1;\n --color-gray-1000: #ededed;\n --color-blue-25: #0f161f;\n --color-blue-50: #0f1c2e;\n --color-blue-100: #10233d;\n --color-blue-200: #102a4c;\n --color-blue-300: #0f2f57;\n --color-blue-400: #0d3868;\n --color-blue-500: #0a4380;\n --color-blue-600: #0954a5;\n --color-blue-700: #0091ff;\n --color-blue-800: #389fff;\n --color-blue-900: #52a8ff;\n --color-blue-1000: #ebf6ff;\n --color-red-25: #201315;\n --color-red-50: #291415;\n --color-red-100: #3a1719;\n --color-red-200: #471a1d;\n --color-red-300: #551b1f;\n --color-red-400: #671e21;\n --color-red-500: #832126;\n --color-red-600: #a82428;\n --color-red-700: #e5484d;\n --color-red-800: #f2545a;\n --color-red-900: #ff6166;\n --color-red-1000: #feecee;\n --color-amber-25: #1f1300;\n --color-amber-50: #291800;\n --color-amber-100: #331b00;\n --color-amber-200: #3d2100;\n --color-amber-300: #4d2a00;\n --color-amber-400: #573300;\n --color-amber-500: #6b4105;\n --color-amber-600: #804d00;\n --color-amber-700: #ffb224;\n --color-amber-800: #ffbb3d;\n --color-amber-900: #ffc457;\n --color-amber-1000: #fef3dc;\n --color-green-25: #0c1811;\n --color-green-50: #0b1d16;\n --color-green-100: #0f291e;\n --color-green-200: #113123;\n --color-green-300: #133929;\n --color-green-400: #164531;\n --color-green-500: #1b553b;\n --color-green-600: #226d49;\n --color-green-700: #30a66d;\n --color-green-800: #3caf77;\n --color-green-900: #4bc389;\n --color-green-1000: #e5fbea;\n --color-tomato-25: #1c1412;\n --color-tomato-50: #29130f;\n --color-tomato-100: #3a1713;\n --color-tomato-200: #481a14;\n --color-tomato-300: #561d15;\n --color-tomato-400: #642016;\n --color-tomato-500: #7f2315;\n --color-tomato-600: #a52b12;\n --color-tomato-700: #e54d2e;\n --color-tomato-800: #ec5d41;\n --color-tomato-900: #f16b50;\n --color-tomato-1000: #feefec;\n --color-crimson-25: #1e1519;\n --color-crimson-50: #28151d;\n --color-crimson-100: #3a1726;\n --color-crimson-200: #471a2d;\n --color-crimson-300: #551b33;\n --color-crimson-400: #631d3a;\n --color-crimson-500: #811d45;\n --color-crimson-600: #ae1955;\n --color-crimson-700: #ea3e83;\n --color-crimson-800: #f05189;\n --color-crimson-900: #f75f8f;\n --color-crimson-1000: #feecf4;\n --color-pink-25: #20131c;\n --color-pink-50: #281522;\n --color-pink-100: #3a182f;\n --color-pink-200: #461b38;\n --color-pink-300: #501b3f;\n --color-pink-400: #621d4a;\n --color-pink-500: #7c1d5b;\n --color-pink-600: #a51871;\n --color-pink-700: #d742a0;\n --color-pink-800: #e34aa8;\n --color-pink-900: #f65ab5;\n --color-pink-1000: #feecf7;\n --color-plum-25: #1c121c;\n --color-plum-50: #241424;\n --color-plum-100: #331a33;\n --color-plum-200: #3e1c3f;\n --color-plum-300: #48214a;\n --color-plum-400: #552659;\n --color-plum-500: #6b2e70;\n --color-plum-600: #883894;\n --color-plum-700: #ab4aba;\n --color-plum-800: #bc53c6;\n --color-plum-900: #d864d8;\n --color-plum-1000: #fbedfc;\n --color-purple-25: #1c151e;\n --color-purple-50: #231528;\n --color-purple-100: #2e1938;\n --color-purple-200: #3a1e48;\n --color-purple-300: #422154;\n --color-purple-400: #4f2768;\n --color-purple-500: #5f2e85;\n --color-purple-600: #7938b2;\n --color-purple-700: #8e4ec6;\n --color-purple-800: #9c5bd2;\n --color-purple-900: #bf7af0;\n --color-purple-1000: #f8edfc;\n --color-violet-25: #17151e;\n --color-violet-50: #1c172b;\n --color-violet-100: #241d3e;\n --color-violet-200: #2b224f;\n --color-violet-300: #32265e;\n --color-violet-400: #392c72;\n --color-violet-500: #443592;\n --color-violet-600: #5741c3;\n --color-violet-700: #6d54cf;\n --color-violet-800: #7b65dc;\n --color-violet-900: #9f8dfc;\n --color-violet-1000: #efecfe;\n --color-indigo-25: #131620;\n --color-indigo-50: #15192d;\n --color-indigo-100: #18203e;\n --color-indigo-200: #1c274f;\n --color-indigo-300: #1f2c5c;\n --color-indigo-400: #22336d;\n --color-indigo-500: #273f8b;\n --color-indigo-600: #2f4db1;\n --color-indigo-700: #3c61dd;\n --color-indigo-800: #5474e8;\n --color-indigo-900: #859dff;\n --color-indigo-1000: #edf0fd;\n --color-cyan-25: #07191d;\n --color-cyan-50: #061d23;\n --color-cyan-100: #072931;\n --color-cyan-200: #07303b;\n --color-cyan-300: #073945;\n --color-cyan-400: #064251;\n --color-cyan-500: #044f62;\n --color-cyan-600: #006680;\n --color-cyan-700: #05a2c2;\n --color-cyan-800: #00b1cc;\n --color-cyan-900: #00c1d6;\n --color-cyan-1000: #e0f8fa;\n --color-teal-25: #091a16;\n --color-teal-50: #04201b;\n --color-teal-100: #062822;\n --color-teal-200: #07312b;\n --color-teal-300: #083a33;\n --color-teal-400: #09443c;\n --color-teal-500: #0b564c;\n --color-teal-600: #0c6e63;\n --color-teal-700: #12a594;\n --color-teal-800: #10b2a2;\n --color-teal-900: #0ac7b4;\n --color-teal-1000: #e0faf4;\n --color-grass-25: #0c1811;\n --color-grass-50: #0f1f13;\n --color-grass-100: #142a1a;\n --color-grass-200: #16311e;\n --color-grass-300: #193921;\n --color-grass-400: #1d4427;\n --color-grass-500: #255631;\n --color-grass-600: #2f6f3b;\n --color-grass-700: #45a557;\n --color-grass-800: #55b466;\n --color-grass-900: #62c073;\n --color-grass-1000: #e5fbea;\n --color-brown-25: #1a1614;\n --color-brown-50: #211712;\n --color-brown-100: #2e201a;\n --color-brown-200: #35251d;\n --color-brown-300: #3f2c22;\n --color-brown-400: #483528;\n --color-brown-500: #5d4332;\n --color-brown-600: #775940;\n --color-brown-700: #ad7f58;\n --color-brown-800: #bd8c61;\n --color-brown-900: #dba270;\n --color-brown-1000: #faf0e5;\n --color-orange-25: #1e1106;\n --color-orange-50: #291300;\n --color-orange-100: #3a1b03;\n --color-orange-200: #431e04;\n --color-orange-300: #4d2205;\n --color-orange-400: #602a06;\n --color-orange-500: #763205;\n --color-orange-600: #943e00;\n --color-orange-700: #f76808;\n --color-orange-800: #ff7e29;\n --color-orange-900: #ff8b3d;\n --color-orange-1000: #feeadc;\n --color-sky-25: #0d1921;\n --color-sky-50: #071e2c;\n --color-sky-100: #082535;\n --color-sky-200: #082c40;\n --color-sky-300: #08344a;\n --color-sky-400: #083e59;\n --color-sky-500: #064a6a;\n --color-sky-600: #005d85;\n --color-sky-700: #68ddfd;\n --color-sky-800: #8ae8ff;\n --color-sky-900: #2fc8ee;\n --color-sky-1000: #ebf8ff;\n --color-mint-25: #071715;\n --color-mint-50: #051f1d;\n --color-mint-100: #052926;\n --color-mint-200: #042f2a;\n --color-mint-300: #033a34;\n --color-mint-400: #01463e;\n --color-mint-500: #00574b;\n --color-mint-600: #006b59;\n --color-mint-700: #70e1c8;\n --color-mint-800: #95f3d9;\n --color-mint-900: #25d0ab;\n --color-mint-1000: #e8fcf8;\n --color-lime-25: #141807;\n --color-lime-50: #171c08;\n --color-lime-100: #1e260d;\n --color-lime-200: #252e0f;\n --color-lime-300: #2b3711;\n --color-lime-400: #354314;\n --color-lime-500: #405115;\n --color-lime-600: #546916;\n --color-lime-700: #99d52a;\n --color-lime-800: #c4f042;\n --color-lime-900: #88bf22;\n --color-lime-1000: #f0fbdf;\n --color-yellow-25: #1a1300;\n --color-yellow-50: #241b00;\n --color-yellow-100: #2e2200;\n --color-yellow-200: #332600;\n --color-yellow-300: #3d2f00;\n --color-yellow-400: #473a00;\n --color-yellow-500: #574805;\n --color-yellow-600: #705e00;\n --color-yellow-700: #f5d90a;\n --color-yellow-800: #ffef5c;\n --color-yellow-900: #f0c000;\n --color-yellow-1000: #fffad1;\n --color-gold-25: #161512;\n --color-gold-50: #1d1b16;\n --color-gold-100: #26231c;\n --color-gold-200: #2c2920;\n --color-gold-300: #353027;\n --color-gold-400: #3f392c;\n --color-gold-500: #4f4636;\n --color-gold-600: #6b5d47;\n --color-gold-700: #968264;\n --color-gold-800: #a59173;\n --color-gold-900: #bfa888;\n --color-gold-1000: #f7f5e8;\n --color-bronze-25: #191514;\n --color-bronze-50: #201a18;\n --color-bronze-100: #29201e;\n --color-bronze-200: #332824;\n --color-bronze-300: #3c2f2a;\n --color-bronze-400: #453530;\n --color-bronze-500: #57443d;\n --color-bronze-600: #74594e;\n --color-bronze-700: #a18072;\n --color-bronze-800: #b08c7d;\n --color-bronze-900: #cca494;\n --color-bronze-1000: #f9ede7;\n}\n\n.inter {\n font-family: Inter, sans-serif;\n}\n\n@supports (font-variation-settings: normal) {\n .inter {\n font-family: Inter var, sans-serif;\n }\n}\n\n.pulse-red-700 {\n animation: 2s infinite pulse-red-700;\n transform: scale(1);\n box-shadow: 0 0 #e5484d;\n}\n\n@keyframes pulse-red-700 {\n 0% {\n transform: scale(.95);\n box-shadow: 0 0 #e5484db3;\n }\n\n 70% {\n transform: scale(1);\n box-shadow: 0 0 0 6px #e5484d00;\n }\n\n to {\n transform: scale(.95);\n box-shadow: 0 0 #e5484d00;\n }\n}\n\n::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n}\n\n@keyframes enter {\n 0% {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-divide-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-leading {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-duration {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ease {\n syntax: \"*\";\n inherits: false\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes accordion-down {\n 0% {\n height: 0;\n }\n\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n@keyframes accordion-up {\n 0% {\n height: var(--radix-accordion-content-height);\n }\n\n to {\n height: 0;\n }\n}\n\n@keyframes flash {\n 0% {\n opacity: .9;\n }\n\n to {\n opacity: 0;\n }\n}\n";
14326
+ $54541b0286afc2de$exports = "/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\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-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-x-reverse: 0;\n --tw-border-style: solid;\n --tw-divide-y-reverse: 0;\n --tw-leading: initial;\n --tw-font-weight: 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 }\n }\n}\n\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --spacing: .25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\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 --radius-sm: .25rem;\n --radius-md: .375rem;\n --radius-lg: .5rem;\n --radius-xl: .75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --ease-in-out: cubic-bezier(.4, 0, .2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;\n --blur-xs: 4px;\n --blur-lg: 16px;\n --default-transition-duration: .15s;\n --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --text-xs: 12px;\n --text-xs--line-height: 16px;\n --text-xs--letter-spacing: -.02em;\n --text-sm: 14px;\n --text-sm--line-height: 20px;\n --text-sm--letter-spacing: -.02em;\n --text-md: 16px;\n --text-md--line-height: 20px;\n --text-md--letter-spacing: -.02em;\n --text-lg: 18px;\n --text-lg--line-height: 22px;\n --text-lg--letter-spacing: -.02em;\n --text-xl: 20px;\n --text-xl--line-height: 24px;\n --text-xl--letter-spacing: -.02em;\n --text-2xl: 24px;\n --text-2xl--line-height: 32px;\n --text-2xl--letter-spacing: -.02em;\n --text-3xl: 30px;\n --text-3xl--line-height: 38px;\n --text-3xl--letter-spacing: -.02em;\n --text-4xl: 36px;\n --text-4xl--line-height: 44px;\n --text-4xl--letter-spacing: -.02em;\n --text-5xl: 48px;\n --text-5xl--line-height: 60px;\n --text-5xl--letter-spacing: -.02em;\n --text-6xl: 60px;\n --text-6xl--line-height: 72px;\n --text-6xl--letter-spacing: -.02em;\n --text-7xl: 72px;\n --text-7xl--line-height: 90px;\n --text-7xl--letter-spacing: -.02em;\n --animate-accordion-down: accordion-down .2s ease-out;\n --animate-accordion-up: accordion-up .2s ease-out;\n --color-black: var(--color-black);\n --color-white: var(--color-white);\n --color-gray-25: var(--color-gray-25);\n --color-gray-50: var(--color-gray-50);\n --color-gray-100: var(--color-gray-100);\n --color-gray-200: var(--color-gray-200);\n --color-gray-300: var(--color-gray-300);\n --color-gray-400: var(--color-gray-400);\n --color-gray-500: var(--color-gray-500);\n --color-gray-600: var(--color-gray-600);\n --color-gray-700: var(--color-gray-700);\n --color-gray-800: var(--color-gray-800);\n --color-gray-900: var(--color-gray-900);\n --color-gray-1000: var(--color-gray-1000);\n --color-blue-25: var(--color-blue-25);\n --color-blue-50: var(--color-blue-50);\n --color-blue-100: var(--color-blue-100);\n --color-blue-200: var(--color-blue-200);\n --color-blue-300: var(--color-blue-300);\n --color-blue-400: var(--color-blue-400);\n --color-blue-500: var(--color-blue-500);\n --color-blue-600: var(--color-blue-600);\n --color-blue-700: var(--color-blue-700);\n --color-blue-800: var(--color-blue-800);\n --color-blue-900: var(--color-blue-900);\n --color-blue-1000: var(--color-blue-1000);\n --color-red-25: var(--color-red-25);\n --color-red-50: var(--color-red-50);\n --color-red-100: var(--color-red-100);\n --color-red-200: var(--color-red-200);\n --color-red-300: var(--color-red-300);\n --color-red-400: var(--color-red-400);\n --color-red-500: var(--color-red-500);\n --color-red-600: var(--color-red-600);\n --color-red-700: var(--color-red-700);\n --color-red-800: var(--color-red-800);\n --color-red-900: var(--color-red-900);\n --color-red-1000: var(--color-red-1000);\n --color-amber-25: var(--color-amber-25);\n --color-amber-50: var(--color-amber-50);\n --color-amber-100: var(--color-amber-100);\n --color-amber-200: var(--color-amber-200);\n --color-amber-300: var(--color-amber-300);\n --color-amber-400: var(--color-amber-400);\n --color-amber-500: var(--color-amber-500);\n --color-amber-600: var(--color-amber-600);\n --color-amber-700: var(--color-amber-700);\n --color-amber-800: var(--color-amber-800);\n --color-amber-900: var(--color-amber-900);\n --color-amber-1000: var(--color-amber-1000);\n --color-green-25: var(--color-green-25);\n --color-green-50: var(--color-green-50);\n --color-green-100: var(--color-green-100);\n --color-green-200: var(--color-green-200);\n --color-green-300: var(--color-green-300);\n --color-green-400: var(--color-green-400);\n --color-green-500: var(--color-green-500);\n --color-green-600: var(--color-green-600);\n --color-green-700: var(--color-green-700);\n --color-green-800: var(--color-green-800);\n --color-green-900: var(--color-green-900);\n --color-green-1000: var(--color-green-1000);\n --color-tomato-25: var(--color-tomato-25);\n --color-tomato-50: var(--color-tomato-50);\n --color-tomato-100: var(--color-tomato-100);\n --color-tomato-200: var(--color-tomato-200);\n --color-tomato-300: var(--color-tomato-300);\n --color-tomato-400: var(--color-tomato-400);\n --color-tomato-500: var(--color-tomato-500);\n --color-tomato-600: var(--color-tomato-600);\n --color-tomato-700: var(--color-tomato-700);\n --color-tomato-800: var(--color-tomato-800);\n --color-tomato-900: var(--color-tomato-900);\n --color-tomato-1000: var(--color-tomato-1000);\n --color-crimson-25: var(--color-crimson-25);\n --color-crimson-50: var(--color-crimson-50);\n --color-crimson-100: var(--color-crimson-100);\n --color-crimson-200: var(--color-crimson-200);\n --color-crimson-300: var(--color-crimson-300);\n --color-crimson-400: var(--color-crimson-400);\n --color-crimson-500: var(--color-crimson-500);\n --color-crimson-600: var(--color-crimson-600);\n --color-crimson-700: var(--color-crimson-700);\n --color-crimson-800: var(--color-crimson-800);\n --color-crimson-900: var(--color-crimson-900);\n --color-crimson-1000: var(--color-crimson-1000);\n --color-pink-25: var(--color-pink-25);\n --color-pink-50: var(--color-pink-50);\n --color-pink-100: var(--color-pink-100);\n --color-pink-200: var(--color-pink-200);\n --color-pink-300: var(--color-pink-300);\n --color-pink-400: var(--color-pink-400);\n --color-pink-500: var(--color-pink-500);\n --color-pink-600: var(--color-pink-600);\n --color-pink-700: var(--color-pink-700);\n --color-pink-800: var(--color-pink-800);\n --color-pink-900: var(--color-pink-900);\n --color-pink-1000: var(--color-pink-1000);\n --color-plum-25: var(--color-plum-25);\n --color-plum-50: var(--color-plum-50);\n --color-plum-100: var(--color-plum-100);\n --color-plum-200: var(--color-plum-200);\n --color-plum-300: var(--color-plum-300);\n --color-plum-400: var(--color-plum-400);\n --color-plum-500: var(--color-plum-500);\n --color-plum-600: var(--color-plum-600);\n --color-plum-700: var(--color-plum-700);\n --color-plum-800: var(--color-plum-800);\n --color-plum-900: var(--color-plum-900);\n --color-plum-1000: var(--color-plum-1000);\n --color-purple-25: var(--color-purple-25);\n --color-purple-50: var(--color-purple-50);\n --color-purple-100: var(--color-purple-100);\n --color-purple-200: var(--color-purple-200);\n --color-purple-300: var(--color-purple-300);\n --color-purple-400: var(--color-purple-400);\n --color-purple-500: var(--color-purple-500);\n --color-purple-600: var(--color-purple-600);\n --color-purple-700: var(--color-purple-700);\n --color-purple-800: var(--color-purple-800);\n --color-purple-900: var(--color-purple-900);\n --color-purple-1000: var(--color-purple-1000);\n --color-violet-25: var(--color-violet-25);\n --color-violet-50: var(--color-violet-50);\n --color-violet-100: var(--color-violet-100);\n --color-violet-200: var(--color-violet-200);\n --color-violet-300: var(--color-violet-300);\n --color-violet-400: var(--color-violet-400);\n --color-violet-500: var(--color-violet-500);\n --color-violet-600: var(--color-violet-600);\n --color-violet-700: var(--color-violet-700);\n --color-violet-800: var(--color-violet-800);\n --color-violet-900: var(--color-violet-900);\n --color-violet-1000: var(--color-violet-1000);\n --color-indigo-25: var(--color-indigo-25);\n --color-indigo-50: var(--color-indigo-50);\n --color-indigo-100: var(--color-indigo-100);\n --color-indigo-200: var(--color-indigo-200);\n --color-indigo-300: var(--color-indigo-300);\n --color-indigo-400: var(--color-indigo-400);\n --color-indigo-500: var(--color-indigo-500);\n --color-indigo-600: var(--color-indigo-600);\n --color-indigo-700: var(--color-indigo-700);\n --color-indigo-800: var(--color-indigo-800);\n --color-indigo-900: var(--color-indigo-900);\n --color-indigo-1000: var(--color-indigo-1000);\n --color-cyan-25: var(--color-cyan-25);\n --color-cyan-50: var(--color-cyan-50);\n --color-cyan-100: var(--color-cyan-100);\n --color-cyan-200: var(--color-cyan-200);\n --color-cyan-300: var(--color-cyan-300);\n --color-cyan-400: var(--color-cyan-400);\n --color-cyan-500: var(--color-cyan-500);\n --color-cyan-600: var(--color-cyan-600);\n --color-cyan-700: var(--color-cyan-700);\n --color-cyan-800: var(--color-cyan-800);\n --color-cyan-900: var(--color-cyan-900);\n --color-cyan-1000: var(--color-cyan-1000);\n --color-teal-25: var(--color-teal-25);\n --color-teal-50: var(--color-teal-50);\n --color-teal-100: var(--color-teal-100);\n --color-teal-200: var(--color-teal-200);\n --color-teal-300: var(--color-teal-300);\n --color-teal-400: var(--color-teal-400);\n --color-teal-500: var(--color-teal-500);\n --color-teal-600: var(--color-teal-600);\n --color-teal-700: var(--color-teal-700);\n --color-teal-800: var(--color-teal-800);\n --color-teal-900: var(--color-teal-900);\n --color-teal-1000: var(--color-teal-1000);\n --color-grass-25: var(--color-grass-25);\n --color-grass-50: var(--color-grass-50);\n --color-grass-100: var(--color-grass-100);\n --color-grass-200: var(--color-grass-200);\n --color-grass-300: var(--color-grass-300);\n --color-grass-400: var(--color-grass-400);\n --color-grass-500: var(--color-grass-500);\n --color-grass-600: var(--color-grass-600);\n --color-grass-700: var(--color-grass-700);\n --color-grass-800: var(--color-grass-800);\n --color-grass-900: var(--color-grass-900);\n --color-grass-1000: var(--color-grass-1000);\n --color-brown-25: var(--color-brown-25);\n --color-brown-50: var(--color-brown-50);\n --color-brown-100: var(--color-brown-100);\n --color-brown-200: var(--color-brown-200);\n --color-brown-300: var(--color-brown-300);\n --color-brown-400: var(--color-brown-400);\n --color-brown-500: var(--color-brown-500);\n --color-brown-600: var(--color-brown-600);\n --color-brown-700: var(--color-brown-700);\n --color-brown-800: var(--color-brown-800);\n --color-brown-900: var(--color-brown-900);\n --color-brown-1000: var(--color-brown-1000);\n --color-orange-25: var(--color-orange-25);\n --color-orange-50: var(--color-orange-50);\n --color-orange-100: var(--color-orange-100);\n --color-orange-200: var(--color-orange-200);\n --color-orange-300: var(--color-orange-300);\n --color-orange-400: var(--color-orange-400);\n --color-orange-500: var(--color-orange-500);\n --color-orange-600: var(--color-orange-600);\n --color-orange-700: var(--color-orange-700);\n --color-orange-800: var(--color-orange-800);\n --color-orange-900: var(--color-orange-900);\n --color-orange-1000: var(--color-orange-1000);\n --color-sky-25: var(--color-sky-25);\n --color-sky-50: var(--color-sky-50);\n --color-sky-100: var(--color-sky-100);\n --color-sky-200: var(--color-sky-200);\n --color-sky-300: var(--color-sky-300);\n --color-sky-400: var(--color-sky-400);\n --color-sky-500: var(--color-sky-500);\n --color-sky-600: var(--color-sky-600);\n --color-sky-700: var(--color-sky-700);\n --color-sky-800: var(--color-sky-800);\n --color-sky-900: var(--color-sky-900);\n --color-sky-1000: var(--color-sky-1000);\n --color-mint-25: var(--color-mint-25);\n --color-mint-50: var(--color-mint-50);\n --color-mint-100: var(--color-mint-100);\n --color-mint-200: var(--color-mint-200);\n --color-mint-300: var(--color-mint-300);\n --color-mint-400: var(--color-mint-400);\n --color-mint-500: var(--color-mint-500);\n --color-mint-600: var(--color-mint-600);\n --color-mint-700: var(--color-mint-700);\n --color-mint-800: var(--color-mint-800);\n --color-mint-900: var(--color-mint-900);\n --color-mint-1000: var(--color-mint-1000);\n --color-lime-25: var(--color-lime-25);\n --color-lime-50: var(--color-lime-50);\n --color-lime-100: var(--color-lime-100);\n --color-lime-200: var(--color-lime-200);\n --color-lime-300: var(--color-lime-300);\n --color-lime-400: var(--color-lime-400);\n --color-lime-500: var(--color-lime-500);\n --color-lime-600: var(--color-lime-600);\n --color-lime-700: var(--color-lime-700);\n --color-lime-800: var(--color-lime-800);\n --color-lime-900: var(--color-lime-900);\n --color-lime-1000: var(--color-lime-1000);\n --color-yellow-25: var(--color-yellow-25);\n --color-yellow-50: var(--color-yellow-50);\n --color-yellow-100: var(--color-yellow-100);\n --color-yellow-200: var(--color-yellow-200);\n --color-yellow-300: var(--color-yellow-300);\n --color-yellow-400: var(--color-yellow-400);\n --color-yellow-500: var(--color-yellow-500);\n --color-yellow-600: var(--color-yellow-600);\n --color-yellow-700: var(--color-yellow-700);\n --color-yellow-800: var(--color-yellow-800);\n --color-yellow-900: var(--color-yellow-900);\n --color-yellow-1000: var(--color-yellow-1000);\n --color-gold-25: var(--color-gold-25);\n --color-gold-50: var(--color-gold-50);\n --color-gold-100: var(--color-gold-100);\n --color-gold-200: var(--color-gold-200);\n --color-gold-300: var(--color-gold-300);\n --color-gold-400: var(--color-gold-400);\n --color-gold-500: var(--color-gold-500);\n --color-gold-600: var(--color-gold-600);\n --color-gold-700: var(--color-gold-700);\n --color-gold-800: var(--color-gold-800);\n --color-gold-900: var(--color-gold-900);\n --color-gold-1000: var(--color-gold-1000);\n --color-bronze-25: var(--color-bronze-25);\n --color-bronze-50: var(--color-bronze-50);\n --color-bronze-100: var(--color-bronze-100);\n --color-bronze-200: var(--color-bronze-200);\n --color-bronze-300: var(--color-bronze-300);\n --color-bronze-400: var(--color-bronze-400);\n --color-bronze-500: var(--color-bronze-500);\n --color-bronze-600: var(--color-bronze-600);\n --color-bronze-700: var(--color-bronze-700);\n --color-bronze-800: var(--color-bronze-800);\n --color-bronze-900: var(--color-bronze-900);\n --color-bronze-1000: var(--color-bronze-1000);\n --animate-flash: flash .8s forwards;\n --background-image-pattern: linear-gradient(180deg, transparent 0%, #fff 100%), linear-gradient(0deg, transparent 0%, #ffffffbf 100%), url(\"data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 40V41H41V40H40ZM39 0V40H41V0H39ZM40 39H0V41H40V39Z' fill='%23E8E8E8' mask='url(%23path-1-inside-1_124_242)'/%3E%3C/svg%3E\");\n }\n}\n\n@layer base {\n *, :after, :before, ::backdrop {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n ::file-selector-button {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n html, :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n line-height: 1.5;\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\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n\n abbr:where([title]) {\n text-decoration: underline dotted;\n }\n\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n\n b, strong {\n font-weight: bolder;\n }\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\n small {\n font-size: 80%;\n }\n\n sub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n\n sub {\n bottom: -.25em;\n }\n\n sup {\n top: -.5em;\n }\n\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n\n :-moz-focusring {\n outline: auto;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n summary {\n display: list-item;\n }\n\n ol, ul, menu {\n list-style: none;\n }\n\n img, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n }\n\n img, video {\n max-width: 100%;\n height: auto;\n }\n\n button, input, select, optgroup, textarea {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n\n ::placeholder {\n opacity: 1;\n }\n\n @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n\n textarea {\n resize: vertical;\n }\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n\n ::-webkit-datetime-edit {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-year-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-month-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-day-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-hour-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-minute-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-second-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-millisecond-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]) {\n appearance: button;\n }\n\n ::file-selector-button {\n appearance: button;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n\n button:not(:disabled), [role=\"button\"]:not(:disabled) {\n cursor: pointer;\n }\n}\n\n@layer components;\n\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n\n .pointer-events-none {\n pointer-events: none;\n }\n\n .invisible {\n visibility: hidden;\n }\n\n .visible {\n visibility: visible;\n }\n\n .sr-only {\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n }\n\n .absolute {\n position: absolute;\n }\n\n .fixed {\n position: fixed;\n }\n\n .relative {\n position: relative;\n }\n\n .static {\n position: static;\n }\n\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n\n .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n\n .-top-12 {\n top: calc(var(--spacing) * -12);\n }\n\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n\n .top-1\\/2 {\n top: 50%;\n }\n\n .top-2 {\n top: calc(var(--spacing) * 2);\n }\n\n .top-6 {\n top: calc(var(--spacing) * 6);\n }\n\n .top-8 {\n top: calc(var(--spacing) * 8);\n }\n\n .top-\\[50\\%\\] {\n top: 50%;\n }\n\n .top-auto {\n top: auto;\n }\n\n .-right-12 {\n right: calc(var(--spacing) * -12);\n }\n\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n\n .-bottom-12 {\n bottom: calc(var(--spacing) * -12);\n }\n\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n\n .bottom-\\[-15px\\] {\n bottom: -15px;\n }\n\n .bottom-\\[1px\\] {\n bottom: 1px;\n }\n\n .-left-12 {\n left: calc(var(--spacing) * -12);\n }\n\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n\n .left-1 {\n left: calc(var(--spacing) * 1);\n }\n\n .left-1\\/2, .left-\\[50\\%\\] {\n left: 50%;\n }\n\n .z-10 {\n z-index: 10;\n }\n\n .z-16 {\n z-index: 16;\n }\n\n .z-20 {\n z-index: 20;\n }\n\n .z-30 {\n z-index: 30;\n }\n\n .z-50 {\n z-index: 50;\n }\n\n .z-98 {\n z-index: 98;\n }\n\n .z-100 {\n z-index: 100;\n }\n\n .z-150 {\n z-index: 150;\n }\n\n .z-\\[15\\] {\n z-index: 15;\n }\n\n .z-\\[21\\] {\n z-index: 21;\n }\n\n .container {\n width: 100%;\n }\n\n @media (width >= 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n\n @media (width >= 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n\n @media (width >= 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n\n @media (width >= 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n\n @media (width >= 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n\n .m-auto {\n margin: auto;\n }\n\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n\n .mx-1 {\n margin-inline: calc(var(--spacing) * 1);\n }\n\n .mx-auto {\n margin-inline: auto;\n }\n\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n\n .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n\n .mt-\\[14px\\] {\n margin-top: 14px;\n }\n\n .mt-auto {\n margin-top: auto;\n }\n\n .-mr-2 {\n margin-right: calc(var(--spacing) * -2);\n }\n\n .mr-2\\.5 {\n margin-right: calc(var(--spacing) * 2.5);\n }\n\n .mr-7 {\n margin-right: calc(var(--spacing) * 7);\n }\n\n .mr-9 {\n margin-right: calc(var(--spacing) * 9);\n }\n\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n\n .-ml-4 {\n margin-left: calc(var(--spacing) * -4);\n }\n\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n\n .box-border {\n box-sizing: border-box;\n }\n\n .block {\n display: block;\n }\n\n .contents {\n display: contents;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .inline-block {\n display: inline-block;\n }\n\n .inline-flex {\n display: inline-flex;\n }\n\n .table {\n display: table;\n }\n\n .aspect-square {\n aspect-ratio: 1;\n }\n\n .h-1\\.5 {\n height: calc(var(--spacing) * 1.5);\n }\n\n .h-1\\/2 {\n height: 50%;\n }\n\n .h-1\\/3 {\n height: 33.3333%;\n }\n\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n\n .h-\\[1px\\] {\n height: 1px;\n }\n\n .h-\\[8px\\] {\n height: 8px;\n }\n\n .h-\\[16px\\] {\n height: 16px;\n }\n\n .h-\\[24px\\] {\n height: 24px;\n }\n\n .h-\\[36px\\] {\n height: 36px;\n }\n\n .h-\\[45px\\] {\n height: 45px;\n }\n\n .h-\\[52px\\] {\n height: 52px;\n }\n\n .h-\\[54px\\] {\n height: 54px;\n }\n\n .h-\\[56px\\] {\n height: 56px;\n }\n\n .h-\\[70px\\] {\n height: 70px;\n }\n\n .h-\\[72px\\] {\n height: 72px;\n }\n\n .h-\\[163px\\] {\n height: 163px;\n }\n\n .h-\\[184px\\] {\n height: 184px;\n }\n\n .h-\\[200px\\] {\n height: 200px;\n }\n\n .h-\\[250px\\] {\n height: 250px;\n }\n\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .h-auto {\n height: auto;\n }\n\n .h-auto\\! {\n height: auto !important;\n }\n\n .h-dvh {\n height: 100dvh;\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-px {\n height: 1px;\n }\n\n .max-h-\\[70px\\] {\n max-height: 70px;\n }\n\n .max-h-\\[75dvh\\] {\n max-height: 75dvh;\n }\n\n .max-h-\\[90dvh\\] {\n max-height: 90dvh;\n }\n\n .max-h-\\[90vh\\] {\n max-height: 90vh;\n }\n\n .max-h-\\[180px\\] {\n max-height: 180px;\n }\n\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n\n .max-h-full {\n max-height: 100%;\n }\n\n .max-h-screen {\n max-height: 100vh;\n }\n\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n\n .min-h-9 {\n min-height: calc(var(--spacing) * 9);\n }\n\n .min-h-\\[80px\\] {\n min-height: 80px;\n }\n\n .w-1\\/3 {\n width: 33.3333%;\n }\n\n .w-1\\/4 {\n width: 25%;\n }\n\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n\n .w-3\\/4 {\n width: 75%;\n }\n\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n\n .w-4\\/5 {\n width: 80%;\n }\n\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n\n .w-14 {\n width: calc(var(--spacing) * 14);\n }\n\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n\n .w-\\[1px\\] {\n width: 1px;\n }\n\n .w-\\[8px\\] {\n width: 8px;\n }\n\n .w-\\[16px\\] {\n width: 16px;\n }\n\n .w-\\[24px\\] {\n width: 24px;\n }\n\n .w-\\[36px\\] {\n width: 36px;\n }\n\n .w-\\[42px\\] {\n width: 42px;\n }\n\n .w-\\[45px\\] {\n width: 45px;\n }\n\n .w-\\[54px\\] {\n width: 54px;\n }\n\n .w-\\[56px\\] {\n width: 56px;\n }\n\n .w-\\[70px\\] {\n width: 70px;\n }\n\n .w-\\[72px\\] {\n width: 72px;\n }\n\n .w-\\[232px\\] {\n width: 232px;\n }\n\n .w-\\[240px\\] {\n width: 240px;\n }\n\n .w-\\[250px\\] {\n width: 250px;\n }\n\n .w-auto {\n width: auto;\n }\n\n .w-dvh {\n width: 100dvh;\n }\n\n .w-fit {\n width: fit-content;\n }\n\n .w-full {\n width: 100%;\n }\n\n .w-max {\n width: max-content;\n }\n\n .max-w-\\[70px\\] {\n max-width: 70px;\n }\n\n .max-w-\\[90vw\\] {\n max-width: 90vw;\n }\n\n .max-w-\\[400px\\] {\n max-width: 400px;\n }\n\n .max-w-\\[416px\\] {\n max-width: 416px;\n }\n\n .max-w-\\[500px\\] {\n max-width: 500px;\n }\n\n .max-w-\\[540px\\] {\n max-width: 540px;\n }\n\n .max-w-full {\n max-width: 100%;\n }\n\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n\n .min-w-\\[144px\\] {\n min-width: 144px;\n }\n\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .flex-1 {\n flex: 1;\n }\n\n .shrink-0 {\n flex-shrink: 0;\n }\n\n .grow {\n flex-grow: 1;\n }\n\n .grow-0 {\n flex-grow: 0;\n }\n\n .basis-full {\n flex-basis: 100%;\n }\n\n .caption-bottom {\n caption-side: bottom;\n }\n\n .border-collapse {\n border-collapse: collapse;\n }\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\n .translate-x-0\\.5 {\n --tw-translate-x: calc(var(--spacing) * .5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\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\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .scale-x-\\[-1\\] {\n --tw-scale-x: -1;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\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\n .animate-\\[flash_0\\.8s_forwards\\] {\n animation: .8s forwards flash;\n }\n\n .animate-flash {\n animation: var(--animate-flash);\n }\n\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n\n .animate-spin {\n animation: var(--animate-spin);\n }\n\n .cursor-default {\n cursor: default;\n }\n\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .list-outside {\n list-style-position: outside;\n }\n\n .list-disc {\n list-style-type: disc;\n }\n\n .appearance-none {\n appearance: none;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .flex-row {\n flex-direction: row;\n }\n\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .content-center {\n align-content: center;\n }\n\n .items-center {\n align-items: center;\n }\n\n .items-start {\n align-items: flex-start;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .justify-start {\n justify-content: flex-start;\n }\n\n .gap-0\\.5 {\n gap: calc(var(--spacing) * .5);\n }\n\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .gap-12 {\n gap: calc(var(--spacing) * 12);\n }\n\n .gap-\\[15px\\] {\n gap: 15px;\n }\n\n .gap-\\[inherit\\] {\n gap: inherit;\n }\n\n :where(.space-y-1 > :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 :where(.space-y-1\\.5 > :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 :where(.space-y-4 > :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 :where(.space-y-5 > :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 :where(.space-y-6 > :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 :where(.space-x-1 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));\n }\n\n :where(.divide-x > :not(:last-child)) {\n --tw-divide-x-reverse: 0;\n border-inline-style: var(--tw-border-style);\n border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));\n border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n }\n\n :where(.divide-y > :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 :where(.divide-gray-200 > :not(:last-child)) {\n border-color: var(--color-gray-200);\n }\n\n .self-center {\n align-self: center;\n }\n\n .self-end {\n align-self: flex-end;\n }\n\n .self-start {\n align-self: flex-start;\n }\n\n .justify-self-center {\n justify-self: center;\n }\n\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .overflow-auto {\n overflow: auto;\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-scroll {\n overflow: scroll;\n }\n\n .overflow-visible {\n overflow: visible;\n }\n\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .overflow-y-auto {\n overflow-y: auto;\n }\n\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .overscroll-y-none {\n overscroll-behavior-y: none;\n }\n\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n\n .rounded-\\[3px\\] {\n border-radius: 3px;\n }\n\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n\n .rounded-\\[6px\\] {\n border-radius: 6px;\n }\n\n .rounded-\\[8px\\] {\n border-radius: 8px;\n }\n\n .rounded-\\[10px\\] {\n border-radius: 10px;\n }\n\n .rounded-\\[14px\\] {\n border-radius: 14px;\n }\n\n .rounded-\\[inherit\\] {\n border-radius: inherit;\n }\n\n .rounded-full {\n border-radius: 3.40282e38px;\n }\n\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n\n .rounded-md {\n border-radius: var(--radius-md);\n }\n\n .rounded-none {\n border-radius: 0;\n }\n\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n\n .rounded-t-3xl {\n border-top-left-radius: var(--radius-3xl);\n border-top-right-radius: var(--radius-3xl);\n }\n\n .rounded-b-3xl {\n border-bottom-right-radius: var(--radius-3xl);\n border-bottom-left-radius: var(--radius-3xl);\n }\n\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n\n .border-amber-700 {\n border-color: var(--color-amber-700);\n }\n\n .border-black\\/10 {\n border-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-black\\/10 {\n border-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n\n .border-blue-700 {\n border-color: var(--color-blue-700);\n }\n\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n\n .border-gray-600 {\n border-color: var(--color-gray-600);\n }\n\n .border-red-700 {\n border-color: var(--color-red-700);\n }\n\n .border-transparent {\n border-color: #0000;\n }\n\n .border-white\\/10 {\n border-color: var(--color-white);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-white\\/10 {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n\n .bg-amber-100 {\n background-color: var(--color-amber-100);\n }\n\n .bg-amber-200 {\n background-color: var(--color-amber-200);\n }\n\n .bg-amber-700 {\n background-color: var(--color-amber-700);\n }\n\n .bg-black, .bg-black\\/25 {\n background-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/25 {\n background-color: color-mix(in oklab, var(--color-black) 25%, transparent);\n }\n }\n\n .bg-black\\/50 {\n background-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/50 {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n\n .bg-black\\/80 {\n background-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/80 {\n background-color: color-mix(in oklab, var(--color-black) 80%, transparent);\n }\n }\n\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n\n .bg-blue-300 {\n background-color: var(--color-blue-300);\n }\n\n .bg-blue-700 {\n background-color: var(--color-blue-700);\n }\n\n .bg-bronze-300 {\n background-color: var(--color-bronze-300);\n }\n\n .bg-brown-100 {\n background-color: var(--color-brown-100);\n }\n\n .bg-brown-300 {\n background-color: var(--color-brown-300);\n }\n\n .bg-brown-700 {\n background-color: var(--color-brown-700);\n }\n\n .bg-crimson-100 {\n background-color: var(--color-crimson-100);\n }\n\n .bg-crimson-300 {\n background-color: var(--color-crimson-300);\n }\n\n .bg-crimson-700 {\n background-color: var(--color-crimson-700);\n }\n\n .bg-cyan-100 {\n background-color: var(--color-cyan-100);\n }\n\n .bg-cyan-300 {\n background-color: var(--color-cyan-300);\n }\n\n .bg-cyan-700 {\n background-color: var(--color-cyan-700);\n }\n\n .bg-gold-300 {\n background-color: var(--color-gold-300);\n }\n\n .bg-grass-300 {\n background-color: var(--color-grass-300);\n }\n\n .bg-gray-25, .bg-gray-25\\/50 {\n background-color: var(--color-gray-25);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-25\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-25) 50%, transparent);\n }\n }\n\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .bg-gray-100, .bg-gray-100\\/50 {\n background-color: var(--color-gray-100);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-100\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-100) 50%, transparent);\n }\n }\n\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n\n .bg-gray-600 {\n background-color: var(--color-gray-600);\n }\n\n .bg-gray-800\\/60 {\n background-color: var(--color-gray-800);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-800\\/60 {\n background-color: color-mix(in oklab, var(--color-gray-800) 60%, transparent);\n }\n }\n\n .bg-gray-900 {\n background-color: var(--color-gray-900);\n }\n\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n\n .bg-green-300 {\n background-color: var(--color-green-300);\n }\n\n .bg-green-700 {\n background-color: var(--color-green-700);\n }\n\n .bg-indigo-300 {\n background-color: var(--color-indigo-300);\n }\n\n .bg-inherit {\n background-color: inherit;\n }\n\n .bg-lime-300 {\n background-color: var(--color-lime-300);\n }\n\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n\n .bg-orange-700 {\n background-color: var(--color-orange-700);\n }\n\n .bg-plum-300 {\n background-color: var(--color-plum-300);\n }\n\n .bg-purple-300 {\n background-color: var(--color-purple-300);\n }\n\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n\n .bg-red-300 {\n background-color: var(--color-red-300);\n }\n\n .bg-red-700, .bg-red-700\\/60 {\n background-color: var(--color-red-700);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-red-700\\/60 {\n background-color: color-mix(in oklab, var(--color-red-700) 60%, transparent);\n }\n }\n\n .bg-teal-100 {\n background-color: var(--color-teal-100);\n }\n\n .bg-teal-300 {\n background-color: var(--color-teal-300);\n }\n\n .bg-teal-700 {\n background-color: var(--color-teal-700);\n }\n\n .bg-transparent {\n background-color: #0000;\n }\n\n .bg-violet-100 {\n background-color: var(--color-violet-100);\n }\n\n .bg-violet-300 {\n background-color: var(--color-violet-300);\n }\n\n .bg-violet-700 {\n background-color: var(--color-violet-700);\n }\n\n .bg-white, .bg-white\\/60 {\n background-color: var(--color-white);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-white\\/60 {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n\n .bg-yellow-300 {\n background-color: var(--color-yellow-300);\n }\n\n .bg-cover {\n background-size: cover;\n }\n\n .bg-no-repeat {\n background-repeat: no-repeat;\n }\n\n .fill-\\[inherit\\] {\n fill: inherit;\n }\n\n .fill-gray-400 {\n fill: var(--color-gray-400);\n }\n\n .fill-white {\n fill: var(--color-white);\n }\n\n .object-contain {\n object-fit: contain;\n }\n\n .object-cover {\n object-fit: cover;\n }\n\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n\n .p-\\[2px\\] {\n padding: 2px;\n }\n\n .p-\\[11px\\] {\n padding: 11px;\n }\n\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n\n .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * .5);\n }\n\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n\n .py-12 {\n padding-block: calc(var(--spacing) * 12);\n }\n\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n\n .pr-2\\.5 {\n padding-right: calc(var(--spacing) * 2.5);\n }\n\n .pr-3\\.5 {\n padding-right: calc(var(--spacing) * 3.5);\n }\n\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n\n .pb-2\\.5 {\n padding-bottom: calc(var(--spacing) * 2.5);\n }\n\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-left {\n text-align: left;\n }\n\n .align-middle {\n vertical-align: middle;\n }\n\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-2xl--letter-spacing));\n }\n\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-4xl--letter-spacing));\n }\n\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n letter-spacing: var(--tw-tracking, var(--text-lg--letter-spacing));\n }\n\n .text-md {\n font-size: var(--text-md);\n line-height: var(--tw-leading, var(--text-md--line-height));\n letter-spacing: var(--tw-tracking, var(--text-md--letter-spacing));\n }\n\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n letter-spacing: var(--tw-tracking, var(--text-sm--letter-spacing));\n }\n\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-xl--letter-spacing));\n }\n\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n letter-spacing: var(--tw-tracking, var(--text-xs--letter-spacing));\n }\n\n .text-\\[10px\\] {\n font-size: 10px;\n }\n\n .text-\\[30px\\] {\n font-size: 30px;\n }\n\n .text-\\[96px\\] {\n font-size: 96px;\n }\n\n .leading-4 {\n --tw-leading: calc(var(--spacing) * 4);\n line-height: calc(var(--spacing) * 4);\n }\n\n .leading-\\[15px\\] {\n --tw-leading: 15px;\n line-height: 15px;\n }\n\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n\n .font-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n }\n\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .break-words {\n overflow-wrap: break-word;\n }\n\n .wrap-anywhere {\n overflow-wrap: anywhere;\n }\n\n .whitespace-normal {\n white-space: normal;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .whitespace-pre-line {\n white-space: pre-line;\n }\n\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n\n .text-\\[inherit\\] {\n color: inherit;\n }\n\n .text-amber-700 {\n color: var(--color-amber-700);\n }\n\n .text-black, .text-black\\/50 {\n color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .text-black\\/50 {\n color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n\n .text-bronze-700 {\n color: var(--color-bronze-700);\n }\n\n .text-brown-700 {\n color: var(--color-brown-700);\n }\n\n .text-crimson-700 {\n color: var(--color-crimson-700);\n }\n\n .text-current {\n color: currentColor;\n }\n\n .text-cyan-700 {\n color: var(--color-cyan-700);\n }\n\n .text-gold-700 {\n color: var(--color-gold-700);\n }\n\n .text-grass-700 {\n color: var(--color-grass-700);\n }\n\n .text-gray-200 {\n color: var(--color-gray-200);\n }\n\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n\n .text-gray-1000 {\n color: var(--color-gray-1000);\n }\n\n .text-green-700 {\n color: var(--color-green-700);\n }\n\n .text-indigo-700 {\n color: var(--color-indigo-700);\n }\n\n .text-inherit {\n color: inherit;\n }\n\n .text-lime-700 {\n color: var(--color-lime-700);\n }\n\n .text-orange-700 {\n color: var(--color-orange-700);\n }\n\n .text-plum-700 {\n color: var(--color-plum-700);\n }\n\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n\n .text-red-600 {\n color: var(--color-red-600);\n }\n\n .text-red-700 {\n color: var(--color-red-700);\n }\n\n .text-teal-700 {\n color: var(--color-teal-700);\n }\n\n .text-violet-700 {\n color: var(--color-violet-700);\n }\n\n .text-white {\n color: var(--color-white);\n }\n\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .opacity-40 {\n opacity: .4;\n }\n\n .opacity-50 {\n opacity: .5;\n }\n\n .opacity-60 {\n opacity: .6;\n }\n\n .shadow-dropdown-sm {\n --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280f), 0px 1px 3px 0px var(--tw-shadow-color, #1018281a);\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 .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);\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 .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);\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 .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);\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 .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);\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 .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\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\n .ring-\\[3px\\] {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-amber-300 {\n --tw-ring-color: var(--color-amber-300);\n }\n\n .ring-amber-700 {\n --tw-ring-color: var(--color-amber-700);\n }\n\n .ring-black {\n --tw-ring-color: var(--color-black);\n }\n\n .ring-blue-300 {\n --tw-ring-color: var(--color-blue-300);\n }\n\n .ring-blue-700 {\n --tw-ring-color: var(--color-blue-700);\n }\n\n .ring-brown-300 {\n --tw-ring-color: var(--color-brown-300);\n }\n\n .ring-crimson-300 {\n --tw-ring-color: var(--color-crimson-300);\n }\n\n .ring-cyan-300 {\n --tw-ring-color: var(--color-cyan-300);\n }\n\n .ring-gray-100 {\n --tw-ring-color: var(--color-gray-100);\n }\n\n .ring-gray-200 {\n --tw-ring-color: var(--color-gray-200);\n }\n\n .ring-gray-400 {\n --tw-ring-color: var(--color-gray-400);\n }\n\n .ring-green-300 {\n --tw-ring-color: var(--color-green-300);\n }\n\n .ring-green-700 {\n --tw-ring-color: var(--color-green-700);\n }\n\n .ring-orange-300 {\n --tw-ring-color: var(--color-orange-300);\n }\n\n .ring-red-300 {\n --tw-ring-color: var(--color-red-300);\n }\n\n .ring-red-700 {\n --tw-ring-color: var(--color-red-700);\n }\n\n .ring-teal-300 {\n --tw-ring-color: var(--color-teal-300);\n }\n\n .ring-violet-300 {\n --tw-ring-color: var(--color-violet-300);\n }\n\n .ring-offset-0 {\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 .ring-offset-white {\n --tw-ring-offset-color: var(--color-white);\n }\n\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .outline-hidden {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\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\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\n .backdrop-blur-\\[20px\\] {\n --tw-backdrop-blur: blur(20px);\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\n .backdrop-blur-\\[180px\\] {\n --tw-backdrop-blur: blur(180px);\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\n .backdrop-blur-lg {\n --tw-backdrop-blur: blur(var(--blur-lg));\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\n .backdrop-blur-xs {\n --tw-backdrop-blur: blur(var(--blur-xs));\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\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, backdrop-filter, display, visibility, 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\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\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\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\n .duration-200 {\n --tw-duration: .2s;\n transition-duration: .2s;\n }\n\n .duration-300 {\n --tw-duration: .3s;\n transition-duration: .3s;\n }\n\n .duration-500 {\n --tw-duration: .5s;\n transition-duration: .5s;\n }\n\n .duration-700 {\n --tw-duration: .7s;\n transition-duration: .7s;\n }\n\n .ease-\\[cubic-bezier\\(0\\.075\\,0\\.82\\,0\\.165\\,1\\)\\] {\n --tw-ease: cubic-bezier(.075, .82, .165, 1);\n transition-timing-function: cubic-bezier(.075, .82, .165, 1);\n }\n\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n\n .will-change-transform {\n will-change: transform;\n }\n\n .animate-in {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n }\n\n .select-none {\n user-select: none;\n }\n\n .duration-200 {\n animation-duration: .2s;\n }\n\n .duration-300 {\n animation-duration: .3s;\n }\n\n .duration-500 {\n animation-duration: .5s;\n }\n\n .duration-700 {\n animation-duration: .7s;\n }\n\n .ease-\\[cubic-bezier\\(0\\.075\\,0\\.82\\,0\\.165\\,1\\)\\] {\n animation-timing-function: cubic-bezier(.075, .82, .165, 1);\n }\n\n .ease-in-out {\n animation-timing-function: cubic-bezier(.4, 0, .2, 1);\n }\n\n .ease-linear {\n animation-timing-function: linear;\n }\n\n .fade-in-0 {\n --tw-enter-opacity: 0;\n }\n\n .paused {\n animation-play-state: paused;\n }\n\n .ring-inset {\n --tw-ring-inset: inset;\n }\n\n .running {\n animation-play-state: running;\n }\n\n .zoom-in-95 {\n --tw-enter-scale: .95;\n }\n\n :is(.\\*\\:h-full > *) {\n height: 100%;\n }\n\n :is(.\\*\\:w-full > *) {\n width: 100%;\n }\n\n :is(.\\*\\:rounded-\\[14px\\] > *) {\n border-radius: 14px;\n }\n\n :is(.\\*\\:bg-blue-700 > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.\\*\\:fill-black > *) {\n fill: var(--color-black);\n }\n\n :is(.\\*\\:text-gray-700 > *) {\n color: var(--color-gray-700);\n }\n\n :is(.\\*\\:text-white > *) {\n color: var(--color-white);\n }\n\n :is(.\\*\\:opacity-100 > *) {\n opacity: 1;\n }\n\n :is(.\\*\\*\\:items-center *) {\n align-items: center;\n }\n\n :is(.\\*\\*\\:rounded-lg *) {\n border-radius: var(--radius-lg);\n }\n\n .group-focus-within\\:bg-gray-100:is(:where(.group):focus-within *) {\n background-color: var(--color-gray-100);\n }\n\n .group-focus-within\\/mediacard\\:visible:is(:where(.group\\/mediacard):focus-within *) {\n visibility: visible;\n }\n\n @media (hover: hover) {\n .group-hover\\:visible:is(:where(.group):hover *) {\n visibility: visible;\n }\n\n .group-hover\\:flex:is(:where(.group):hover *) {\n display: flex;\n }\n\n .group-hover\\:bg-gray-50:is(:where(.group):hover *) {\n background-color: var(--color-gray-50);\n }\n\n .group-hover\\/mediacard\\:visible:is(:where(.group\\/mediacard):hover *) {\n visibility: visible;\n }\n }\n\n .group-active\\:bg-gray-100:is(:where(.group):active *) {\n background-color: var(--color-gray-100);\n }\n\n .group-data-disabled\\:cursor-not-allowed:is(:where(.group)[data-disabled] *) {\n cursor: not-allowed;\n }\n\n .group-data-disabled\\:opacity-50:is(:where(.group)[data-disabled] *) {\n opacity: .5;\n }\n\n .group-data-\\[state\\=checked\\]\\:bg-gray-50:is(:where(.group)[data-state=\"checked\"] *) {\n background-color: var(--color-gray-50);\n }\n\n .group-data-\\[state\\=off\\]\\:bg-transparent:is(:where(.group)[data-state=\"off\"] *) {\n background-color: #0000;\n }\n\n .group-data-\\[state\\=off\\]\\:text-transparent:is(:where(.group)[data-state=\"off\"] *) {\n color: #0000;\n }\n\n .group-data-\\[state\\=on\\]\\:border-blue-700:is(:where(.group)[data-state=\"on\"] *) {\n border-color: var(--color-blue-700);\n }\n\n .group-data-\\[state\\=open\\]\\:rotate-180:is(:where(.group)[data-state=\"open\"] *) {\n rotate: 180deg;\n }\n\n @media (hover: hover) {\n .peer-hover\\:fill-amber-700:is(:where(.peer):hover ~ *) {\n fill: var(--color-amber-700);\n }\n\n .peer-hover\\:text-amber-700:is(:where(.peer):hover ~ *) {\n color: var(--color-amber-700);\n }\n }\n\n .peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n\n .peer-disabled\\:opacity-70:is(:where(.peer):disabled ~ *) {\n opacity: .7;\n }\n\n .placeholder\\:text-gray-700::placeholder {\n color: var(--color-gray-700);\n }\n\n .placeholder\\:text-gray-900::placeholder {\n color: var(--color-gray-900);\n }\n\n .last\\:pb-0:last-child {\n padding-bottom: calc(var(--spacing) * 0);\n }\n\n .focus-within\\:relative:focus-within {\n position: relative;\n }\n\n .focus-within\\:z-20:focus-within {\n z-index: 20;\n }\n\n .focus-within\\:border-gray-200:focus-within {\n border-color: var(--color-gray-200);\n }\n\n .focus-within\\:bg-gray-100:focus-within {\n background-color: var(--color-gray-100);\n }\n\n .focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n\n .focus-within\\:outline-\\[2px\\]:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n\n .focus-within\\:outline-offset-\\[2px\\]:focus-within {\n outline-offset: 2px;\n }\n\n .focus-within\\:outline-blue-300:focus-within {\n outline-color: var(--color-blue-300);\n }\n\n .focus-within\\:outline-red-700:focus-within {\n outline-color: var(--color-red-700);\n }\n\n @media (hover: hover) {\n .hover\\:border-blue-900:hover {\n border-color: var(--color-blue-900);\n }\n\n .hover\\:border-gray-600:hover {\n border-color: var(--color-gray-600);\n }\n\n .hover\\:border-red-900:hover {\n border-color: var(--color-red-900);\n }\n\n .hover\\:bg-black\\/5:hover {\n background-color: var(--color-black);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .hover\\:bg-black\\/5:hover {\n background-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n }\n\n .hover\\:bg-blue-50:hover {\n background-color: var(--color-blue-50);\n }\n\n .hover\\:bg-blue-100:hover {\n background-color: var(--color-blue-100);\n }\n\n .hover\\:bg-blue-800:hover {\n background-color: var(--color-blue-800);\n }\n\n .hover\\:bg-gray-25:hover {\n background-color: var(--color-gray-25);\n }\n\n .hover\\:bg-gray-50:hover {\n background-color: var(--color-gray-50);\n }\n\n .hover\\:bg-gray-100:hover, .hover\\:bg-gray-100\\/75:hover {\n background-color: var(--color-gray-100);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .hover\\:bg-gray-100\\/75:hover {\n background-color: color-mix(in oklab, var(--color-gray-100) 75%, transparent);\n }\n }\n\n .hover\\:bg-gray-200:hover {\n background-color: var(--color-gray-200);\n }\n\n .hover\\:bg-red-100:hover {\n background-color: var(--color-red-100);\n }\n\n .hover\\:bg-red-800:hover {\n background-color: var(--color-red-800);\n }\n\n .hover\\:fill-amber-700:hover {\n fill: var(--color-amber-700);\n }\n\n .hover\\:text-amber-700:hover {\n color: var(--color-amber-700);\n }\n\n .hover\\:text-black:hover {\n color: var(--color-black);\n }\n\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n\n .hover\\:opacity-100:hover {\n opacity: 1;\n }\n\n :is(.hover\\:\\*\\:bg-blue-700:hover > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.hover\\:\\*\\:text-white:hover > *) {\n color: var(--color-white);\n }\n }\n\n .focus\\:bg-gray-100:focus {\n background-color: var(--color-gray-100);\n }\n\n .focus\\:ring-1: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: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\\:ring-offset-2: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:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .focus\\:outline-hidden:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n :is(.focus\\:\\*\\:bg-blue-700:focus > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.focus\\:\\*\\:text-white:focus > *) {\n color: var(--color-white);\n }\n\n .focus-visible\\:ring-2: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-black:focus-visible {\n --tw-ring-color: var(--color-black);\n }\n\n .focus-visible\\:ring-blue-300:focus-visible {\n --tw-ring-color: var(--color-blue-300);\n }\n\n .focus-visible\\:ring-blue-700:focus-visible {\n --tw-ring-color: var(--color-blue-700);\n }\n\n .focus-visible\\:ring-blue-1000:focus-visible {\n --tw-ring-color: var(--color-blue-1000);\n }\n\n .focus-visible\\:ring-red-700:focus-visible {\n --tw-ring-color: var(--color-red-700);\n }\n\n .focus-visible\\:ring-red-1000:focus-visible {\n --tw-ring-color: var(--color-red-1000);\n }\n\n .focus-visible\\:ring-offset-2: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-hidden:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .focus-visible\\:outline-hidden:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n .active\\:bg-blue-200:active {\n background-color: var(--color-blue-200);\n }\n\n .active\\:bg-blue-900:active {\n background-color: var(--color-blue-900);\n }\n\n .active\\:bg-gray-50:active {\n background-color: var(--color-gray-50);\n }\n\n .active\\:bg-gray-100:active {\n background-color: var(--color-gray-100);\n }\n\n .active\\:bg-gray-200:active {\n background-color: var(--color-gray-200);\n }\n\n .active\\:bg-gray-300:active {\n background-color: var(--color-gray-300);\n }\n\n .active\\:bg-gray-500:active {\n background-color: var(--color-gray-500);\n }\n\n .active\\:bg-red-200:active {\n background-color: var(--color-red-200);\n }\n\n .active\\:bg-red-800:active {\n background-color: var(--color-red-800);\n }\n\n .active\\:bg-red-900:active {\n background-color: var(--color-red-900);\n }\n\n .active\\:text-blue-900:active {\n color: var(--color-blue-900);\n }\n\n .disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n }\n\n .disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n }\n\n .disabled\\:opacity-40:disabled {\n opacity: .4;\n }\n\n .disabled\\:opacity-50:disabled {\n opacity: .5;\n }\n\n .disabled\\:select-none:disabled {\n user-select: none;\n }\n\n :where(.dark-theme) .in-\\[\\.dark-theme\\]\\:bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .aria-selected\\:rounded-md[aria-selected=\"true\"] {\n border-radius: var(--radius-md);\n }\n\n .aria-selected\\:bg-blue-100[aria-selected=\"true\"], :is(.aria-selected\\:\\*\\:bg-blue-100[aria-selected=\"true\"] > *) {\n background-color: var(--color-blue-100);\n }\n\n :is(.aria-selected\\:\\*\\:text-blue-700[aria-selected=\"true\"] > *) {\n color: var(--color-blue-700);\n }\n\n .first\\:aria-selected\\:rounded-l-md:first-child[aria-selected=\"true\"] {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .last\\:aria-selected\\:rounded-r-md:last-child[aria-selected=\"true\"] {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .data-disabled\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n }\n\n .data-disabled\\:cursor-not-allowed[data-disabled] {\n cursor: not-allowed;\n }\n\n .data-disabled\\:opacity-40[data-disabled] {\n opacity: .4;\n }\n\n .data-disabled\\:opacity-50[data-disabled] {\n opacity: .5;\n }\n\n .data-\\[disabled\\=true\\]\\:cursor-not-allowed[data-disabled=\"true\"] {\n cursor: not-allowed;\n }\n\n .data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=\"true\"] {\n opacity: .5;\n }\n\n .data-\\[selected\\=true\\]\\:bg-gray-50[data-selected=\"true\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-\\[side\\=bottom\\]\\:translate-y-1[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\\=bottom\\]\\:slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -.5rem;\n }\n\n .data-\\[side\\=left\\]\\:-translate-x-1[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\\=left\\]\\:slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: .5rem;\n }\n\n .data-\\[side\\=right\\]\\:translate-x-1[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\\=right\\]\\:slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -.5rem;\n }\n\n .data-\\[side\\=top\\]\\:-translate-y-1[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-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: .5rem;\n }\n\n .data-\\[size\\=xxs\\]\\:bg-amber-700[data-size=\"xxs\"] {\n background-color: var(--color-amber-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-blue-700[data-size=\"xxs\"] {\n background-color: var(--color-blue-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-bronze-700[data-size=\"xxs\"] {\n background-color: var(--color-bronze-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-brown-700[data-size=\"xxs\"] {\n background-color: var(--color-brown-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-crimson-700[data-size=\"xxs\"] {\n background-color: var(--color-crimson-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-cyan-700[data-size=\"xxs\"] {\n background-color: var(--color-cyan-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-gold-700[data-size=\"xxs\"] {\n background-color: var(--color-gold-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-grass-700[data-size=\"xxs\"] {\n background-color: var(--color-grass-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-gray-700[data-size=\"xxs\"] {\n background-color: var(--color-gray-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-green-700[data-size=\"xxs\"] {\n background-color: var(--color-green-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-indigo-700[data-size=\"xxs\"] {\n background-color: var(--color-indigo-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-lime-700[data-size=\"xxs\"] {\n background-color: var(--color-lime-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-plum-700[data-size=\"xxs\"] {\n background-color: var(--color-plum-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-purple-700[data-size=\"xxs\"] {\n background-color: var(--color-purple-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-red-700[data-size=\"xxs\"] {\n background-color: var(--color-red-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-teal-700[data-size=\"xxs\"] {\n background-color: var(--color-teal-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-violet-700[data-size=\"xxs\"] {\n background-color: var(--color-violet-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-yellow-700[data-size=\"xxs\"] {\n background-color: var(--color-yellow-700);\n }\n\n .data-\\[state\\=active\\]\\:bg-black[data-state=\"active\"] {\n background-color: var(--color-black);\n }\n\n .data-\\[state\\=active\\]\\:bg-white[data-state=\"active\"] {\n background-color: var(--color-white);\n }\n\n .data-\\[state\\=active\\]\\:text-blue-700[data-state=\"active\"] {\n color: var(--color-blue-700);\n }\n\n .data-\\[state\\=active\\]\\:shadow-xs[data-state=\"active\"] {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);\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\\=checked\\]\\:translate-x-5[data-state=\"checked\"] {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[state\\=checked\\]\\:border-blue-700[data-state=\"checked\"] {\n border-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=checked\\]\\:bg-blue-700[data-state=\"checked\"] {\n background-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=checked\\]\\:bg-gray-50[data-state=\"checked\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-\\[state\\=checked\\]\\:bg-white[data-state=\"checked\"] {\n background-color: var(--color-white);\n }\n\n .data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=\"closed\"] {\n animation: var(--animate-accordion-up);\n }\n\n .data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n --tw-duration: .3s;\n transition-duration: .3s;\n }\n\n .data-\\[state\\=closed\\]\\:animate-out[data-state=\"closed\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n }\n\n .data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n animation-duration: .3s;\n }\n\n .data-\\[state\\=closed\\]\\:fade-out[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n }\n\n .data-\\[state\\=closed\\]\\:fade-out-80[data-state=\"closed\"] {\n --tw-exit-opacity: .8;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:slide-out-to-bottom-\\[100\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n }\n\n .data-\\[state\\=closed\\]\\:zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n }\n\n .data-\\[state\\=on\\]\\:border-blue-700[data-state=\"on\"] {\n border-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=open\\]\\:animate-accordion-down[data-state=\"open\"] {\n animation: var(--animate-accordion-down);\n }\n\n .data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n --tw-duration: .5s;\n transition-duration: .5s;\n }\n\n .data-\\[state\\=open\\]\\:animate-in[data-state=\"open\"] {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n }\n\n .data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n animation-duration: .5s;\n }\n\n .data-\\[state\\=open\\]\\:fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-bottom-\\[100\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-top[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n }\n\n .data-\\[state\\=open\\]\\:zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n }\n\n .data-\\[state\\=selected\\]\\:bg-gray-50[data-state=\"selected\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-disabled\\:data-\\[state\\=unchecked\\]\\:bg-gray-300[data-disabled][data-state=\"unchecked\"] {\n background-color: var(--color-gray-300);\n }\n\n .data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=\"cancel\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=\"end\"] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=end\\]\\:animate-out[data-swipe=\"end\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n }\n\n .data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=\"move\"] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=move\\]\\:transition-none[data-swipe=\"move\"] {\n transition-property: none;\n }\n\n @media not all and (width >= 64rem) {\n .max-lg\\:hidden {\n display: none;\n }\n }\n\n @media not all and (width >= 40rem) {\n .max-sm\\:gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .max-sm\\:p-4 {\n padding: calc(var(--spacing) * 4);\n }\n }\n\n @media (width >= 40rem) {\n .sm\\:mt-0 {\n margin-top: calc(var(--spacing) * 0);\n }\n\n .sm\\:max-w-md {\n max-width: var(--container-md);\n }\n\n .sm\\:max-w-sm {\n max-width: var(--container-sm);\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n :where(.sm\\:space-x-2 > :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 .sm\\:data-\\[state\\=open\\]\\:slide-in-from-bottom-full[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n }\n\n @media (width >= 48rem) {\n .md\\:block {\n display: block;\n }\n\n .md\\:h-\\[550px\\] {\n height: 550px;\n }\n\n .md\\:w-\\[300px\\] {\n width: 300px;\n }\n\n .md\\:w-\\[326px\\] {\n width: 326px;\n }\n\n .md\\:w-\\[1000px\\] {\n width: 1000px;\n }\n\n .md\\:w-auto {\n width: auto;\n }\n\n .md\\:w-fit {\n width: fit-content;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:max-w-\\[90vw\\] {\n max-width: 90vw;\n }\n\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n\n .md\\:min-w-\\[500px\\] {\n min-width: 500px;\n }\n\n .md\\:flex-row {\n flex-direction: row;\n }\n\n .md\\:items-center {\n align-items: center;\n }\n\n .md\\:justify-start {\n justify-content: flex-start;\n }\n\n .md\\:gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n\n .md\\:gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .md\\:gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n\n .md\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n :where(.md\\:divide-y > :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 .md\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .md\\:bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .md\\:bg-transparent {\n background-color: #0000;\n }\n\n .md\\:p-0 {\n padding: calc(var(--spacing) * 0);\n }\n\n .md\\:p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .md\\:p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .md\\:p-8 {\n padding: calc(var(--spacing) * 8);\n }\n }\n\n @media (width >= 64rem) {\n .lg\\:h-14 {\n height: calc(var(--spacing) * 14);\n }\n\n .lg\\:w-14 {\n width: calc(var(--spacing) * 14);\n }\n\n .lg\\:flex-row {\n flex-direction: row;\n }\n\n .lg\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .lg\\:gap-16 {\n gap: calc(var(--spacing) * 16);\n }\n\n .lg\\:bg-pattern {\n background-image: var(--background-image-pattern);\n }\n\n .lg\\:p-20 {\n padding: calc(var(--spacing) * 20);\n }\n\n .lg\\:text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-4xl--letter-spacing));\n }\n\n .lg\\:text-md {\n font-size: var(--text-md);\n line-height: var(--tw-leading, var(--text-md--line-height));\n letter-spacing: var(--tw-tracking, var(--text-md--letter-spacing));\n }\n }\n\n @media (width >= 80rem) {\n .xl\\:rounded-none {\n border-radius: 0;\n }\n }\n\n .dark\\:bg-white\\/50:where(.dark-theme, .dark-theme *) {\n background-color: var(--color-white);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .dark\\:bg-white\\/50:where(.dark-theme, .dark-theme *) {\n background-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n\n .dark\\:fill-black:where(.dark-theme, .dark-theme *) {\n fill: var(--color-black);\n }\n\n .dark\\:text-black:where(.dark-theme, .dark-theme *), :is(.dark\\:\\*\\:text-black:where(.dark-theme, .dark-theme *) > *) {\n color: var(--color-black);\n }\n\n @media (hover: hover) {\n :is(.dark\\:hover\\:\\*\\:text-black:where(.dark-theme, .dark-theme *):hover > *) {\n color: var(--color-black);\n }\n }\n\n :is(.dark\\:focus\\:\\*\\:text-black:where(.dark-theme, .dark-theme *):focus > *), .dark\\:data-\\[state\\=active\\]\\:text-black:where(.dark-theme, .dark-theme *)[data-state=\"active\"] {\n color: var(--color-black);\n }\n\n .dark\\:data-\\[state\\=active\\]\\:text-white:where(.dark-theme, .dark-theme *)[data-state=\"active\"] {\n color: var(--color-white);\n }\n\n .dark\\:data-\\[state\\=checked\\]\\:bg-black:where(.dark-theme, .dark-theme *)[data-state=\"checked\"] {\n background-color: var(--color-black);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-sm [cmdk-group-heading] {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n letter-spacing: var(--tw-tracking, var(--text-sm--letter-spacing));\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-black [cmdk-group-heading] {\n color: var(--color-black);\n }\n\n .\\[\\&_tr\\]\\:border-b tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .\\[\\&_tr\\:active\\]\\:bg-gray-50 tr:active {\n background-color: var(--color-gray-50);\n }\n\n .\\[\\&_tr\\:hover\\]\\:bg-gray-25 tr:hover {\n background-color: var(--color-gray-25);\n }\n\n .\\[\\&_tr\\:hover\\:active\\]\\:bg-gray-50 tr:hover:active {\n background-color: var(--color-gray-50);\n }\n\n .\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .aria-selected\\:\\[\\&\\.day-outside\\]\\:bg-blue-100\\/50[aria-selected=\"true\"].day-outside {\n background-color: var(--color-blue-100);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .aria-selected\\:\\[\\&\\.day-outside\\]\\:bg-blue-100\\/50[aria-selected=\"true\"].day-outside {\n background-color: color-mix(in oklab, var(--color-blue-100) 50%, transparent);\n }\n }\n\n .\\[\\&\\.day-range-end\\]\\:rounded-r-md.day-range-end, .aria-selected\\:\\[\\&\\.day-range-end\\]\\:rounded-r-md[aria-selected=\"true\"].day-range-end {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .\\[\\&\\.day-range-start\\]\\:rounded-l-md.day-range-start {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=\"checkbox\"]) {\n padding-right: calc(var(--spacing) * 0);\n }\n\n .\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\] > [role=\"checkbox\"] {\n --tw-translate-y: 2px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .\\[\\&\\>button\\]\\:w-full > button {\n width: 100%;\n }\n\n .\\[\\&\\>div\\]\\:h-\\[72px\\] > div {\n height: 72px;\n }\n\n .\\[\\&\\>div\\]\\:w-full > div {\n width: 100%;\n }\n\n .\\[\\&\\>svg\\]\\:h-4 > svg {\n height: calc(var(--spacing) * 4);\n }\n\n .\\[\\&\\>svg\\]\\:w-auto > svg {\n width: auto;\n }\n\n .\\[\\&\\>svg\\]\\:text-black > svg {\n color: var(--color-black);\n }\n\n .\\[\\&\\>svg\\]\\:text-blue-700 > svg {\n color: var(--color-blue-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-current > svg {\n color: currentColor;\n }\n\n .\\[\\&\\>svg\\]\\:text-gray-700 > svg {\n color: var(--color-gray-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-red-700 > svg {\n color: var(--color-red-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-white > svg {\n color: var(--color-white);\n }\n\n @media (hover: hover) {\n .hover\\:\\[\\&\\>svg\\]\\:text-black:hover > svg {\n color: var(--color-black);\n }\n }\n\n .dark\\:\\[\\&\\>svg\\]\\:text-black:where(.dark-theme, .dark-theme *) > svg {\n color: var(--color-black);\n }\n}\n\n* {\n box-sizing: border-box;\n -webkit-font-smoothing: antialiased;\n}\n\n:root, .light-theme {\n --color-white: #fff;\n --color-black: #121212;\n --color-gray-25: #fcfcfc;\n --color-gray-50: #f7f7f7;\n --color-gray-100: #f2f2f2;\n --color-gray-200: #ededed;\n --color-gray-300: #e8e8e8;\n --color-gray-400: #e3e3e3;\n --color-gray-500: #dbdbdb;\n --color-gray-600: #c7c7c7;\n --color-gray-700: #8f8f8f;\n --color-gray-800: #858585;\n --color-gray-900: #707070;\n --color-gray-1000: #171717;\n --color-blue-25: #fafcff;\n --color-blue-50: #f5f9ff;\n --color-blue-100: #f0f6ff;\n --color-blue-200: #d7e7fe;\n --color-blue-300: #c7deff;\n --color-blue-400: #b8d5ff;\n --color-blue-500: #85b8ff;\n --color-blue-600: #579dff;\n --color-blue-700: #006aff;\n --color-blue-800: #005bdb;\n --color-blue-900: #004db8;\n --color-blue-1000: #002252;\n --color-red-25: snow;\n --color-red-50: snow;\n --color-red-100: #fff0f0;\n --color-red-200: #ffe5e5;\n --color-red-300: #fdd8d8;\n --color-red-400: #f9c8c8;\n --color-red-500: #f3afb0;\n --color-red-600: #ea8f90;\n --color-red-700: #e5484d;\n --color-red-800: #db3d42;\n --color-red-900: #ce2c31;\n --color-red-1000: #391417;\n --color-amber-25: #fffcf6;\n --color-amber-50: #fffaf2;\n --color-amber-100: #fff9ed;\n --color-amber-200: #fff3de;\n --color-amber-300: #ffefd1;\n --color-amber-400: #ffe8bd;\n --color-amber-500: #ffdd9f;\n --color-amber-600: #ffcf77;\n --color-amber-700: #ffb224;\n --color-amber-800: #f9a710;\n --color-amber-900: #e4980c;\n --color-amber-1000: #4e2009;\n --color-green-25: #fbfefc;\n --color-green-50: #f3fcf5;\n --color-green-100: #ebfaf0;\n --color-green-200: #ddf3e4;\n --color-green-300: #ccebd7;\n --color-green-400: #b4dfc4;\n --color-green-500: #92ceac;\n --color-green-600: #5bb98b;\n --color-green-700: #30a66d;\n --color-green-800: #2a9865;\n --color-green-900: #18774c;\n --color-green-1000: #153226;\n --color-tomato-25: snow;\n --color-tomato-50: #fff6f5;\n --color-tomato-100: #fff1f0;\n --color-tomato-200: #ffe4e0;\n --color-tomato-300: #fdd8d3;\n --color-tomato-400: #fac6bd;\n --color-tomato-500: #f3aea0;\n --color-tomato-600: #ea9280;\n --color-tomato-700: #e54d2e;\n --color-tomato-800: #db4224;\n --color-tomato-900: #cc3314;\n --color-tomato-1000: #361811;\n --color-crimson-25: #fffafc;\n --color-crimson-50: #fff5fa;\n --color-crimson-100: #fef1f7;\n --color-crimson-200: #fce4ef;\n --color-crimson-300: #f9d7e6;\n --color-crimson-400: #f4c7dc;\n --color-crimson-500: #edabc7;\n --color-crimson-600: #e58fb2;\n --color-crimson-700: #ea3e83;\n --color-crimson-800: #e13378;\n --color-crimson-900: #d21e66;\n --color-crimson-1000: #3f0d1e;\n --color-pink-25: #fffafd;\n --color-pink-50: #fff5fb;\n --color-pink-100: #feecf7;\n --color-pink-200: #fce4f3;\n --color-pink-300: #f9d7eb;\n --color-pink-400: #f3c4e1;\n --color-pink-500: #ecacd3;\n --color-pink-600: #e28dc2;\n --color-pink-700: #d742a0;\n --color-pink-800: #d23297;\n --color-pink-900: #cd1d8d;\n --color-pink-1000: #3d0a2b;\n --color-plum-25: #fdfaff;\n --color-plum-50: #fffaff;\n --color-plum-100: #fceefc;\n --color-plum-200: #f9e6f9;\n --color-plum-300: #f3d7f4;\n --color-plum-400: #ecc9ee;\n --color-plum-500: #dfb0e3;\n --color-plum-600: #cf92d9;\n --color-plum-700: #ab4aba;\n --color-plum-800: #a43cb4;\n --color-plum-900: #9a2bab;\n --color-plum-1000: #340c3b;\n --color-purple-25: #fefbfe;\n --color-purple-50: #fdfaff;\n --color-purple-100: #f9f1fe;\n --color-purple-200: #f4e8fc;\n --color-purple-300: #eddcf9;\n --color-purple-400: #e4cdf4;\n --color-purple-500: #d4b5ed;\n --color-purple-600: #bf95e4;\n --color-purple-700: #8e4ec6;\n --color-purple-800: #8344bb;\n --color-purple-900: #793bb0;\n --color-purple-1000: #2b0e44;\n --color-violet-25: #fcfbfe;\n --color-violet-50: #fbfaff;\n --color-violet-100: #f3f0ff;\n --color-violet-200: #ebe7fe;\n --color-violet-300: #e4defc;\n --color-violet-400: #d5cdf9;\n --color-violet-500: #c5b9f3;\n --color-violet-600: #a898ec;\n --color-violet-700: #6d54cf;\n --color-violet-800: #634ec1;\n --color-violet-900: #5746af;\n --color-violet-1000: #1f1249;\n --color-indigo-25: #fcfcfd;\n --color-indigo-50: #fafbff;\n --color-indigo-100: #f0f4ff;\n --color-indigo-200: #e7edfe;\n --color-indigo-300: #d9e2fc;\n --color-indigo-400: #c8d5f9;\n --color-indigo-500: #adbff5;\n --color-indigo-600: #8fa6ef;\n --color-indigo-700: #3c61dd;\n --color-indigo-800: #385bcc;\n --color-indigo-900: #3451b2;\n --color-indigo-1000: #101d47;\n --color-cyan-25: #fbfdfe;\n --color-cyan-50: #f2fcfd;\n --color-cyan-100: #e9f9fb;\n --color-cyan-200: #daf4f7;\n --color-cyan-300: #c3e9ef;\n --color-cyan-400: #a8dee6;\n --color-cyan-500: #85cedb;\n --color-cyan-600: #3fb9cf;\n --color-cyan-700: #05a2c2;\n --color-cyan-800: #0895b4;\n --color-cyan-900: #0c7792;\n --color-cyan-1000: #04323e;\n --color-teal-25: #fbfefd;\n --color-teal-50: #f2fcfa;\n --color-teal-100: #e7f9f5;\n --color-teal-200: #d8f3ed;\n --color-teal-300: #c7ebe5;\n --color-teal-400: #afdfd7;\n --color-teal-500: #8dcec3;\n --color-teal-600: #55b9ac;\n --color-teal-700: #12a594;\n --color-teal-800: #0e9a8a;\n --color-teal-900: #067a6e;\n --color-teal-1000: #11322d;\n --color-grass-25: #fbfefb;\n --color-grass-50: #f3fcf3;\n --color-grass-100: #ebf9eb;\n --color-grass-200: #def2de;\n --color-grass-300: #cceacd;\n --color-grass-400: #b9dfbc;\n --color-grass-500: #96cf9b;\n --color-grass-600: #64b974;\n --color-grass-700: #45a557;\n --color-grass-800: #3d994f;\n --color-grass-900: #297a3a;\n --color-grass-1000: #1b311e;\n --color-brown-25: #fefcfb;\n --color-brown-50: #fcfaf7;\n --color-brown-100: #f9f2ec;\n --color-brown-200: #f4e8dc;\n --color-brown-300: #efddcd;\n --color-brown-400: #e8cdb5;\n --color-brown-500: #ddb997;\n --color-brown-600: #d09e71;\n --color-brown-700: #ad7f58;\n --color-brown-800: #a27653;\n --color-brown-900: #886349;\n --color-brown-1000: #3f2c22;\n --color-orange-25: #fefcfb;\n --color-orange-50: #fef9f6;\n --color-orange-100: #fff0e5;\n --color-orange-200: #ffe8d6;\n --color-orange-300: #ffdbc2;\n --color-orange-400: #ffcca8;\n --color-orange-500: #ffb280;\n --color-orange-600: #fa924c;\n --color-orange-700: #f76808;\n --color-orange-800: #eb5e00;\n --color-orange-900: #bd4b00;\n --color-orange-1000: #451e11;\n --color-sky-25: #fafeff;\n --color-sky-50: #f0fcff;\n --color-sky-100: #e5f9ff;\n --color-sky-200: #d3f3fd;\n --color-sky-300: #c3ecf9;\n --color-sky-400: #a2def1;\n --color-sky-500: #7bd0ea;\n --color-sky-600: #2ebee5;\n --color-sky-700: #68ddfd;\n --color-sky-800: #5dd3f4;\n --color-sky-900: #007aa3;\n --color-sky-1000: #003242;\n --color-mint-25: #fbfefe;\n --color-mint-50: #f1fefa;\n --color-mint-100: #e0fbf3;\n --color-mint-200: #d4f7ee;\n --color-mint-300: #c2efe4;\n --color-mint-400: #a5e4d4;\n --color-mint-500: #7dd4bf;\n --color-mint-600: #40c4aa;\n --color-mint-700: #70e1c8;\n --color-mint-800: #68d9c1;\n --color-mint-900: #147b6d;\n --color-mint-1000: #09342e;\n --color-lime-25: #fdfefb;\n --color-lime-50: #f6fcee;\n --color-lime-100: #eefadb;\n --color-lime-200: #e3f7c5;\n --color-lime-300: #d7f2b0;\n --color-lime-400: #cae996;\n --color-lime-500: #b1d16b;\n --color-lime-600: #94ba2c;\n --color-lime-700: #99d52a;\n --color-lime-800: #93c926;\n --color-lime-900: #5d770d;\n --color-lime-1000: #273409;\n --color-yellow-25: #fcfcf7;\n --color-yellow-50: #fffce5;\n --color-yellow-100: #fffbd1;\n --color-yellow-200: #fff8bd;\n --color-yellow-300: #fef2a4;\n --color-yellow-400: #f9e78b;\n --color-yellow-500: #efd26c;\n --color-yellow-600: #f5d90a;\n --color-yellow-700: #ebbc00;\n --color-yellow-800: #f5cc00;\n --color-yellow-900: #946800;\n --color-yellow-1000: #34280f;\n --color-gold-25: #fdfdfc;\n --color-gold-50: #fbfaf3;\n --color-gold-100: #f6f3ea;\n --color-gold-200: #eeeadd;\n --color-gold-300: #e6e0d1;\n --color-gold-400: #dad1be;\n --color-gold-500: #cbbda4;\n --color-gold-600: #b8a384;\n --color-gold-700: #968264;\n --color-gold-800: #8d7a5e;\n --color-gold-900: #776750;\n --color-gold-1000: #3b352b;\n --color-bronze-25: #fdfcfc;\n --color-bronze-50: #fdf8f7;\n --color-bronze-100: #f8f0ed;\n --color-bronze-200: #f2e8e3;\n --color-bronze-300: #eaddd7;\n --color-bronze-400: #e0cec7;\n --color-bronze-500: #d0b8af;\n --color-bronze-600: #be9f93;\n --color-bronze-700: #a18072;\n --color-bronze-800: #967669;\n --color-bronze-900: #846358;\n --color-bronze-1000: #44312c;\n}\n\n.dark-theme {\n --color-white: #121212;\n --color-black: #fff;\n --color-gray-25: #171717;\n --color-gray-50: #1c1c1c;\n --color-gray-100: #242424;\n --color-gray-200: #292929;\n --color-gray-300: #2e2e2e;\n --color-gray-400: #333;\n --color-gray-500: #3d3d3d;\n --color-gray-600: #4f4f4f;\n --color-gray-700: #707070;\n --color-gray-800: #7d7d7d;\n --color-gray-900: #a1a1a1;\n --color-gray-1000: #ededed;\n --color-blue-25: #0f161f;\n --color-blue-50: #0f1c2e;\n --color-blue-100: #10233d;\n --color-blue-200: #102a4c;\n --color-blue-300: #0f2f57;\n --color-blue-400: #0d3868;\n --color-blue-500: #0a4380;\n --color-blue-600: #0954a5;\n --color-blue-700: #0091ff;\n --color-blue-800: #389fff;\n --color-blue-900: #52a8ff;\n --color-blue-1000: #ebf6ff;\n --color-red-25: #201315;\n --color-red-50: #291415;\n --color-red-100: #3a1719;\n --color-red-200: #471a1d;\n --color-red-300: #551b1f;\n --color-red-400: #671e21;\n --color-red-500: #832126;\n --color-red-600: #a82428;\n --color-red-700: #e5484d;\n --color-red-800: #f2545a;\n --color-red-900: #ff6166;\n --color-red-1000: #feecee;\n --color-amber-25: #1f1300;\n --color-amber-50: #291800;\n --color-amber-100: #331b00;\n --color-amber-200: #3d2100;\n --color-amber-300: #4d2a00;\n --color-amber-400: #573300;\n --color-amber-500: #6b4105;\n --color-amber-600: #804d00;\n --color-amber-700: #ffb224;\n --color-amber-800: #ffbb3d;\n --color-amber-900: #ffc457;\n --color-amber-1000: #fef3dc;\n --color-green-25: #0c1811;\n --color-green-50: #0b1d16;\n --color-green-100: #0f291e;\n --color-green-200: #113123;\n --color-green-300: #133929;\n --color-green-400: #164531;\n --color-green-500: #1b553b;\n --color-green-600: #226d49;\n --color-green-700: #30a66d;\n --color-green-800: #3caf77;\n --color-green-900: #4bc389;\n --color-green-1000: #e5fbea;\n --color-tomato-25: #1c1412;\n --color-tomato-50: #29130f;\n --color-tomato-100: #3a1713;\n --color-tomato-200: #481a14;\n --color-tomato-300: #561d15;\n --color-tomato-400: #642016;\n --color-tomato-500: #7f2315;\n --color-tomato-600: #a52b12;\n --color-tomato-700: #e54d2e;\n --color-tomato-800: #ec5d41;\n --color-tomato-900: #f16b50;\n --color-tomato-1000: #feefec;\n --color-crimson-25: #1e1519;\n --color-crimson-50: #28151d;\n --color-crimson-100: #3a1726;\n --color-crimson-200: #471a2d;\n --color-crimson-300: #551b33;\n --color-crimson-400: #631d3a;\n --color-crimson-500: #811d45;\n --color-crimson-600: #ae1955;\n --color-crimson-700: #ea3e83;\n --color-crimson-800: #f05189;\n --color-crimson-900: #f75f8f;\n --color-crimson-1000: #feecf4;\n --color-pink-25: #20131c;\n --color-pink-50: #281522;\n --color-pink-100: #3a182f;\n --color-pink-200: #461b38;\n --color-pink-300: #501b3f;\n --color-pink-400: #621d4a;\n --color-pink-500: #7c1d5b;\n --color-pink-600: #a51871;\n --color-pink-700: #d742a0;\n --color-pink-800: #e34aa8;\n --color-pink-900: #f65ab5;\n --color-pink-1000: #feecf7;\n --color-plum-25: #1c121c;\n --color-plum-50: #241424;\n --color-plum-100: #331a33;\n --color-plum-200: #3e1c3f;\n --color-plum-300: #48214a;\n --color-plum-400: #552659;\n --color-plum-500: #6b2e70;\n --color-plum-600: #883894;\n --color-plum-700: #ab4aba;\n --color-plum-800: #bc53c6;\n --color-plum-900: #d864d8;\n --color-plum-1000: #fbedfc;\n --color-purple-25: #1c151e;\n --color-purple-50: #231528;\n --color-purple-100: #2e1938;\n --color-purple-200: #3a1e48;\n --color-purple-300: #422154;\n --color-purple-400: #4f2768;\n --color-purple-500: #5f2e85;\n --color-purple-600: #7938b2;\n --color-purple-700: #8e4ec6;\n --color-purple-800: #9c5bd2;\n --color-purple-900: #bf7af0;\n --color-purple-1000: #f8edfc;\n --color-violet-25: #17151e;\n --color-violet-50: #1c172b;\n --color-violet-100: #241d3e;\n --color-violet-200: #2b224f;\n --color-violet-300: #32265e;\n --color-violet-400: #392c72;\n --color-violet-500: #443592;\n --color-violet-600: #5741c3;\n --color-violet-700: #6d54cf;\n --color-violet-800: #7b65dc;\n --color-violet-900: #9f8dfc;\n --color-violet-1000: #efecfe;\n --color-indigo-25: #131620;\n --color-indigo-50: #15192d;\n --color-indigo-100: #18203e;\n --color-indigo-200: #1c274f;\n --color-indigo-300: #1f2c5c;\n --color-indigo-400: #22336d;\n --color-indigo-500: #273f8b;\n --color-indigo-600: #2f4db1;\n --color-indigo-700: #3c61dd;\n --color-indigo-800: #5474e8;\n --color-indigo-900: #859dff;\n --color-indigo-1000: #edf0fd;\n --color-cyan-25: #07191d;\n --color-cyan-50: #061d23;\n --color-cyan-100: #072931;\n --color-cyan-200: #07303b;\n --color-cyan-300: #073945;\n --color-cyan-400: #064251;\n --color-cyan-500: #044f62;\n --color-cyan-600: #006680;\n --color-cyan-700: #05a2c2;\n --color-cyan-800: #00b1cc;\n --color-cyan-900: #00c1d6;\n --color-cyan-1000: #e0f8fa;\n --color-teal-25: #091a16;\n --color-teal-50: #04201b;\n --color-teal-100: #062822;\n --color-teal-200: #07312b;\n --color-teal-300: #083a33;\n --color-teal-400: #09443c;\n --color-teal-500: #0b564c;\n --color-teal-600: #0c6e63;\n --color-teal-700: #12a594;\n --color-teal-800: #10b2a2;\n --color-teal-900: #0ac7b4;\n --color-teal-1000: #e0faf4;\n --color-grass-25: #0c1811;\n --color-grass-50: #0f1f13;\n --color-grass-100: #142a1a;\n --color-grass-200: #16311e;\n --color-grass-300: #193921;\n --color-grass-400: #1d4427;\n --color-grass-500: #255631;\n --color-grass-600: #2f6f3b;\n --color-grass-700: #45a557;\n --color-grass-800: #55b466;\n --color-grass-900: #62c073;\n --color-grass-1000: #e5fbea;\n --color-brown-25: #1a1614;\n --color-brown-50: #211712;\n --color-brown-100: #2e201a;\n --color-brown-200: #35251d;\n --color-brown-300: #3f2c22;\n --color-brown-400: #483528;\n --color-brown-500: #5d4332;\n --color-brown-600: #775940;\n --color-brown-700: #ad7f58;\n --color-brown-800: #bd8c61;\n --color-brown-900: #dba270;\n --color-brown-1000: #faf0e5;\n --color-orange-25: #1e1106;\n --color-orange-50: #291300;\n --color-orange-100: #3a1b03;\n --color-orange-200: #431e04;\n --color-orange-300: #4d2205;\n --color-orange-400: #602a06;\n --color-orange-500: #763205;\n --color-orange-600: #943e00;\n --color-orange-700: #f76808;\n --color-orange-800: #ff7e29;\n --color-orange-900: #ff8b3d;\n --color-orange-1000: #feeadc;\n --color-sky-25: #0d1921;\n --color-sky-50: #071e2c;\n --color-sky-100: #082535;\n --color-sky-200: #082c40;\n --color-sky-300: #08344a;\n --color-sky-400: #083e59;\n --color-sky-500: #064a6a;\n --color-sky-600: #005d85;\n --color-sky-700: #68ddfd;\n --color-sky-800: #8ae8ff;\n --color-sky-900: #2fc8ee;\n --color-sky-1000: #ebf8ff;\n --color-mint-25: #071715;\n --color-mint-50: #051f1d;\n --color-mint-100: #052926;\n --color-mint-200: #042f2a;\n --color-mint-300: #033a34;\n --color-mint-400: #01463e;\n --color-mint-500: #00574b;\n --color-mint-600: #006b59;\n --color-mint-700: #70e1c8;\n --color-mint-800: #95f3d9;\n --color-mint-900: #25d0ab;\n --color-mint-1000: #e8fcf8;\n --color-lime-25: #141807;\n --color-lime-50: #171c08;\n --color-lime-100: #1e260d;\n --color-lime-200: #252e0f;\n --color-lime-300: #2b3711;\n --color-lime-400: #354314;\n --color-lime-500: #405115;\n --color-lime-600: #546916;\n --color-lime-700: #99d52a;\n --color-lime-800: #c4f042;\n --color-lime-900: #88bf22;\n --color-lime-1000: #f0fbdf;\n --color-yellow-25: #1a1300;\n --color-yellow-50: #241b00;\n --color-yellow-100: #2e2200;\n --color-yellow-200: #332600;\n --color-yellow-300: #3d2f00;\n --color-yellow-400: #473a00;\n --color-yellow-500: #574805;\n --color-yellow-600: #705e00;\n --color-yellow-700: #f5d90a;\n --color-yellow-800: #ffef5c;\n --color-yellow-900: #f0c000;\n --color-yellow-1000: #fffad1;\n --color-gold-25: #161512;\n --color-gold-50: #1d1b16;\n --color-gold-100: #26231c;\n --color-gold-200: #2c2920;\n --color-gold-300: #353027;\n --color-gold-400: #3f392c;\n --color-gold-500: #4f4636;\n --color-gold-600: #6b5d47;\n --color-gold-700: #968264;\n --color-gold-800: #a59173;\n --color-gold-900: #bfa888;\n --color-gold-1000: #f7f5e8;\n --color-bronze-25: #191514;\n --color-bronze-50: #201a18;\n --color-bronze-100: #29201e;\n --color-bronze-200: #332824;\n --color-bronze-300: #3c2f2a;\n --color-bronze-400: #453530;\n --color-bronze-500: #57443d;\n --color-bronze-600: #74594e;\n --color-bronze-700: #a18072;\n --color-bronze-800: #b08c7d;\n --color-bronze-900: #cca494;\n --color-bronze-1000: #f9ede7;\n}\n\n.inter {\n font-family: Inter, sans-serif;\n}\n\n@supports (font-variation-settings: normal) {\n .inter {\n font-family: Inter var, sans-serif;\n }\n}\n\n.pulse-red-700 {\n animation: 2s infinite pulse-red-700;\n transform: scale(1);\n box-shadow: 0 0 #e5484d;\n}\n\n@keyframes pulse-red-700 {\n 0% {\n transform: scale(.95);\n box-shadow: 0 0 #e5484db3;\n }\n\n 70% {\n transform: scale(1);\n box-shadow: 0 0 0 6px #e5484d00;\n }\n\n to {\n transform: scale(.95);\n box-shadow: 0 0 #e5484d00;\n }\n}\n\n::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n}\n\n@keyframes enter {\n 0% {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-divide-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-leading {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-duration {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ease {\n syntax: \"*\";\n inherits: false\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes accordion-down {\n 0% {\n height: 0;\n }\n\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n@keyframes accordion-up {\n 0% {\n height: var(--radix-accordion-content-height);\n }\n\n to {\n height: 0;\n }\n}\n\n@keyframes flash {\n 0% {\n opacity: .9;\n }\n\n to {\n opacity: 0;\n }\n}\n";
12830
14327
 
12831
14328
 
12832
14329
  const $e68207026aca356b$var$queryClient = new (0, $jQDcL$tanstackreactquery.QueryClient)();