@inploi/plugin-chatbot 3.26.0 → 3.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-00f143ae.cjs");
3
+ const index = require("./index-9b3fc23b.cjs");
4
4
  require("@inploi/sdk");
5
5
  const isIfBlockConditionMet = (ifBlock, {
6
6
  context,
@@ -454,9 +454,11 @@ async function interpretSubmitNode({
454
454
  });
455
455
  index.N(response).with({
456
456
  integration_response: index._.select(index._.union({
457
+ service: index._.optional(index._.string),
457
458
  status: index._.number,
458
459
  data: index._.any
459
460
  }, {
461
+ service: index._.optional(index._.string),
460
462
  status: index._.number,
461
463
  error: {
462
464
  message: index._.string,
@@ -471,6 +473,7 @@ async function interpretSubmitNode({
471
473
  flow_version: flow.version,
472
474
  flow_session_id: flow.data.flowSessionId,
473
475
  flow_build: flow.build,
476
+ service: integrationResponse.service ?? "INVALID_SERVICE",
474
477
  response: {
475
478
  status: integrationResponse.status,
476
479
  payload: "data" in integrationResponse ? integrationResponse.data : integrationResponse.error.data ?? null
@@ -1990,7 +1993,7 @@ const ChatInputBoolean = ({
1990
1993
  const InputError = ({
1991
1994
  error
1992
1995
  }) => {
1993
- if (!error)
1996
+ if (!error || !error.message)
1994
1997
  return null;
1995
1998
  return index.o("div", {
1996
1999
  role: "alert",
@@ -2349,9 +2352,9 @@ function useSubscribe(props) {
2349
2352
  };
2350
2353
  }, [props.disabled]);
2351
2354
  }
2352
- var isString = (value) => typeof value === "string";
2355
+ var isString$1 = (value) => typeof value === "string";
2353
2356
  var generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {
2354
- if (isString(names)) {
2357
+ if (isString$1(names)) {
2355
2358
  isGlobal && _names.watch.add(names);
2356
2359
  return get(formValues, names, defaultValue);
2357
2360
  }
@@ -2427,7 +2430,7 @@ var isHTMLElement = (value) => {
2427
2430
  const owner = value ? value.ownerDocument : 0;
2428
2431
  return value instanceof (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement);
2429
2432
  };
2430
- var isMessage = (value) => isString(value);
2433
+ var isMessage = (value) => isString$1(value);
2431
2434
  var isRadioInput = (element) => element.type === "radio";
2432
2435
  var isRegex = (value) => value instanceof RegExp;
2433
2436
  const defaultResult = {
@@ -2530,10 +2533,10 @@ var validateField = async (field, formValues, validateAllFieldCriteria, shouldUs
2530
2533
  const convertTimeToDate = (time) => /* @__PURE__ */ new Date((/* @__PURE__ */ new Date()).toDateString() + " " + time);
2531
2534
  const isTime = ref.type == "time";
2532
2535
  const isWeek = ref.type == "week";
2533
- if (isString(maxOutput.value) && inputValue) {
2536
+ if (isString$1(maxOutput.value) && inputValue) {
2534
2537
  exceedMax = isTime ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value) : isWeek ? inputValue > maxOutput.value : valueDate > new Date(maxOutput.value);
2535
2538
  }
2536
- if (isString(minOutput.value) && inputValue) {
2539
+ if (isString$1(minOutput.value) && inputValue) {
2537
2540
  exceedMin = isTime ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value) : isWeek ? inputValue < minOutput.value : valueDate < new Date(minOutput.value);
2538
2541
  }
2539
2542
  }
@@ -2545,7 +2548,7 @@ var validateField = async (field, formValues, validateAllFieldCriteria, shouldUs
2545
2548
  }
2546
2549
  }
2547
2550
  }
2548
- if ((maxLength || minLength) && !isEmpty && (isString(inputValue) || isFieldArray && Array.isArray(inputValue))) {
2551
+ if ((maxLength || minLength) && !isEmpty && (isString$1(inputValue) || isFieldArray && Array.isArray(inputValue))) {
2549
2552
  const maxLengthOutput = getValueAndMessage(maxLength);
2550
2553
  const minLengthOutput = getValueAndMessage(minLength);
2551
2554
  const exceedMax = !isNullOrUndefined(maxLengthOutput.value) && inputValue.length > +maxLengthOutput.value;
@@ -2558,7 +2561,7 @@ var validateField = async (field, formValues, validateAllFieldCriteria, shouldUs
2558
2561
  }
2559
2562
  }
2560
2563
  }
2561
- if (pattern && !isEmpty && isString(inputValue)) {
2564
+ if (pattern && !isEmpty && isString$1(inputValue)) {
2562
2565
  const { value: patternValue, message } = getValueAndMessage(pattern);
2563
2566
  if (isRegex(patternValue) && !inputValue.match(patternValue)) {
2564
2567
  error[name] = {
@@ -2745,7 +2748,7 @@ function getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues
2745
2748
  return dirtyFieldsFromValues;
2746
2749
  }
2747
2750
  var getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));
2748
- var getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value) ? value : valueAsNumber ? value === "" ? NaN : value ? +value : value : valueAsDate && isString(value) ? new Date(value) : setValueAs ? setValueAs(value) : value;
2751
+ var getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value) ? value : valueAsNumber ? value === "" ? NaN : value ? +value : value : valueAsDate && isString$1(value) ? new Date(value) : setValueAs ? setValueAs(value) : value;
2749
2752
  function getFieldValue(_f) {
2750
2753
  const ref = _f.ref;
2751
2754
  if (_f.refs ? _f.refs.every((ref2) => ref2.disabled) : ref.disabled) {
@@ -3039,7 +3042,7 @@ function createFormControl(props = {}, flushRootRender) {
3039
3042
  };
3040
3043
  const _getDirty = (name, data) => (name && data && set(_formValues, name, data), !deepEqual(getValues(), _defaultValues));
3041
3044
  const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {
3042
- ..._state.mount ? _formValues : isUndefined(defaultValue) ? _defaultValues : isString(names) ? { [names]: defaultValue } : defaultValue
3045
+ ..._state.mount ? _formValues : isUndefined(defaultValue) ? _defaultValues : isString$1(names) ? { [names]: defaultValue } : defaultValue
3043
3046
  }, isGlobal, defaultValue);
3044
3047
  const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));
3045
3048
  const setFieldValue = (name, value, options2 = {}) => {
@@ -3198,7 +3201,7 @@ function createFormControl(props = {}, flushRootRender) {
3198
3201
  validationResult = isValid = await executeBuiltInValidation(_fields);
3199
3202
  }
3200
3203
  _subjects.state.next({
3201
- ...!isString(name) || _proxyFormState.isValid && isValid !== _formState.isValid ? {} : { name },
3204
+ ...!isString$1(name) || _proxyFormState.isValid && isValid !== _formState.isValid ? {} : { name },
3202
3205
  ..._options.resolver || !name ? { isValid } : {},
3203
3206
  errors: _formState.errors,
3204
3207
  isValidating: false
@@ -3211,7 +3214,7 @@ function createFormControl(props = {}, flushRootRender) {
3211
3214
  ..._defaultValues,
3212
3215
  ..._state.mount ? _formValues : {}
3213
3216
  };
3214
- return isUndefined(fieldNames) ? values : isString(fieldNames) ? get(values, fieldNames) : fieldNames.map((name) => get(values, name));
3217
+ return isUndefined(fieldNames) ? values : isString$1(fieldNames) ? get(values, fieldNames) : fieldNames.map((name) => get(values, name));
3215
3218
  };
3216
3219
  const getFieldState = (name, formState) => ({
3217
3220
  invalid: !!get((formState || _formState).errors, name),
@@ -3949,19 +3952,21 @@ const ChatInputNumber = ({
3949
3952
  })]
3950
3953
  });
3951
3954
  };
3952
- const invalidPhoneErrorMessage = "That doesn’t look like a valid phone number";
3953
3955
  const UK_CODE = "44";
3956
+ const invalidPhoneErrorMessage = "That doesn’t look like a valid phone number";
3957
+ const errorMessages = (config) => ({
3958
+ min: `The phone number needs to be at least ${config.minChars} digits long.`,
3959
+ max: `The phone number can't be longer than ${config.maxChars} digits.`
3960
+ });
3961
+ const isTextSubmission$1 = index.isSubmissionOfType("string");
3954
3962
  const PhoneSchema = index.string(invalidPhoneErrorMessage, [index.regex(/^\+?[0-9 -]+$/, invalidPhoneErrorMessage)]);
3955
- const getResolver$1 = (config) => {
3956
- const configErrors = {
3957
- maxLength: `Please enter no more than ${config.maxChars ?? 999} characters`,
3958
- minLength: `Please enter ${config.minChars ?? 1} or more characters`
3959
- };
3963
+ const CountryCodeSchema = index.string("Please select a country code", [index.regex(/^\+?[0-9 -]+$/, invalidPhoneErrorMessage)]);
3964
+ const getResolver$1 = () => {
3960
3965
  return i(index.object({
3961
- text: index.transform(PhoneSchema, (value) => value.replace(/[^0-9]/g, ""), [index.minLength(config.minChars ?? 1, configErrors.minLength), index.maxLength(config.maxChars ?? Infinity, configErrors.maxLength)])
3966
+ text: index.transform(PhoneSchema, (value) => value.replace(/[^0-9]/g, ""), []),
3967
+ countryCode: CountryCodeSchema
3962
3968
  }));
3963
3969
  };
3964
- const isTextSubmission$1 = index.isSubmissionOfType("string");
3965
3970
  const ChatInputPhoneNumber = ({
3966
3971
  input,
3967
3972
  onSubmitSuccess
@@ -3969,17 +3974,20 @@ const ChatInputPhoneNumber = ({
3969
3974
  var _a;
3970
3975
  const submission = input.key ? (_a = index.store.current$.value.flow) == null ? void 0 : _a.data.submissions[input.key] : void 0;
3971
3976
  const defaultValue = input.config.defaultValue;
3977
+ const [error, setError] = index.h();
3972
3978
  const {
3973
3979
  register,
3974
3980
  handleSubmit,
3975
3981
  formState: {
3976
3982
  errors: errors2
3977
- }
3983
+ },
3984
+ watch
3978
3985
  } = useForm({
3979
3986
  defaultValues: {
3980
- text: defaultValue ? defaultValue : isTextSubmission$1(submission) ? submission.value : ""
3987
+ text: defaultValue ? defaultValue : isTextSubmission$1(submission) ? submission.value : "",
3988
+ countryCode: UK_CODE
3981
3989
  },
3982
- resolver: getResolver$1(input.config)
3990
+ resolver: getResolver$1()
3983
3991
  });
3984
3992
  const {
3985
3993
  ref: setRef,
@@ -3987,10 +3995,8 @@ const ChatInputPhoneNumber = ({
3987
3995
  } = register("text", {
3988
3996
  required: !input.config.optional
3989
3997
  });
3990
- const defaultCode = UK_CODE;
3991
- const [countryCode, setCountryCode] = index.h(defaultCode);
3992
3998
  const inputRef = index._$1();
3993
- const selectRef = index._$1(null);
3999
+ const countryCodeValue = watch("countryCode");
3994
4000
  index.y(() => {
3995
4001
  if (inputRef.current) {
3996
4002
  inputRef.current.focus();
@@ -4001,9 +4007,14 @@ const ChatInputPhoneNumber = ({
4001
4007
  noValidate: true,
4002
4008
  class: "flex flex-col gap-1 p-2.5",
4003
4009
  onSubmit: handleSubmit((submission2) => {
4010
+ setError(void 0);
4011
+ if (submission2.text.length + submission2.countryCode.length > (input.config.maxChars || Infinity))
4012
+ return setError(errorMessages(input.config).max);
4013
+ if (submission2.text.length + submission2.countryCode.length < (input.config.minChars || 0))
4014
+ return setError(errorMessages(input.config).min);
4004
4015
  onSubmitSuccess({
4005
4016
  type: "string",
4006
- value: countryCode + submission2.text
4017
+ value: countryCodeValue + submission2.text
4007
4018
  });
4008
4019
  }),
4009
4020
  children: [index.o("div", {
@@ -4014,22 +4025,15 @@ const ChatInputPhoneNumber = ({
4014
4025
  class: "text-neutral-12 hover:bg-neutral-4 placeholder:text-neutral-8 focus-within:bg-neutral-5 focus-within:outline-accent-7 relative flex h-full w-12 appearance-none items-center justify-center overflow-hidden text-ellipsis whitespace-nowrap rounded-lg border-solid bg-transparent bg-none py-1.5 text-center text-base transition-colors focus-within:outline-none",
4015
4026
  htmlFor: `isdk_phone_${input.key}`,
4016
4027
  children: [index.o("span", {
4017
- children: ["+", countryCode]
4028
+ children: ["+", countryCodeValue]
4018
4029
  }), index.o("select", {
4019
- ref: selectRef,
4020
- onChange: (e) => {
4021
- var _a2;
4022
- const selectedCode = (_a2 = e.currentTarget.selectedOptions[0]) == null ? void 0 : _a2.value;
4023
- setCountryCode(selectedCode);
4024
- },
4025
- required: true,
4026
- defaultValue: defaultCode,
4030
+ ...register("countryCode", {}),
4027
4031
  id: `isdk_phone_${input.key}`,
4028
4032
  class: "absolute inset-0 opacity-0",
4029
- children: Object.entries(countries).map(([countryName, countryCode2]) => index.o("option", {
4030
- value: countryCode2,
4031
- children: [countryName, " (+", countryCode2, ")"]
4032
- }, countryName))
4033
+ children: Object.entries(countries).map(([name, code]) => index.o("option", {
4034
+ value: code,
4035
+ children: [name, " (+", code, ")"]
4036
+ }, name))
4033
4037
  })]
4034
4038
  }), index.o("input", {
4035
4039
  ...props,
@@ -4054,7 +4058,9 @@ const ChatInputPhoneNumber = ({
4054
4058
  })]
4055
4059
  }), index.o(SendButton, {})]
4056
4060
  }), index.o(InputError, {
4057
- error: errors2.text
4061
+ error: errors2.text || errors2.countryCode || {
4062
+ message: error
4063
+ }
4058
4064
  })]
4059
4065
  });
4060
4066
  };
@@ -4304,6 +4310,77 @@ const ChatInput = () => {
4304
4310
  })
4305
4311
  });
4306
4312
  };
4313
+ var isRegExp = function(re) {
4314
+ return re instanceof RegExp;
4315
+ };
4316
+ var escapeRegExp = function escapeRegExp2(string) {
4317
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reHasRegExpChar = RegExp(reRegExpChar.source);
4318
+ return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, "\\$&") : string;
4319
+ };
4320
+ var isString = function(value) {
4321
+ return typeof value === "string";
4322
+ };
4323
+ var flatten = function(array) {
4324
+ var newArray = [];
4325
+ array.forEach(function(item) {
4326
+ if (Array.isArray(item)) {
4327
+ newArray = newArray.concat(item);
4328
+ } else {
4329
+ newArray.push(item);
4330
+ }
4331
+ });
4332
+ return newArray;
4333
+ };
4334
+ function replaceString(str, match, fn) {
4335
+ var curCharStart = 0;
4336
+ var curCharLen = 0;
4337
+ if (str === "") {
4338
+ return str;
4339
+ } else if (!str || !isString(str)) {
4340
+ throw new TypeError("First argument to react-string-replace#replaceString must be a string");
4341
+ }
4342
+ var re = match;
4343
+ if (!isRegExp(re)) {
4344
+ re = new RegExp("(" + escapeRegExp(re) + ")", "gi");
4345
+ }
4346
+ var result = str.split(re);
4347
+ for (var i2 = 1, length = result.length; i2 < length; i2 += 2) {
4348
+ if (result[i2] === void 0 || result[i2 - 1] === void 0) {
4349
+ console.warn("reactStringReplace: Encountered undefined value during string replacement. Your RegExp may not be working the way you expect.");
4350
+ continue;
4351
+ }
4352
+ curCharLen = result[i2].length;
4353
+ curCharStart += result[i2 - 1].length;
4354
+ result[i2] = fn(result[i2], i2, curCharStart);
4355
+ curCharStart += curCharLen;
4356
+ }
4357
+ return result;
4358
+ }
4359
+ var reactStringReplace = function reactStringReplace2(source, match, fn) {
4360
+ if (!Array.isArray(source))
4361
+ source = [source];
4362
+ return flatten(source.map(function(x) {
4363
+ return isString(x) ? replaceString(x, match, fn) : x;
4364
+ }));
4365
+ };
4366
+ const reactStringReplace$1 = /* @__PURE__ */ index.getDefaultExportFromCjs(reactStringReplace);
4367
+ const urlRegexp = /(https?:\/\/[^\s]+)/g;
4368
+ const emRegexp = /_(.*?)_/g;
4369
+ const strongRegexp = /\*\*(.*?)\*\*/g;
4370
+ const parseMarkdownToJSX = (input) => {
4371
+ const withLinks = reactStringReplace$1(input, urlRegexp, (url, i2) => index.o("a", {
4372
+ class: "text-accent-10 hover:text-accent-11 no-underline",
4373
+ href: url,
4374
+ children: url
4375
+ }, url + i2));
4376
+ const withEm = reactStringReplace$1(withLinks, emRegexp, (match, i2) => index.o("em", {
4377
+ children: match
4378
+ }, match + i2));
4379
+ const withStrong = reactStringReplace$1(withEm, strongRegexp, (match, i2) => index.o("strong", {
4380
+ children: match
4381
+ }, match + i2));
4382
+ return withStrong;
4383
+ };
4307
4384
  const chatBubbleVariants = index.cva("max-w-[min(100%,24rem)] [text-wrap:pretty] leading-snug flex-shrink min-w-[2rem] py-2 px-3 rounded-[18px] min-h-[36px] break-words relative", {
4308
4385
  variants: {
4309
4386
  side: {
@@ -4435,7 +4512,7 @@ const Conversation = ({
4435
4512
  return index.o(ChatBubble, {
4436
4513
  animate: isLastMessage,
4437
4514
  side: authorToSide[message2.author],
4438
- children: [message2.text, isLastSentMessage ? lastSentMessageFooter : null]
4515
+ children: [parseMarkdownToJSX(message2.text), isLastSentMessage ? lastSentMessageFooter : null]
4439
4516
  }, i2);
4440
4517
  }).with({
4441
4518
  type: "link"
package/dist/chatbot.d.ts CHANGED
@@ -40,7 +40,6 @@ export declare const chatbotPlugin: ({ _internal_domManager: dom, theme, }: {
40
40
  /** @deprecated For internal usage only */
41
41
  _internal_domManager?: ChatbotDomManager;
42
42
  }) => ({ apiClient, logger, analytics }: {
43
- /** Optionally eagerly renders the interface ahead of needing the chatbot. */
44
43
  apiClient: import("@inploi/sdk").ApiClient;
45
44
  logger: Logger;
46
45
  analytics: import("@inploi/sdk").AnalyticsService;
@@ -5315,7 +5315,7 @@ const StatusBar = ({
5315
5315
  })
5316
5316
  });
5317
5317
  };
5318
- const ChatbotBody = M(() => Promise.resolve().then(() => require("./chatbot-body-224dcd7d.cjs")).then((module2) => module2.ChatbotBody));
5318
+ const ChatbotBody = M(() => Promise.resolve().then(() => require("./chatbot-body-835049a8.cjs")).then((module2) => module2.ChatbotBody));
5319
5319
  const chatbotContentClass = cva("selection:bg-accent-4 selection:text-accent-12 fixed bottom-2 left-2 right-2 isolate mx-auto max-h-full max-w-[450px] focus:outline-none", {
5320
5320
  variants: {
5321
5321
  view: {
@@ -5411,7 +5411,7 @@ const FlowByJobPayloadSchema = object({
5411
5411
  title: string()
5412
5412
  })
5413
5413
  });
5414
- const tailwind = "#isdk {\n position: relative;\n z-index: 99999;\n font-size: 16px;\n font-family: sans-serif;\n\n /* Lowest colour */\n --i-lowest: 0 0% 100%;\n\n /** Error colours */\n --i-e-1: 340 100% 99%;\n --i-e-2: 353 100% 98%;\n --i-e-3: 351 91% 96%;\n --i-e-4: 351 100% 93%;\n --i-e-5: 350 100% 90%;\n --i-e-6: 351 80% 86%;\n --i-e-7: 349 68% 81%;\n --i-e-8: 348 61% 74%;\n --i-e-9: 348 75% 59%;\n --i-e-10: 347 70% 55%;\n --i-e-11: 345 70% 47%;\n --i-e-12: 344 63% 24%;\n\n --header-height: 44px;\n\n --content-height: calc(100vh - 64px);\n --content-height: calc(100svh - 64px);\n}\n\n @media screen and (min-width: 768px) {#isdk {\n --content-height: min(640px, calc(100vh - 16px));\n --content-height: min(640px, calc(100svh - 16px))\n}\n }\n\n #isdk {\n --tw-content: '';\n font-family:\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Open Sans,\n Helvetica Neue,\n sans-serif;\n}\n\n #isdk * {\n font-weight: inherit;\n font-style: inherit;\n box-sizing: border-box;\n font-family: inherit;\n border-style: solid;\n border-width: 0;\n -webkit-tap-highlight-color: transparent;\n }\n\n #isdk ::before,\n #isdk ::after {\n box-sizing: border-box;\n }\n\n #isdk :is(ul, ol) {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n\n #isdk :is(p) {\n margin: 0;\n padding: 0;\n }\n\n #isdk :is(li) {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n #isdk :is(button) {\n margin: 0;\n padding: 0;\n border: unset;\n background: unset;\n text-align: unset;\n }\n\n #isdk *, #isdk ::before, #isdk ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n #isdk ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n #isdk .container {\n width: 100%;\n}\n\n @media (min-width: 640px) {\n\n #isdk .container {\n max-width: 640px;\n }\n}\n\n @media (min-width: 768px) {\n\n #isdk .container {\n max-width: 768px;\n }\n}\n\n @media (min-width: 1024px) {\n\n #isdk .container {\n max-width: 1024px;\n }\n}\n\n @media (min-width: 1280px) {\n\n #isdk .container {\n max-width: 1280px;\n }\n}\n\n @media (min-width: 1536px) {\n\n #isdk .container {\n max-width: 1536px;\n }\n}\n\n #isdk .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n #isdk .pointer-events-none {\n pointer-events: none;\n}\n\n #isdk .visible {\n visibility: visible;\n}\n\n #isdk .collapse {\n visibility: collapse;\n}\n\n #isdk .static {\n position: static;\n}\n\n #isdk .fixed {\n position: fixed;\n}\n\n #isdk .absolute {\n position: absolute;\n}\n\n #isdk .relative {\n position: relative;\n}\n\n #isdk .sticky {\n position: sticky;\n}\n\n #isdk .inset-0 {\n inset: 0px;\n}\n\n #isdk .bottom-0 {\n bottom: 0px;\n}\n\n #isdk .bottom-2 {\n bottom: 0.5rem;\n}\n\n #isdk .bottom-2\\.5 {\n bottom: 0.625rem;\n}\n\n #isdk .left-0 {\n left: 0px;\n}\n\n #isdk .left-2 {\n left: 0.5rem;\n}\n\n #isdk .right-0 {\n right: 0px;\n}\n\n #isdk .right-2 {\n right: 0.5rem;\n}\n\n #isdk .top-0 {\n top: 0px;\n}\n\n #isdk .isolate {\n isolation: isolate;\n}\n\n #isdk .z-20 {\n z-index: 20;\n}\n\n #isdk .m-0 {\n margin: 0px;\n}\n\n #isdk .mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n #isdk .mb-1 {\n margin-bottom: 0.25rem;\n}\n\n #isdk .ml-auto {\n margin-left: auto;\n}\n\n #isdk .mt-auto {\n margin-top: auto;\n}\n\n #isdk .block {\n display: block;\n}\n\n #isdk .inline-block {\n display: inline-block;\n}\n\n #isdk .inline {\n display: inline;\n}\n\n #isdk .flex {\n display: flex;\n}\n\n #isdk .inline-flex {\n display: inline-flex;\n}\n\n #isdk .table {\n display: table;\n}\n\n #isdk .table-row {\n display: table-row;\n}\n\n #isdk .flow-root {\n display: flow-root;\n}\n\n #isdk .grid {\n display: grid;\n}\n\n #isdk .inline-grid {\n display: inline-grid;\n}\n\n #isdk .contents {\n display: contents;\n}\n\n #isdk .list-item {\n display: list-item;\n}\n\n #isdk .\\!hidden {\n display: none !important;\n}\n\n #isdk .hidden {\n display: none;\n}\n\n #isdk .h-1 {\n height: 0.25rem;\n}\n\n #isdk .h-1\\.5 {\n height: 0.375rem;\n}\n\n #isdk .h-16 {\n height: 4rem;\n}\n\n #isdk .h-4 {\n height: 1rem;\n}\n\n #isdk .h-48 {\n height: 12rem;\n}\n\n #isdk .h-8 {\n height: 2rem;\n}\n\n #isdk .h-\\[3px\\] {\n height: 3px;\n}\n\n #isdk .h-\\[var\\(--content-height\\)\\] {\n height: var(--content-height);\n}\n\n #isdk .h-\\[var\\(--header-height\\)\\] {\n height: var(--header-height);\n}\n\n #isdk .h-full {\n height: 100%;\n}\n\n #isdk .max-h-full {\n max-height: 100%;\n}\n\n #isdk .min-h-\\[36px\\] {\n min-height: 36px;\n}\n\n #isdk .w-1 {\n width: 0.25rem;\n}\n\n #isdk .w-1\\.5 {\n width: 0.375rem;\n}\n\n #isdk .w-12 {\n width: 3rem;\n}\n\n #isdk .w-16 {\n width: 4rem;\n}\n\n #isdk .w-24 {\n width: 6rem;\n}\n\n #isdk .w-4 {\n width: 1rem;\n}\n\n #isdk .w-8 {\n width: 2rem;\n}\n\n #isdk .w-full {\n width: 100%;\n}\n\n #isdk .min-w-0 {\n min-width: 0px;\n}\n\n #isdk .min-w-\\[2rem\\] {\n min-width: 2rem;\n}\n\n #isdk .max-w-\\[450px\\] {\n max-width: 450px;\n}\n\n #isdk .max-w-\\[min\\(100\\%\\2c 24rem\\)\\] {\n max-width: min(100%,24rem);\n}\n\n #isdk .max-w-full {\n max-width: 100%;\n}\n\n #isdk .flex-1 {\n flex: 1 1 0%;\n}\n\n #isdk .flex-none {\n flex: none;\n}\n\n #isdk .flex-shrink {\n flex-shrink: 1;\n}\n\n #isdk .flex-shrink-0 {\n flex-shrink: 0;\n}\n\n #isdk .shrink {\n flex-shrink: 1;\n}\n\n #isdk .flex-grow {\n flex-grow: 1;\n}\n\n #isdk .grow {\n flex-grow: 1;\n}\n\n #isdk .border-collapse {\n border-collapse: collapse;\n}\n\n #isdk .translate-y-full {\n --tw-translate-y: 100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n #isdk .transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n @keyframes bounce {\n\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n #isdk .animate-bounce {\n animation: bounce 1s infinite;\n}\n\n @keyframes bubble-in {\n\n from {\n transform: translateY(100%) scale(0.8);\n opacity: 0;\n }\n\n to {\n transform: translateY(0) scale(1);\n opacity: 1;\n }\n}\n\n #isdk .animate-bubble-in {\n animation: bubble-in 300ms cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n @keyframes fade-in {\n\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n #isdk .animate-fade-in {\n animation: fade-in 500ms cubic-bezier(0.16, 1, 0.3, 1) both;\n}\n\n @keyframes maximise {\n\n from {\n transform: translateY(50%);\n height: var(--header-height);\n }\n\n to {\n transform: translateY(0);\n height: var(--content-height);\n }\n}\n\n #isdk .animate-maximise {\n animation: maximise 400ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n @keyframes slide-in-bottom {\n\n from {\n transform: translateY(-100%);\n }\n\n to {\n transform: translateY(0);\n }\n}\n\n #isdk .animate-slide-in-bottom {\n animation: slide-in-bottom 300ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n #isdk .cursor-pointer {\n cursor: pointer;\n}\n\n #isdk .select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n #isdk .resize {\n resize: both;\n}\n\n #isdk .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n #isdk .flex-col {\n flex-direction: column;\n}\n\n #isdk .flex-wrap {\n flex-wrap: wrap;\n}\n\n #isdk .items-center {\n align-items: center;\n}\n\n #isdk .items-stretch {\n align-items: stretch;\n}\n\n #isdk .justify-end {\n justify-content: flex-end;\n}\n\n #isdk .justify-center {\n justify-content: center;\n}\n\n #isdk .gap-0 {\n gap: 0px;\n}\n\n #isdk .gap-1 {\n gap: 0.25rem;\n}\n\n #isdk .gap-1\\.5 {\n gap: 0.375rem;\n}\n\n #isdk .gap-2 {\n gap: 0.5rem;\n}\n\n #isdk .gap-3 {\n gap: 0.75rem;\n}\n\n #isdk .gap-4 {\n gap: 1rem;\n}\n\n #isdk .gap-px {\n gap: 1px;\n}\n\n #isdk .overflow-hidden {\n overflow: hidden;\n}\n\n #isdk .overflow-y-auto {\n overflow-y: auto;\n}\n\n #isdk .overflow-y-scroll {\n overflow-y: scroll;\n}\n\n #isdk .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n #isdk .text-ellipsis {\n text-overflow: ellipsis;\n}\n\n #isdk .whitespace-nowrap {\n white-space: nowrap;\n}\n\n #isdk .break-words {\n overflow-wrap: break-word;\n}\n\n #isdk .rounded {\n border-radius: 0.25rem;\n}\n\n #isdk .rounded-2xl {\n border-radius: 1rem;\n}\n\n #isdk .rounded-3xl {\n border-radius: 1.5rem;\n}\n\n #isdk .rounded-\\[18px\\] {\n border-radius: 18px;\n}\n\n #isdk .rounded-full {\n border-radius: 9999px;\n}\n\n #isdk .rounded-lg {\n border-radius: 0.5rem;\n}\n\n #isdk .rounded-md {\n border-radius: 0.375rem;\n}\n\n #isdk .rounded-xl {\n border-radius: 0.75rem;\n}\n\n #isdk .rounded-b-3xl {\n border-bottom-right-radius: 1.5rem;\n border-bottom-left-radius: 1.5rem;\n}\n\n #isdk .rounded-bl-md {\n border-bottom-left-radius: 0.375rem;\n}\n\n #isdk .rounded-br-md {\n border-bottom-right-radius: 0.375rem;\n}\n\n #isdk .border {\n border-width: 1px;\n}\n\n #isdk .border-b {\n border-bottom-width: 1px;\n}\n\n #isdk .border-t {\n border-top-width: 1px;\n}\n\n #isdk .border-solid {\n border-style: solid;\n}\n\n #isdk .border-dashed {\n border-style: dashed;\n}\n\n #isdk .border-accent-9 {\n border-color: var(--i-color-a-9);\n}\n\n #isdk .border-divider {\n border-color: var(--i-color-divider);\n}\n\n #isdk .border-neutral-5 {\n border-color: var(--i-color-n-5);\n}\n\n #isdk .border-neutral-8 {\n border-color: var(--i-color-n-8);\n}\n\n #isdk .border-transparent {\n border-color: transparent;\n}\n\n #isdk .border-b-neutral-3 {\n border-bottom-color: var(--i-color-n-3);\n}\n\n #isdk .border-b-neutral-5 {\n border-bottom-color: var(--i-color-n-5);\n}\n\n #isdk .border-b-transparent {\n border-bottom-color: transparent;\n}\n\n #isdk .bg-accent-1 {\n background-color: var(--i-color-a-1);\n}\n\n #isdk .bg-accent-3 {\n background-color: var(--i-color-a-3);\n}\n\n #isdk .bg-accent-9 {\n background-color: var(--i-color-a-9);\n}\n\n #isdk .bg-bubble-weak-bg {\n background-color: var(--i-bubble-weak-bg);\n}\n\n #isdk .bg-lowest {\n background-color: var(--i-color-lowest);\n}\n\n #isdk .bg-neutral-1 {\n background-color: var(--i-color-n-1);\n}\n\n #isdk .bg-neutral-2 {\n background-color: var(--i-color-n-2);\n}\n\n #isdk .bg-neutral-3 {\n background-color: var(--i-color-n-3);\n}\n\n #isdk .bg-overlay {\n background-color: var(--i-overlay-bg);\n}\n\n #isdk .bg-statusbar {\n background-color: var(--i-status-bar-bg);\n}\n\n #isdk .bg-transparent {\n background-color: transparent;\n}\n\n #isdk .bg-none {\n background-image: none;\n}\n\n #isdk .p-1 {\n padding: 0.25rem;\n}\n\n #isdk .p-1\\.5 {\n padding: 0.375rem;\n}\n\n #isdk .p-2 {\n padding: 0.5rem;\n}\n\n #isdk .p-2\\.5 {\n padding: 0.625rem;\n}\n\n #isdk .p-4 {\n padding: 1rem;\n}\n\n #isdk .px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n\n #isdk .px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n #isdk .px-2\\.5 {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n}\n\n #isdk .px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n #isdk .px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n #isdk .px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n #isdk .py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n\n #isdk .py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n\n #isdk .py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n #isdk .py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n\n #isdk .py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n #isdk .py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n\n #isdk .py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n #isdk .py-\\[6px\\] {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n\n #isdk .pb-2 {\n padding-bottom: 0.5rem;\n}\n\n #isdk .pb-6 {\n padding-bottom: 1.5rem;\n}\n\n #isdk .pl-1 {\n padding-left: 0.25rem;\n}\n\n #isdk .pl-1\\.5 {\n padding-left: 0.375rem;\n}\n\n #isdk .pl-2 {\n padding-left: 0.5rem;\n}\n\n #isdk .pl-4 {\n padding-left: 1rem;\n}\n\n #isdk .pr-1 {\n padding-right: 0.25rem;\n}\n\n #isdk .pr-2 {\n padding-right: 0.5rem;\n}\n\n #isdk .pr-2\\.5 {\n padding-right: 0.625rem;\n}\n\n #isdk .pr-3 {\n padding-right: 0.75rem;\n}\n\n #isdk .pr-4 {\n padding-right: 1rem;\n}\n\n #isdk .pt-2 {\n padding-top: 0.5rem;\n}\n\n #isdk .pt-2\\.5 {\n padding-top: 0.625rem;\n}\n\n #isdk .pt-3 {\n padding-top: 0.75rem;\n}\n\n #isdk .pt-5 {\n padding-top: 1.25rem;\n}\n\n #isdk .pt-\\[calc\\(var\\(--header-height\\)\\+1rem\\)\\] {\n padding-top: calc(var(--header-height) + 1rem);\n}\n\n #isdk .text-center {\n text-align: center;\n}\n\n #isdk .text-right {\n text-align: right;\n}\n\n #isdk .text-justify {\n text-align: justify;\n}\n\n #isdk .text-\\[10px\\] {\n font-size: 10px;\n}\n\n #isdk .text-\\[11px\\] {\n font-size: 11px;\n}\n\n #isdk .text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n #isdk .text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n\n #isdk .text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n #isdk .font-bold {\n font-weight: 700;\n}\n\n #isdk .font-medium {\n font-weight: 500;\n}\n\n #isdk .uppercase {\n text-transform: uppercase;\n}\n\n #isdk .lowercase {\n text-transform: lowercase;\n}\n\n #isdk .capitalize {\n text-transform: capitalize;\n}\n\n #isdk .italic {\n font-style: italic;\n}\n\n #isdk .ordinal {\n --tw-ordinal: ordinal;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n\n #isdk .leading-3 {\n line-height: .75rem;\n}\n\n #isdk .leading-snug {\n line-height: 1.375;\n}\n\n #isdk .tracking-\\[-0\\.01em\\] {\n letter-spacing: -0.01em;\n}\n\n #isdk .tracking-tight {\n letter-spacing: -0.025em;\n}\n\n #isdk .tracking-wide {\n letter-spacing: 0.025em;\n}\n\n #isdk .tracking-widest {\n letter-spacing: 0.1em;\n}\n\n #isdk .text-\\[\\#4CAF50\\] {\n --tw-text-opacity: 1;\n color: rgb(76 175 80 / var(--tw-text-opacity));\n}\n\n #isdk .text-\\[\\#FFC107\\] {\n --tw-text-opacity: 1;\n color: rgb(255 193 7 / var(--tw-text-opacity));\n}\n\n #isdk .text-accent-11 {\n color: var(--i-color-a-11);\n}\n\n #isdk .text-accent-12 {\n color: var(--i-color-a-12);\n}\n\n #isdk .text-accent-9 {\n color: var(--i-color-a-9);\n}\n\n #isdk .text-error-11 {\n color: var(--i-color-e-11);\n}\n\n #isdk .text-error-9 {\n color: var(--i-color-e-9);\n}\n\n #isdk .text-interactive-copy {\n color: var(--i-interactive-copy);\n}\n\n #isdk .text-neutral-10 {\n color: var(--i-color-n-10);\n}\n\n #isdk .text-neutral-11 {\n color: var(--i-color-n-11);\n}\n\n #isdk .text-neutral-12 {\n color: var(--i-color-n-12);\n}\n\n #isdk .text-neutral-6 {\n color: var(--i-color-n-6);\n}\n\n #isdk .text-neutral-8 {\n color: var(--i-color-n-8);\n}\n\n #isdk .text-neutral-9 {\n color: var(--i-color-n-9);\n}\n\n #isdk .text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n #isdk .underline {\n text-decoration-line: underline;\n}\n\n #isdk .no-underline {\n text-decoration-line: none;\n}\n\n #isdk .underline-offset-2 {\n text-underline-offset: 2px;\n}\n\n #isdk .caret-accent-9 {\n caret-color: var(--i-color-a-9);\n}\n\n #isdk .opacity-0 {\n opacity: 0;\n}\n\n #isdk .shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .shadow-surface-md {\n --tw-shadow: 0px 3px 3px 0px oklch(0% 0 0 / 0.03), 0px 6px 4px 0px oklch(0% 0 0 / 0.02), 0px 6px 4px 0px oklch(0% 0 0 / 0.01);\n --tw-shadow-colored: 0px 3px 3px 0px var(--tw-shadow-color), 0px 6px 4px 0px var(--tw-shadow-color), 0px 6px 4px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .shadow-surface-sm {\n --tw-shadow: 0px 3px 3px 0px oklch(0% 0 0 / 0.03), 0px 4px 4px 0px oklch(0% 0 0 / 0.02);\n --tw-shadow-colored: 0px 3px 3px 0px var(--tw-shadow-color), 0px 4px 4px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .shadow-bubble-strong-shadow {\n --tw-shadow-color: var(--i-bubble-strong-shadow);\n --tw-shadow: var(--tw-shadow-colored);\n}\n\n #isdk .outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #isdk .outline {\n outline-style: solid;\n}\n\n #isdk .outline-1 {\n outline-width: 1px;\n}\n\n #isdk .outline-2 {\n outline-width: 2px;\n}\n\n #isdk .outline-accent-4 {\n outline-color: var(--i-color-a-4);\n}\n\n #isdk .outline-bubble-weak {\n outline-color: var(--i-bubble-weak-outline);\n}\n\n #isdk .outline-divider {\n outline-color: var(--i-color-divider);\n}\n\n #isdk .outline-neutral-3 {\n outline-color: var(--i-color-n-3);\n}\n\n #isdk .outline-neutral-6 {\n outline-color: var(--i-color-n-6);\n}\n\n #isdk .ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .ring-2 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .ring-accent-6 {\n --tw-ring-color: var(--i-color-a-6);\n}\n\n #isdk .ring-divider {\n --tw-ring-color: var(--i-color-divider);\n}\n\n #isdk .ring-lowest {\n --tw-ring-color: var(--i-color-lowest);\n}\n\n #isdk .ring-transparent {\n --tw-ring-color: transparent;\n}\n\n #isdk .ring-offset-\\[1\\.5px\\] {\n --tw-ring-offset-width: 1.5px;\n}\n\n #isdk .ring-offset-neutral-1 {\n --tw-ring-offset-color: var(--i-color-n-1);\n}\n\n #isdk .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 #isdk .drop-shadow-\\[0_1\\.5px_var\\(--i-color-n-1\\)\\] {\n --tw-drop-shadow: drop-shadow(0 1.5px var(--i-color-n-1));\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 #isdk .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #isdk .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #isdk .sepia {\n --tw-sepia: sepia(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #isdk .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 #isdk .backdrop-blur-md {\n --tw-backdrop-blur: blur(12px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #isdk .backdrop-blur-xl {\n --tw-backdrop-blur: blur(24px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #isdk .backdrop-saturate-150 {\n --tw-backdrop-saturate: saturate(1.5);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #isdk .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #isdk .transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #isdk .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #isdk .transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #isdk .duration-100 {\n transition-duration: 100ms;\n}\n\n #isdk .duration-1000 {\n transition-duration: 1000ms;\n}\n\n #isdk .duration-300 {\n transition-duration: 300ms;\n}\n\n #isdk .duration-700 {\n transition-duration: 700ms;\n}\n\n #isdk .ease-expo-out {\n transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n #isdk .ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n #isdk .will-change-\\[height\\] {\n will-change: height;\n}\n\n #isdk .text-wrap-balance {\n text-wrap: balance;\n}\n\n #isdk .fr {\n outline: none;\n}\n\n #isdk .fr:focus {\n outline: none;\n}\n\n #isdk .fr:focus-visible {\n outline: none;\n --tw-ring-offset-width: 1px;\n --tw-ring-offset-color: var(--i-color-lowest);\n --tw-ring-opacity: 1;\n --tw-ring-color: var(--i-color-a-9);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .gutter-stable {\n scrollbar-gutter: stable;\n}\n\n #isdk .hide-scrollbars::-webkit-scrollbar {\n display: none;\n}\n\n #isdk .hide-scrollbars {\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n #isdk .touch-hitbox::before {\n content: '';\n position: absolute;\n display: block;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n height: 100%;\n min-height: 44px;\n min-width: 44px;\n z-index: 9999;\n}\n\n #isdk .\\[-webkit-outer-spin-button\\:none\\] {\n -webkit-outer-spin-button: none;\n}\n\n #isdk .\\[a-zA-Z0-9-_\\:\\.\\$\\@\\?\\] {\n a-z-a--z0-9-_: .$@?;\n}\n\n #isdk .\\[grid-template-columns\\:min-content_1fr\\] {\n grid-template-columns: min-content 1fr;\n}\n\n #isdk .\\[text-wrap\\:pretty\\] {\n text-wrap: pretty;\n}\n\n #isdk .selection\\:bg-accent-4 *::-moz-selection {\n background-color: var(--i-color-a-4);\n}\n\n #isdk .selection\\:bg-accent-4 *::selection {\n background-color: var(--i-color-a-4);\n}\n\n #isdk .selection\\:bg-transparent *::-moz-selection {\n background-color: transparent;\n}\n\n #isdk .selection\\:bg-transparent *::selection {\n background-color: transparent;\n}\n\n #isdk .selection\\:text-accent-12 *::-moz-selection {\n color: var(--i-color-a-12);\n}\n\n #isdk .selection\\:text-accent-12 *::selection {\n color: var(--i-color-a-12);\n}\n\n #isdk .selection\\:bg-accent-4::-moz-selection {\n background-color: var(--i-color-a-4);\n}\n\n #isdk .selection\\:bg-accent-4::selection {\n background-color: var(--i-color-a-4);\n}\n\n #isdk .selection\\:bg-transparent::-moz-selection {\n background-color: transparent;\n}\n\n #isdk .selection\\:bg-transparent::selection {\n background-color: transparent;\n}\n\n #isdk .selection\\:text-accent-12::-moz-selection {\n color: var(--i-color-a-12);\n}\n\n #isdk .selection\\:text-accent-12::selection {\n color: var(--i-color-a-12);\n}\n\n #isdk .placeholder\\:text-neutral-10::-moz-placeholder {\n color: var(--i-color-n-10);\n}\n\n #isdk .placeholder\\:text-neutral-10::placeholder {\n color: var(--i-color-n-10);\n}\n\n #isdk .placeholder\\:text-neutral-8::-moz-placeholder {\n color: var(--i-color-n-8);\n}\n\n #isdk .placeholder\\:text-neutral-8::placeholder {\n color: var(--i-color-n-8);\n}\n\n #isdk .autofill\\:shadow-\\[inset_0_0_0_1000px_hsl\\(210_16\\.7\\%_97\\.6\\%\\)\\]:-webkit-autofill {\n --tw-shadow: inset 0 0 0 1000px hsl(210 16.7% 97.6%);\n --tw-shadow-colored: inset 0 0 0 1000px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .autofill\\:shadow-\\[inset_0_0_0_1000px_hsl\\(210_16\\.7\\%_97\\.6\\%\\)\\]:autofill {\n --tw-shadow: inset 0 0 0 1000px hsl(210 16.7% 97.6%);\n --tw-shadow-colored: inset 0 0 0 1000px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .focus-within\\:bg-neutral-5:focus-within {\n background-color: var(--i-color-n-5);\n}\n\n #isdk .focus-within\\:outline-none:focus-within {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #isdk .focus-within\\:outline-accent-7:focus-within {\n outline-color: var(--i-color-a-7);\n}\n\n #isdk .hover\\:border-accent-10:hover {\n border-color: var(--i-color-a-10);\n}\n\n #isdk .hover\\:border-neutral-5:hover {\n border-color: var(--i-color-n-5);\n}\n\n #isdk .hover\\:bg-accent-10:hover {\n background-color: var(--i-color-a-10);\n}\n\n #isdk .hover\\:bg-interactive-bg-hover:hover {\n background-color: var(--i-interactive-bg-hover);\n}\n\n #isdk .hover\\:bg-neutral-2:hover {\n background-color: var(--i-color-n-2);\n}\n\n #isdk .hover\\:bg-neutral-3:hover {\n background-color: var(--i-color-n-3);\n}\n\n #isdk .hover\\:bg-neutral-4:hover {\n background-color: var(--i-color-n-4);\n}\n\n #isdk .hover\\:text-interactive-copy-hover:hover {\n color: var(--i-interactive-copy-hover);\n}\n\n #isdk .hover\\:text-neutral-12:hover {\n color: var(--i-color-n-12);\n}\n\n #isdk .hover\\:ring-accent-8:hover {\n --tw-ring-color: var(--i-color-a-8);\n}\n\n #isdk .focus\\:bg-neutral-5:focus {\n background-color: var(--i-color-n-5);\n}\n\n #isdk .focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #isdk .focus-visible\\:bg-neutral-3:focus-visible {\n background-color: var(--i-color-n-3);\n}\n\n #isdk .focus-visible\\:outline-2:focus-visible {\n outline-width: 2px;\n}\n\n #isdk .focus-visible\\:outline-accent-7:focus-visible {\n outline-color: var(--i-color-a-7);\n}\n\n #isdk .focus-visible\\:outline-accent-8:focus-visible {\n outline-color: var(--i-color-a-8);\n}\n\n #isdk .focus-visible\\:ring-4:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n\n #isdk .active\\:border-submit-bg-active:active {\n border-color: var(--i-submit-button-bg-active);\n}\n\n #isdk .active\\:bg-accent-10:active {\n background-color: var(--i-color-a-10);\n}\n\n #isdk .active\\:bg-accent-2:active {\n background-color: var(--i-color-a-2);\n}\n\n #isdk .active\\:bg-interactive-bg-active:active {\n background-color: var(--i-interactive-bg-active);\n}\n\n #isdk .active\\:bg-submit-bg-active:active {\n background-color: var(--i-submit-button-bg-active);\n}\n\n #isdk .active\\:text-accent-10:active {\n color: var(--i-color-a-10);\n}\n\n #isdk .active\\:text-accent-11:active {\n color: var(--i-color-a-11);\n}\n\n #isdk .active\\:text-interactive-copy-active:active {\n color: var(--i-interactive-copy-active);\n}\n\n #isdk .active\\:outline-neutral-8:active {\n outline-color: var(--i-color-n-8);\n}\n\n #isdk .active\\:ring-2:active {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .active\\:ring-accent-7:active {\n --tw-ring-color: var(--i-color-a-7);\n}\n\n #isdk .active\\:ring-offset-2:active {\n --tw-ring-offset-width: 2px;\n}\n\n #isdk .disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n #isdk .disabled\\:opacity-50:disabled {\n opacity: 0.5;\n}\n\n #isdk .peer:checked ~ .peer-checked\\:bg-accent-2 {\n background-color: var(--i-color-a-2);\n}\n\n #isdk .peer:checked ~ .peer-checked\\:text-accent-9 {\n color: var(--i-color-a-9);\n}\n\n #isdk .peer:checked ~ .peer-checked\\:outline-accent-7 {\n outline-color: var(--i-color-a-7);\n}\n\n #isdk .peer:focus-visible ~ .peer-focus-visible\\:ring-4 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .peer:focus-visible ~ .peer-focus-visible\\:ring-accent-9 {\n --tw-ring-color: var(--i-color-a-9);\n}\n\n #isdk .peer:focus-visible ~ .peer-focus-visible\\:ring-offset-accent-7 {\n --tw-ring-offset-color: var(--i-color-a-7);\n}\n\n @media (pointer: coarse) {\n\n #isdk .pointer-coarse\\:touch-hitbox\\:\\:before::before {\n content: '';\n position: absolute;\n display: block;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n height: 100%;\n min-height: 44px;\n min-width: 44px;\n z-index: 9999;\n }\n}\n\n #isdk .\\[\\&\\:has\\(\\+\\*\\>input\\:focus\\)\\]\\:text-neutral-11:has(+*>input:focus) {\n color: var(--i-color-n-11);\n}\n";
5414
+ const tailwind = "#isdk {\n position: relative;\n z-index: 99999;\n font-size: 16px;\n font-family: sans-serif;\n\n /* Lowest colour */\n --i-lowest: 0 0% 100%;\n\n /** Error colours */\n --i-e-1: 340 100% 99%;\n --i-e-2: 353 100% 98%;\n --i-e-3: 351 91% 96%;\n --i-e-4: 351 100% 93%;\n --i-e-5: 350 100% 90%;\n --i-e-6: 351 80% 86%;\n --i-e-7: 349 68% 81%;\n --i-e-8: 348 61% 74%;\n --i-e-9: 348 75% 59%;\n --i-e-10: 347 70% 55%;\n --i-e-11: 345 70% 47%;\n --i-e-12: 344 63% 24%;\n\n --header-height: 44px;\n\n --content-height: calc(100vh - 64px);\n --content-height: calc(100svh - 64px);\n}\n\n @media screen and (min-width: 768px) {#isdk {\n --content-height: min(640px, calc(100vh - 16px));\n --content-height: min(640px, calc(100svh - 16px))\n}\n }\n\n #isdk {\n --tw-content: '';\n font-family:\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Open Sans,\n Helvetica Neue,\n sans-serif;\n}\n\n #isdk em {\n font-style: italic;\n }\n\n #isdk strong {\n font-weight: bold;\n }\n\n #isdk * {\n font-weight: inherit;\n font-style: inherit;\n box-sizing: border-box;\n font-family: inherit;\n border-style: solid;\n border-width: 0;\n -webkit-tap-highlight-color: transparent;\n }\n\n #isdk ::before,\n #isdk ::after {\n box-sizing: border-box;\n }\n\n #isdk :is(ul, ol) {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n\n #isdk :is(p) {\n margin: 0;\n padding: 0;\n }\n\n #isdk :is(li) {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n #isdk :is(button) {\n margin: 0;\n padding: 0;\n border: unset;\n background: unset;\n text-align: unset;\n }\n\n #isdk *, #isdk ::before, #isdk ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n #isdk ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n #isdk .container {\n width: 100%;\n}\n\n @media (min-width: 640px) {\n\n #isdk .container {\n max-width: 640px;\n }\n}\n\n @media (min-width: 768px) {\n\n #isdk .container {\n max-width: 768px;\n }\n}\n\n @media (min-width: 1024px) {\n\n #isdk .container {\n max-width: 1024px;\n }\n}\n\n @media (min-width: 1280px) {\n\n #isdk .container {\n max-width: 1280px;\n }\n}\n\n @media (min-width: 1536px) {\n\n #isdk .container {\n max-width: 1536px;\n }\n}\n\n #isdk .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n #isdk .pointer-events-none {\n pointer-events: none;\n}\n\n #isdk .visible {\n visibility: visible;\n}\n\n #isdk .collapse {\n visibility: collapse;\n}\n\n #isdk .static {\n position: static;\n}\n\n #isdk .fixed {\n position: fixed;\n}\n\n #isdk .absolute {\n position: absolute;\n}\n\n #isdk .relative {\n position: relative;\n}\n\n #isdk .sticky {\n position: sticky;\n}\n\n #isdk .inset-0 {\n inset: 0px;\n}\n\n #isdk .bottom-0 {\n bottom: 0px;\n}\n\n #isdk .bottom-2 {\n bottom: 0.5rem;\n}\n\n #isdk .bottom-2\\.5 {\n bottom: 0.625rem;\n}\n\n #isdk .left-0 {\n left: 0px;\n}\n\n #isdk .left-2 {\n left: 0.5rem;\n}\n\n #isdk .right-0 {\n right: 0px;\n}\n\n #isdk .right-2 {\n right: 0.5rem;\n}\n\n #isdk .top-0 {\n top: 0px;\n}\n\n #isdk .isolate {\n isolation: isolate;\n}\n\n #isdk .z-20 {\n z-index: 20;\n}\n\n #isdk .m-0 {\n margin: 0px;\n}\n\n #isdk .mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n #isdk .mb-1 {\n margin-bottom: 0.25rem;\n}\n\n #isdk .ml-auto {\n margin-left: auto;\n}\n\n #isdk .mt-auto {\n margin-top: auto;\n}\n\n #isdk .block {\n display: block;\n}\n\n #isdk .inline-block {\n display: inline-block;\n}\n\n #isdk .inline {\n display: inline;\n}\n\n #isdk .flex {\n display: flex;\n}\n\n #isdk .inline-flex {\n display: inline-flex;\n}\n\n #isdk .table {\n display: table;\n}\n\n #isdk .table-row {\n display: table-row;\n}\n\n #isdk .flow-root {\n display: flow-root;\n}\n\n #isdk .grid {\n display: grid;\n}\n\n #isdk .inline-grid {\n display: inline-grid;\n}\n\n #isdk .contents {\n display: contents;\n}\n\n #isdk .list-item {\n display: list-item;\n}\n\n #isdk .\\!hidden {\n display: none !important;\n}\n\n #isdk .hidden {\n display: none;\n}\n\n #isdk .h-1 {\n height: 0.25rem;\n}\n\n #isdk .h-1\\.5 {\n height: 0.375rem;\n}\n\n #isdk .h-16 {\n height: 4rem;\n}\n\n #isdk .h-4 {\n height: 1rem;\n}\n\n #isdk .h-48 {\n height: 12rem;\n}\n\n #isdk .h-8 {\n height: 2rem;\n}\n\n #isdk .h-\\[3px\\] {\n height: 3px;\n}\n\n #isdk .h-\\[var\\(--content-height\\)\\] {\n height: var(--content-height);\n}\n\n #isdk .h-\\[var\\(--header-height\\)\\] {\n height: var(--header-height);\n}\n\n #isdk .h-full {\n height: 100%;\n}\n\n #isdk .max-h-full {\n max-height: 100%;\n}\n\n #isdk .min-h-\\[36px\\] {\n min-height: 36px;\n}\n\n #isdk .w-1 {\n width: 0.25rem;\n}\n\n #isdk .w-1\\.5 {\n width: 0.375rem;\n}\n\n #isdk .w-12 {\n width: 3rem;\n}\n\n #isdk .w-16 {\n width: 4rem;\n}\n\n #isdk .w-24 {\n width: 6rem;\n}\n\n #isdk .w-4 {\n width: 1rem;\n}\n\n #isdk .w-8 {\n width: 2rem;\n}\n\n #isdk .w-full {\n width: 100%;\n}\n\n #isdk .min-w-0 {\n min-width: 0px;\n}\n\n #isdk .min-w-\\[2rem\\] {\n min-width: 2rem;\n}\n\n #isdk .max-w-\\[450px\\] {\n max-width: 450px;\n}\n\n #isdk .max-w-\\[min\\(100\\%\\2c 24rem\\)\\] {\n max-width: min(100%,24rem);\n}\n\n #isdk .max-w-full {\n max-width: 100%;\n}\n\n #isdk .flex-1 {\n flex: 1 1 0%;\n}\n\n #isdk .flex-none {\n flex: none;\n}\n\n #isdk .flex-shrink {\n flex-shrink: 1;\n}\n\n #isdk .flex-shrink-0 {\n flex-shrink: 0;\n}\n\n #isdk .shrink {\n flex-shrink: 1;\n}\n\n #isdk .flex-grow {\n flex-grow: 1;\n}\n\n #isdk .grow {\n flex-grow: 1;\n}\n\n #isdk .border-collapse {\n border-collapse: collapse;\n}\n\n #isdk .translate-y-full {\n --tw-translate-y: 100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n #isdk .transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n @keyframes bounce {\n\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n #isdk .animate-bounce {\n animation: bounce 1s infinite;\n}\n\n @keyframes bubble-in {\n\n from {\n transform: translateY(100%) scale(0.8);\n opacity: 0;\n }\n\n to {\n transform: translateY(0) scale(1);\n opacity: 1;\n }\n}\n\n #isdk .animate-bubble-in {\n animation: bubble-in 300ms cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n @keyframes fade-in {\n\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n #isdk .animate-fade-in {\n animation: fade-in 500ms cubic-bezier(0.16, 1, 0.3, 1) both;\n}\n\n @keyframes maximise {\n\n from {\n transform: translateY(50%);\n height: var(--header-height);\n }\n\n to {\n transform: translateY(0);\n height: var(--content-height);\n }\n}\n\n #isdk .animate-maximise {\n animation: maximise 400ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n @keyframes slide-in-bottom {\n\n from {\n transform: translateY(-100%);\n }\n\n to {\n transform: translateY(0);\n }\n}\n\n #isdk .animate-slide-in-bottom {\n animation: slide-in-bottom 300ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n #isdk .cursor-pointer {\n cursor: pointer;\n}\n\n #isdk .select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n #isdk .resize {\n resize: both;\n}\n\n #isdk .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n #isdk .flex-col {\n flex-direction: column;\n}\n\n #isdk .flex-wrap {\n flex-wrap: wrap;\n}\n\n #isdk .items-center {\n align-items: center;\n}\n\n #isdk .items-stretch {\n align-items: stretch;\n}\n\n #isdk .justify-end {\n justify-content: flex-end;\n}\n\n #isdk .justify-center {\n justify-content: center;\n}\n\n #isdk .gap-0 {\n gap: 0px;\n}\n\n #isdk .gap-1 {\n gap: 0.25rem;\n}\n\n #isdk .gap-1\\.5 {\n gap: 0.375rem;\n}\n\n #isdk .gap-2 {\n gap: 0.5rem;\n}\n\n #isdk .gap-3 {\n gap: 0.75rem;\n}\n\n #isdk .gap-4 {\n gap: 1rem;\n}\n\n #isdk .gap-px {\n gap: 1px;\n}\n\n #isdk .overflow-hidden {\n overflow: hidden;\n}\n\n #isdk .overflow-y-auto {\n overflow-y: auto;\n}\n\n #isdk .overflow-y-scroll {\n overflow-y: scroll;\n}\n\n #isdk .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n #isdk .text-ellipsis {\n text-overflow: ellipsis;\n}\n\n #isdk .whitespace-nowrap {\n white-space: nowrap;\n}\n\n #isdk .break-words {\n overflow-wrap: break-word;\n}\n\n #isdk .rounded {\n border-radius: 0.25rem;\n}\n\n #isdk .rounded-2xl {\n border-radius: 1rem;\n}\n\n #isdk .rounded-3xl {\n border-radius: 1.5rem;\n}\n\n #isdk .rounded-\\[18px\\] {\n border-radius: 18px;\n}\n\n #isdk .rounded-full {\n border-radius: 9999px;\n}\n\n #isdk .rounded-lg {\n border-radius: 0.5rem;\n}\n\n #isdk .rounded-md {\n border-radius: 0.375rem;\n}\n\n #isdk .rounded-xl {\n border-radius: 0.75rem;\n}\n\n #isdk .rounded-b-3xl {\n border-bottom-right-radius: 1.5rem;\n border-bottom-left-radius: 1.5rem;\n}\n\n #isdk .rounded-bl-md {\n border-bottom-left-radius: 0.375rem;\n}\n\n #isdk .rounded-br-md {\n border-bottom-right-radius: 0.375rem;\n}\n\n #isdk .border {\n border-width: 1px;\n}\n\n #isdk .border-b {\n border-bottom-width: 1px;\n}\n\n #isdk .border-t {\n border-top-width: 1px;\n}\n\n #isdk .border-solid {\n border-style: solid;\n}\n\n #isdk .border-dashed {\n border-style: dashed;\n}\n\n #isdk .border-accent-9 {\n border-color: var(--i-color-a-9);\n}\n\n #isdk .border-divider {\n border-color: var(--i-color-divider);\n}\n\n #isdk .border-neutral-5 {\n border-color: var(--i-color-n-5);\n}\n\n #isdk .border-neutral-8 {\n border-color: var(--i-color-n-8);\n}\n\n #isdk .border-transparent {\n border-color: transparent;\n}\n\n #isdk .border-b-neutral-3 {\n border-bottom-color: var(--i-color-n-3);\n}\n\n #isdk .border-b-neutral-5 {\n border-bottom-color: var(--i-color-n-5);\n}\n\n #isdk .border-b-transparent {\n border-bottom-color: transparent;\n}\n\n #isdk .bg-accent-1 {\n background-color: var(--i-color-a-1);\n}\n\n #isdk .bg-accent-3 {\n background-color: var(--i-color-a-3);\n}\n\n #isdk .bg-accent-9 {\n background-color: var(--i-color-a-9);\n}\n\n #isdk .bg-bubble-weak-bg {\n background-color: var(--i-bubble-weak-bg);\n}\n\n #isdk .bg-lowest {\n background-color: var(--i-color-lowest);\n}\n\n #isdk .bg-neutral-1 {\n background-color: var(--i-color-n-1);\n}\n\n #isdk .bg-neutral-2 {\n background-color: var(--i-color-n-2);\n}\n\n #isdk .bg-neutral-3 {\n background-color: var(--i-color-n-3);\n}\n\n #isdk .bg-overlay {\n background-color: var(--i-overlay-bg);\n}\n\n #isdk .bg-statusbar {\n background-color: var(--i-status-bar-bg);\n}\n\n #isdk .bg-transparent {\n background-color: transparent;\n}\n\n #isdk .bg-none {\n background-image: none;\n}\n\n #isdk .p-1 {\n padding: 0.25rem;\n}\n\n #isdk .p-1\\.5 {\n padding: 0.375rem;\n}\n\n #isdk .p-2 {\n padding: 0.5rem;\n}\n\n #isdk .p-2\\.5 {\n padding: 0.625rem;\n}\n\n #isdk .p-4 {\n padding: 1rem;\n}\n\n #isdk .px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n\n #isdk .px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n #isdk .px-2\\.5 {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n}\n\n #isdk .px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n #isdk .px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n #isdk .px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n #isdk .py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n\n #isdk .py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n\n #isdk .py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n #isdk .py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n\n #isdk .py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n #isdk .py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n\n #isdk .py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n #isdk .py-\\[6px\\] {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n\n #isdk .pb-2 {\n padding-bottom: 0.5rem;\n}\n\n #isdk .pb-6 {\n padding-bottom: 1.5rem;\n}\n\n #isdk .pl-1 {\n padding-left: 0.25rem;\n}\n\n #isdk .pl-1\\.5 {\n padding-left: 0.375rem;\n}\n\n #isdk .pl-2 {\n padding-left: 0.5rem;\n}\n\n #isdk .pl-4 {\n padding-left: 1rem;\n}\n\n #isdk .pr-1 {\n padding-right: 0.25rem;\n}\n\n #isdk .pr-2 {\n padding-right: 0.5rem;\n}\n\n #isdk .pr-2\\.5 {\n padding-right: 0.625rem;\n}\n\n #isdk .pr-3 {\n padding-right: 0.75rem;\n}\n\n #isdk .pr-4 {\n padding-right: 1rem;\n}\n\n #isdk .pt-2 {\n padding-top: 0.5rem;\n}\n\n #isdk .pt-2\\.5 {\n padding-top: 0.625rem;\n}\n\n #isdk .pt-3 {\n padding-top: 0.75rem;\n}\n\n #isdk .pt-5 {\n padding-top: 1.25rem;\n}\n\n #isdk .pt-\\[calc\\(var\\(--header-height\\)\\+1rem\\)\\] {\n padding-top: calc(var(--header-height) + 1rem);\n}\n\n #isdk .text-center {\n text-align: center;\n}\n\n #isdk .text-right {\n text-align: right;\n}\n\n #isdk .text-justify {\n text-align: justify;\n}\n\n #isdk .text-\\[10px\\] {\n font-size: 10px;\n}\n\n #isdk .text-\\[11px\\] {\n font-size: 11px;\n}\n\n #isdk .text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n #isdk .text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n\n #isdk .text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n #isdk .font-bold {\n font-weight: 700;\n}\n\n #isdk .font-medium {\n font-weight: 500;\n}\n\n #isdk .uppercase {\n text-transform: uppercase;\n}\n\n #isdk .lowercase {\n text-transform: lowercase;\n}\n\n #isdk .capitalize {\n text-transform: capitalize;\n}\n\n #isdk .italic {\n font-style: italic;\n}\n\n #isdk .ordinal {\n --tw-ordinal: ordinal;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n\n #isdk .leading-3 {\n line-height: .75rem;\n}\n\n #isdk .leading-snug {\n line-height: 1.375;\n}\n\n #isdk .tracking-\\[-0\\.01em\\] {\n letter-spacing: -0.01em;\n}\n\n #isdk .tracking-tight {\n letter-spacing: -0.025em;\n}\n\n #isdk .tracking-wide {\n letter-spacing: 0.025em;\n}\n\n #isdk .tracking-widest {\n letter-spacing: 0.1em;\n}\n\n #isdk .text-\\[\\#4CAF50\\] {\n --tw-text-opacity: 1;\n color: rgb(76 175 80 / var(--tw-text-opacity));\n}\n\n #isdk .text-\\[\\#FFC107\\] {\n --tw-text-opacity: 1;\n color: rgb(255 193 7 / var(--tw-text-opacity));\n}\n\n #isdk .text-accent-10 {\n color: var(--i-color-a-10);\n}\n\n #isdk .text-accent-11 {\n color: var(--i-color-a-11);\n}\n\n #isdk .text-accent-12 {\n color: var(--i-color-a-12);\n}\n\n #isdk .text-accent-9 {\n color: var(--i-color-a-9);\n}\n\n #isdk .text-error-11 {\n color: var(--i-color-e-11);\n}\n\n #isdk .text-error-9 {\n color: var(--i-color-e-9);\n}\n\n #isdk .text-interactive-copy {\n color: var(--i-interactive-copy);\n}\n\n #isdk .text-neutral-10 {\n color: var(--i-color-n-10);\n}\n\n #isdk .text-neutral-11 {\n color: var(--i-color-n-11);\n}\n\n #isdk .text-neutral-12 {\n color: var(--i-color-n-12);\n}\n\n #isdk .text-neutral-6 {\n color: var(--i-color-n-6);\n}\n\n #isdk .text-neutral-8 {\n color: var(--i-color-n-8);\n}\n\n #isdk .text-neutral-9 {\n color: var(--i-color-n-9);\n}\n\n #isdk .text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n #isdk .underline {\n text-decoration-line: underline;\n}\n\n #isdk .no-underline {\n text-decoration-line: none;\n}\n\n #isdk .underline-offset-2 {\n text-underline-offset: 2px;\n}\n\n #isdk .caret-accent-9 {\n caret-color: var(--i-color-a-9);\n}\n\n #isdk .opacity-0 {\n opacity: 0;\n}\n\n #isdk .shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .shadow-surface-md {\n --tw-shadow: 0px 3px 3px 0px oklch(0% 0 0 / 0.03), 0px 6px 4px 0px oklch(0% 0 0 / 0.02), 0px 6px 4px 0px oklch(0% 0 0 / 0.01);\n --tw-shadow-colored: 0px 3px 3px 0px var(--tw-shadow-color), 0px 6px 4px 0px var(--tw-shadow-color), 0px 6px 4px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .shadow-surface-sm {\n --tw-shadow: 0px 3px 3px 0px oklch(0% 0 0 / 0.03), 0px 4px 4px 0px oklch(0% 0 0 / 0.02);\n --tw-shadow-colored: 0px 3px 3px 0px var(--tw-shadow-color), 0px 4px 4px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .shadow-bubble-strong-shadow {\n --tw-shadow-color: var(--i-bubble-strong-shadow);\n --tw-shadow: var(--tw-shadow-colored);\n}\n\n #isdk .outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #isdk .outline {\n outline-style: solid;\n}\n\n #isdk .outline-1 {\n outline-width: 1px;\n}\n\n #isdk .outline-2 {\n outline-width: 2px;\n}\n\n #isdk .outline-accent-4 {\n outline-color: var(--i-color-a-4);\n}\n\n #isdk .outline-bubble-weak {\n outline-color: var(--i-bubble-weak-outline);\n}\n\n #isdk .outline-divider {\n outline-color: var(--i-color-divider);\n}\n\n #isdk .outline-neutral-3 {\n outline-color: var(--i-color-n-3);\n}\n\n #isdk .outline-neutral-6 {\n outline-color: var(--i-color-n-6);\n}\n\n #isdk .ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .ring-2 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .ring-accent-6 {\n --tw-ring-color: var(--i-color-a-6);\n}\n\n #isdk .ring-divider {\n --tw-ring-color: var(--i-color-divider);\n}\n\n #isdk .ring-lowest {\n --tw-ring-color: var(--i-color-lowest);\n}\n\n #isdk .ring-transparent {\n --tw-ring-color: transparent;\n}\n\n #isdk .ring-offset-\\[1\\.5px\\] {\n --tw-ring-offset-width: 1.5px;\n}\n\n #isdk .ring-offset-neutral-1 {\n --tw-ring-offset-color: var(--i-color-n-1);\n}\n\n #isdk .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 #isdk .drop-shadow-\\[0_1\\.5px_var\\(--i-color-n-1\\)\\] {\n --tw-drop-shadow: drop-shadow(0 1.5px var(--i-color-n-1));\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 #isdk .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #isdk .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #isdk .sepia {\n --tw-sepia: sepia(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #isdk .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 #isdk .backdrop-blur-md {\n --tw-backdrop-blur: blur(12px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #isdk .backdrop-blur-xl {\n --tw-backdrop-blur: blur(24px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #isdk .backdrop-saturate-150 {\n --tw-backdrop-saturate: saturate(1.5);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #isdk .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #isdk .transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #isdk .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #isdk .transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #isdk .duration-100 {\n transition-duration: 100ms;\n}\n\n #isdk .duration-1000 {\n transition-duration: 1000ms;\n}\n\n #isdk .duration-300 {\n transition-duration: 300ms;\n}\n\n #isdk .duration-700 {\n transition-duration: 700ms;\n}\n\n #isdk .ease-expo-out {\n transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n #isdk .ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n #isdk .will-change-\\[height\\] {\n will-change: height;\n}\n\n #isdk .text-wrap-balance {\n text-wrap: balance;\n}\n\n #isdk .fr {\n outline: none;\n}\n\n #isdk .fr:focus {\n outline: none;\n}\n\n #isdk .fr:focus-visible {\n outline: none;\n --tw-ring-offset-width: 1px;\n --tw-ring-offset-color: var(--i-color-lowest);\n --tw-ring-opacity: 1;\n --tw-ring-color: var(--i-color-a-9);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .gutter-stable {\n scrollbar-gutter: stable;\n}\n\n #isdk .hide-scrollbars::-webkit-scrollbar {\n display: none;\n}\n\n #isdk .hide-scrollbars {\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n #isdk .touch-hitbox::before {\n content: '';\n position: absolute;\n display: block;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n height: 100%;\n min-height: 44px;\n min-width: 44px;\n z-index: 9999;\n}\n\n #isdk .\\[-webkit-outer-spin-button\\:none\\] {\n -webkit-outer-spin-button: none;\n}\n\n #isdk .\\[a-zA-Z0-9-_\\:\\.\\$\\@\\?\\] {\n a-z-a--z0-9-_: .$@?;\n}\n\n #isdk .\\[grid-template-columns\\:min-content_1fr\\] {\n grid-template-columns: min-content 1fr;\n}\n\n #isdk .\\[text-wrap\\:pretty\\] {\n text-wrap: pretty;\n}\n\n #isdk .selection\\:bg-accent-4 *::-moz-selection {\n background-color: var(--i-color-a-4);\n}\n\n #isdk .selection\\:bg-accent-4 *::selection {\n background-color: var(--i-color-a-4);\n}\n\n #isdk .selection\\:bg-transparent *::-moz-selection {\n background-color: transparent;\n}\n\n #isdk .selection\\:bg-transparent *::selection {\n background-color: transparent;\n}\n\n #isdk .selection\\:text-accent-12 *::-moz-selection {\n color: var(--i-color-a-12);\n}\n\n #isdk .selection\\:text-accent-12 *::selection {\n color: var(--i-color-a-12);\n}\n\n #isdk .selection\\:bg-accent-4::-moz-selection {\n background-color: var(--i-color-a-4);\n}\n\n #isdk .selection\\:bg-accent-4::selection {\n background-color: var(--i-color-a-4);\n}\n\n #isdk .selection\\:bg-transparent::-moz-selection {\n background-color: transparent;\n}\n\n #isdk .selection\\:bg-transparent::selection {\n background-color: transparent;\n}\n\n #isdk .selection\\:text-accent-12::-moz-selection {\n color: var(--i-color-a-12);\n}\n\n #isdk .selection\\:text-accent-12::selection {\n color: var(--i-color-a-12);\n}\n\n #isdk .placeholder\\:text-neutral-10::-moz-placeholder {\n color: var(--i-color-n-10);\n}\n\n #isdk .placeholder\\:text-neutral-10::placeholder {\n color: var(--i-color-n-10);\n}\n\n #isdk .placeholder\\:text-neutral-8::-moz-placeholder {\n color: var(--i-color-n-8);\n}\n\n #isdk .placeholder\\:text-neutral-8::placeholder {\n color: var(--i-color-n-8);\n}\n\n #isdk .autofill\\:shadow-\\[inset_0_0_0_1000px_hsl\\(210_16\\.7\\%_97\\.6\\%\\)\\]:-webkit-autofill {\n --tw-shadow: inset 0 0 0 1000px hsl(210 16.7% 97.6%);\n --tw-shadow-colored: inset 0 0 0 1000px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .autofill\\:shadow-\\[inset_0_0_0_1000px_hsl\\(210_16\\.7\\%_97\\.6\\%\\)\\]:autofill {\n --tw-shadow: inset 0 0 0 1000px hsl(210 16.7% 97.6%);\n --tw-shadow-colored: inset 0 0 0 1000px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #isdk .focus-within\\:bg-neutral-5:focus-within {\n background-color: var(--i-color-n-5);\n}\n\n #isdk .focus-within\\:outline-none:focus-within {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #isdk .focus-within\\:outline-accent-7:focus-within {\n outline-color: var(--i-color-a-7);\n}\n\n #isdk .hover\\:border-accent-10:hover {\n border-color: var(--i-color-a-10);\n}\n\n #isdk .hover\\:border-neutral-5:hover {\n border-color: var(--i-color-n-5);\n}\n\n #isdk .hover\\:bg-accent-10:hover {\n background-color: var(--i-color-a-10);\n}\n\n #isdk .hover\\:bg-interactive-bg-hover:hover {\n background-color: var(--i-interactive-bg-hover);\n}\n\n #isdk .hover\\:bg-neutral-2:hover {\n background-color: var(--i-color-n-2);\n}\n\n #isdk .hover\\:bg-neutral-3:hover {\n background-color: var(--i-color-n-3);\n}\n\n #isdk .hover\\:bg-neutral-4:hover {\n background-color: var(--i-color-n-4);\n}\n\n #isdk .hover\\:text-accent-11:hover {\n color: var(--i-color-a-11);\n}\n\n #isdk .hover\\:text-interactive-copy-hover:hover {\n color: var(--i-interactive-copy-hover);\n}\n\n #isdk .hover\\:text-neutral-12:hover {\n color: var(--i-color-n-12);\n}\n\n #isdk .hover\\:ring-accent-8:hover {\n --tw-ring-color: var(--i-color-a-8);\n}\n\n #isdk .focus\\:bg-neutral-5:focus {\n background-color: var(--i-color-n-5);\n}\n\n #isdk .focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #isdk .focus-visible\\:bg-neutral-3:focus-visible {\n background-color: var(--i-color-n-3);\n}\n\n #isdk .focus-visible\\:outline-2:focus-visible {\n outline-width: 2px;\n}\n\n #isdk .focus-visible\\:outline-accent-7:focus-visible {\n outline-color: var(--i-color-a-7);\n}\n\n #isdk .focus-visible\\:outline-accent-8:focus-visible {\n outline-color: var(--i-color-a-8);\n}\n\n #isdk .focus-visible\\:ring-4:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n\n #isdk .active\\:border-submit-bg-active:active {\n border-color: var(--i-submit-button-bg-active);\n}\n\n #isdk .active\\:bg-accent-10:active {\n background-color: var(--i-color-a-10);\n}\n\n #isdk .active\\:bg-accent-2:active {\n background-color: var(--i-color-a-2);\n}\n\n #isdk .active\\:bg-interactive-bg-active:active {\n background-color: var(--i-interactive-bg-active);\n}\n\n #isdk .active\\:bg-submit-bg-active:active {\n background-color: var(--i-submit-button-bg-active);\n}\n\n #isdk .active\\:text-accent-10:active {\n color: var(--i-color-a-10);\n}\n\n #isdk .active\\:text-accent-11:active {\n color: var(--i-color-a-11);\n}\n\n #isdk .active\\:text-interactive-copy-active:active {\n color: var(--i-interactive-copy-active);\n}\n\n #isdk .active\\:outline-neutral-8:active {\n outline-color: var(--i-color-n-8);\n}\n\n #isdk .active\\:ring-2:active {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .active\\:ring-accent-7:active {\n --tw-ring-color: var(--i-color-a-7);\n}\n\n #isdk .active\\:ring-offset-2:active {\n --tw-ring-offset-width: 2px;\n}\n\n #isdk .disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n #isdk .disabled\\:opacity-50:disabled {\n opacity: 0.5;\n}\n\n #isdk .peer:checked ~ .peer-checked\\:bg-accent-2 {\n background-color: var(--i-color-a-2);\n}\n\n #isdk .peer:checked ~ .peer-checked\\:text-accent-9 {\n color: var(--i-color-a-9);\n}\n\n #isdk .peer:checked ~ .peer-checked\\:outline-accent-7 {\n outline-color: var(--i-color-a-7);\n}\n\n #isdk .peer:focus-visible ~ .peer-focus-visible\\:ring-4 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #isdk .peer:focus-visible ~ .peer-focus-visible\\:ring-accent-9 {\n --tw-ring-color: var(--i-color-a-9);\n}\n\n #isdk .peer:focus-visible ~ .peer-focus-visible\\:ring-offset-accent-7 {\n --tw-ring-offset-color: var(--i-color-a-7);\n}\n\n @media (pointer: coarse) {\n\n #isdk .pointer-coarse\\:touch-hitbox\\:\\:before::before {\n content: '';\n position: absolute;\n display: block;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n height: 100%;\n min-height: 44px;\n min-width: 44px;\n z-index: 9999;\n }\n}\n\n #isdk .\\[\\&\\:has\\(\\+\\*\\>input\\:focus\\)\\]\\:text-neutral-11:has(+*>input:focus) {\n color: var(--i-color-n-11);\n}";
5415
5415
  const CHATBOT_ELEMENT_ID = "isdk";
5416
5416
  const ERROR_MESSAGES = {
5417
5417
  not_in_local_storage: "Application not found in local storage",