@spear-ai/spectral 1.16.8 → 1.16.10
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/Checkbox/CheckboxBase.d.ts.map +1 -1
- package/dist/Checkbox/CheckboxBase.js +1 -1
- package/dist/Checkbox/CheckboxBase.js.map +1 -1
- package/dist/Checkbox.js +2 -2
- package/dist/Checkbox.js.map +1 -1
- package/dist/FormFieldMessage.d.ts.map +1 -1
- package/dist/FormFieldMessage.js +1 -1
- package/dist/FormFieldMessage.js.map +1 -1
- package/dist/RadialMenu.d.ts +46 -0
- package/dist/RadialMenu.d.ts.map +1 -0
- package/dist/RadialMenu.js +331 -0
- package/dist/RadialMenu.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -2
- package/dist/styles/spectral.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxBase.d.ts","names":[],"sources":["../../src/components/Checkbox/CheckboxBase.tsx"],"mappings":";;;;;;KAKY,YAAA;AAAA,KAEP,eAAA,GAAkB,IAAA,CAAK,oBAAA,CAAqB,iBAAA;AAAA,KAErC,iBAAA,GAAoB,eAAA,GAC9B,WAAA;EACE,OAAA,GAAU,YAAA;EACV,cAAA,GAAiB,YAAA;EACjB,IAAA;EACA,IAAA;EACA,eAAA,IAAmB,OAAA,EAAS,YAAA;EAC5B,QAAA;EACA,KAAA;AAAA;AAAA;EAqBF,OAAA;EACA,OAAA;EACA,SAAA;EACA,cAAA;EACA,QAAA;EACA,IAAA;EACA,EAAA;EACA,IAAA;EACA,eAAA;EACA,OAAA;EACA,SAAA;EACA,GAAA;EACA,QAAA;EAEA,IAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,iBAAA;EACD,GAAA,GAAM,GAAA,CAAI,iBAAA;AAAA,IACX,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA;;;
|
|
1
|
+
{"version":3,"file":"CheckboxBase.d.ts","names":[],"sources":["../../src/components/Checkbox/CheckboxBase.tsx"],"mappings":";;;;;;KAKY,YAAA;AAAA,KAEP,eAAA,GAAkB,IAAA,CAAK,oBAAA,CAAqB,iBAAA;AAAA,KAErC,iBAAA,GAAoB,eAAA,GAC9B,WAAA;EACE,OAAA,GAAU,YAAA;EACV,cAAA,GAAiB,YAAA;EACjB,IAAA;EACA,IAAA;EACA,eAAA,IAAmB,OAAA,EAAS,YAAA;EAC5B,QAAA;EACA,KAAA;AAAA;AAAA;EAqBF,OAAA;EACA,OAAA;EACA,SAAA;EACA,cAAA;EACA,QAAA;EACA,IAAA;EACA,EAAA;EACA,IAAA;EACA,eAAA;EACA,OAAA;EACA,SAAA;EACA,GAAA;EACA,QAAA;EAEA,IAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,iBAAA;EACD,GAAA,GAAM,GAAA,CAAI,iBAAA;AAAA,IACX,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA;;;KAmHW,sBAAA,GAAyB,cAAA,CAAe,eAAA,IAClD,WAAA;EACE,UAAA;AAAA;AAAA;EAIF,OAAA;EACA,SAAA;EACA,UAAA;EACA,GAAA;EAAA,GACG;AAAA,GACF,sBAAA;EACD,GAAA,GAAM,GAAA,CAAI,eAAA;AAAA,IACX,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA"}
|
|
@@ -76,7 +76,7 @@ const CheckboxBase = ({ asChild, checked, className, defaultChecked = false, dis
|
|
|
76
76
|
children: /* @__PURE__ */ jsxs(Comp, {
|
|
77
77
|
"aria-checked": state === "indeterminate" ? "mixed" : state,
|
|
78
78
|
"aria-disabled": disabled ?? void 0,
|
|
79
|
-
className: cn("
|
|
79
|
+
className: cn("inline-flex shrink-0 items-center justify-center border-input rounded-sm border bg-background", "focus-visible:outline-accent focus-visible:outline focus-visible:outline-offset-2 focus:outline-none", "disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground", className),
|
|
80
80
|
"data-indeterminate": state === "indeterminate" ? "" : void 0,
|
|
81
81
|
"data-state": dataState(state),
|
|
82
82
|
disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxBase.js","names":[],"sources":["../../src/components/Checkbox/CheckboxBase.tsx"],"sourcesContent":["import { useUncontrolledState } from '@hooks/useUncontrolledState'\nimport { Slot, type AsChildProp } from '@primitives/slot'\nimport { cn } from '@utils/twUtils'\nimport { createContext, useCallback, useContext, useEffect, useId, useRef, type ButtonHTMLAttributes, type ElementType, type HTMLAttributes, type KeyboardEvent, type MouseEvent, type Ref } from 'react'\n\nexport type CheckedState = boolean | 'indeterminate'\n\ntype BaseButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'value'>\n\nexport type CheckboxBaseProps = BaseButtonProps &\n AsChildProp & {\n checked?: CheckedState\n defaultChecked?: CheckedState\n form?: string\n name?: string\n onCheckedChange?: (checked: CheckedState) => void\n required?: boolean\n value?: string\n }\n\ninterface Ctx {\n disabled: boolean | undefined\n state: CheckedState\n}\n\nconst CheckboxCtx = createContext<Ctx | null>(null)\n\nconst dataState = (checked: CheckedState): 'checked' | 'unchecked' | 'indeterminate' => {\n if (checked === 'indeterminate') return 'indeterminate'\n return checked ? 'checked' : 'unchecked'\n}\n\nconst getNext = (checked: CheckedState): CheckedState => {\n if (checked === 'indeterminate') return true\n return !checked\n}\n\nexport const CheckboxBase = ({\n asChild,\n checked,\n className,\n defaultChecked = false,\n disabled,\n form,\n id,\n name,\n onCheckedChange,\n onClick,\n onKeyDown,\n ref,\n required,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type,\n value = 'on',\n ...rest\n}: CheckboxBaseProps & {\n ref?: Ref<HTMLButtonElement>\n}) => {\n const inputRef = useRef<HTMLInputElement | null>(null)\n const autoId = useId()\n const resolvedId = id ?? `chk-${autoId}`\n\n const [state, setState] = useUncontrolledState<CheckedState>({\n defaultValue: defaultChecked,\n onChange: onCheckedChange,\n value: checked,\n })\n\n useEffect(() => {\n if (inputRef.current) inputRef.current.indeterminate = state === 'indeterminate'\n }, [state])\n\n useEffect(() => {\n const formEl = inputRef.current?.form ?? null\n if (!formEl) return\n const handleReset = () => {\n setState(defaultChecked)\n }\n formEl.addEventListener('reset', handleReset)\n return () => formEl.removeEventListener('reset', handleReset)\n }, [defaultChecked, setState])\n\n const emitFormChange = useCallback(() => {\n const el = inputRef.current\n if (!el) return\n el.checked = state === true\n el.indeterminate = state === 'indeterminate'\n const event = new Event('change', { bubbles: true })\n el.dispatchEvent(event)\n }, [state])\n\n const handleToggle = useCallback(() => {\n if (disabled) return\n const next = getNext(state)\n setState(next)\n queueMicrotask(() => emitFormChange())\n }, [disabled, emitFormChange, setState, state])\n\n const handleClick = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n onClick?.(e)\n if (e.defaultPrevented) return\n handleToggle()\n },\n [handleToggle, onClick],\n )\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(e)\n if (e.defaultPrevented) return\n if (e.key === ' ') {\n e.preventDefault()\n handleToggle()\n }\n },\n [handleToggle, onKeyDown],\n )\n\n const Comp: ElementType = asChild ? Slot : 'button'\n\n return (\n <CheckboxCtx.Provider value={{ state, disabled }}>\n <Comp\n aria-checked={state === 'indeterminate' ? 'mixed' : state}\n aria-disabled={disabled ?? undefined}\n className={cn(\n '
|
|
1
|
+
{"version":3,"file":"CheckboxBase.js","names":[],"sources":["../../src/components/Checkbox/CheckboxBase.tsx"],"sourcesContent":["import { useUncontrolledState } from '@hooks/useUncontrolledState'\nimport { Slot, type AsChildProp } from '@primitives/slot'\nimport { cn } from '@utils/twUtils'\nimport { createContext, useCallback, useContext, useEffect, useId, useRef, type ButtonHTMLAttributes, type ElementType, type HTMLAttributes, type KeyboardEvent, type MouseEvent, type Ref } from 'react'\n\nexport type CheckedState = boolean | 'indeterminate'\n\ntype BaseButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'value'>\n\nexport type CheckboxBaseProps = BaseButtonProps &\n AsChildProp & {\n checked?: CheckedState\n defaultChecked?: CheckedState\n form?: string\n name?: string\n onCheckedChange?: (checked: CheckedState) => void\n required?: boolean\n value?: string\n }\n\ninterface Ctx {\n disabled: boolean | undefined\n state: CheckedState\n}\n\nconst CheckboxCtx = createContext<Ctx | null>(null)\n\nconst dataState = (checked: CheckedState): 'checked' | 'unchecked' | 'indeterminate' => {\n if (checked === 'indeterminate') return 'indeterminate'\n return checked ? 'checked' : 'unchecked'\n}\n\nconst getNext = (checked: CheckedState): CheckedState => {\n if (checked === 'indeterminate') return true\n return !checked\n}\n\nexport const CheckboxBase = ({\n asChild,\n checked,\n className,\n defaultChecked = false,\n disabled,\n form,\n id,\n name,\n onCheckedChange,\n onClick,\n onKeyDown,\n ref,\n required,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type,\n value = 'on',\n ...rest\n}: CheckboxBaseProps & {\n ref?: Ref<HTMLButtonElement>\n}) => {\n const inputRef = useRef<HTMLInputElement | null>(null)\n const autoId = useId()\n const resolvedId = id ?? `chk-${autoId}`\n\n const [state, setState] = useUncontrolledState<CheckedState>({\n defaultValue: defaultChecked,\n onChange: onCheckedChange,\n value: checked,\n })\n\n useEffect(() => {\n if (inputRef.current) inputRef.current.indeterminate = state === 'indeterminate'\n }, [state])\n\n useEffect(() => {\n const formEl = inputRef.current?.form ?? null\n if (!formEl) return\n const handleReset = () => {\n setState(defaultChecked)\n }\n formEl.addEventListener('reset', handleReset)\n return () => formEl.removeEventListener('reset', handleReset)\n }, [defaultChecked, setState])\n\n const emitFormChange = useCallback(() => {\n const el = inputRef.current\n if (!el) return\n el.checked = state === true\n el.indeterminate = state === 'indeterminate'\n const event = new Event('change', { bubbles: true })\n el.dispatchEvent(event)\n }, [state])\n\n const handleToggle = useCallback(() => {\n if (disabled) return\n const next = getNext(state)\n setState(next)\n queueMicrotask(() => emitFormChange())\n }, [disabled, emitFormChange, setState, state])\n\n const handleClick = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n onClick?.(e)\n if (e.defaultPrevented) return\n handleToggle()\n },\n [handleToggle, onClick],\n )\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(e)\n if (e.defaultPrevented) return\n if (e.key === ' ') {\n e.preventDefault()\n handleToggle()\n }\n },\n [handleToggle, onKeyDown],\n )\n\n const Comp: ElementType = asChild ? Slot : 'button'\n\n return (\n <CheckboxCtx.Provider value={{ state, disabled }}>\n <Comp\n aria-checked={state === 'indeterminate' ? 'mixed' : state}\n aria-disabled={disabled ?? undefined}\n className={cn(\n 'inline-flex shrink-0 items-center justify-center border-input rounded-sm border bg-background',\n 'focus-visible:outline-accent focus-visible:outline focus-visible:outline-offset-2 focus:outline-none',\n 'disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground',\n className,\n )}\n data-indeterminate={state === 'indeterminate' ? '' : undefined}\n data-state={dataState(state)}\n disabled={disabled}\n id={resolvedId}\n ref={ref}\n role='checkbox' // oxlint-disable-line jsx-a11y/prefer-tag-over-role\n type='button'\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n {/* hidden input for forms */}\n <input\n aria-hidden='true'\n checked={state === true}\n disabled={disabled}\n form={form}\n name={name}\n readOnly\n ref={inputRef}\n required={required}\n // visually hidden but in the DOM for form submission\n style={{\n position: 'absolute',\n opacity: 0,\n width: 0,\n height: 0,\n pointerEvents: 'none',\n }}\n tabIndex={-1}\n type='checkbox'\n value={value}\n />\n {rest.children}\n </Comp>\n </CheckboxCtx.Provider>\n )\n}\nCheckboxBase.displayName = 'CheckboxBase'\n\nexport type CheckboxIndicatorProps = HTMLAttributes<HTMLSpanElement> &\n AsChildProp & {\n forceMount?: boolean\n }\n\nexport const CheckboxIndicator = ({\n asChild,\n className,\n forceMount,\n ref,\n ...props\n}: CheckboxIndicatorProps & {\n ref?: Ref<HTMLSpanElement>\n}) => {\n const ctx = useContext(CheckboxCtx)\n if (!ctx) return null\n const visible = ctx.state === true || ctx.state === 'indeterminate'\n if (!visible && !forceMount) return null\n\n const Comp: ElementType = asChild ? Slot : 'span'\n\n return <Comp className={cn('flex items-center justify-center text-current', className)} data-indeterminate={ctx.state === 'indeterminate' ? '' : undefined} data-state={dataState(ctx.state)} ref={ref} {...props} />\n}\nCheckboxIndicator.displayName = 'CheckboxIndicator'\n"],"mappings":";;;;;;;;AAyBA,MAAM,cAAc,cAA0B,KAAK;AAEnD,MAAM,aAAa,YAAqE;AACtF,KAAI,YAAY,gBAAiB,QAAO;AACxC,QAAO,UAAU,YAAY;;AAG/B,MAAM,WAAW,YAAwC;AACvD,KAAI,YAAY,gBAAiB,QAAO;AACxC,QAAO,CAAC;;AAGV,MAAa,gBAAgB,EAC3B,SACA,SACA,WACA,iBAAiB,OACjB,UACA,MACA,IACA,MACA,iBACA,SACA,WACA,KACA,UAEA,MACA,QAAQ,MACR,GAAG,WAGC;CACJ,MAAM,WAAW,OAAgC,KAAK;CACtD,MAAM,SAAS,OAAO;CACtB,MAAM,aAAa,MAAM,OAAO;CAEhC,MAAM,CAAC,OAAO,YAAY,qBAAmC;EAC3D,cAAc;EACd,UAAU;EACV,OAAO;EACR,CAAC;AAEF,iBAAgB;AACd,MAAI,SAAS,QAAS,UAAS,QAAQ,gBAAgB,UAAU;IAChE,CAAC,MAAM,CAAC;AAEX,iBAAgB;EACd,MAAM,SAAS,SAAS,SAAS,QAAQ;AACzC,MAAI,CAAC,OAAQ;EACb,MAAM,oBAAoB;AACxB,YAAS,eAAe;;AAE1B,SAAO,iBAAiB,SAAS,YAAY;AAC7C,eAAa,OAAO,oBAAoB,SAAS,YAAY;IAC5D,CAAC,gBAAgB,SAAS,CAAC;CAE9B,MAAM,iBAAiB,kBAAkB;EACvC,MAAM,KAAK,SAAS;AACpB,MAAI,CAAC,GAAI;AACT,KAAG,UAAU,UAAU;AACvB,KAAG,gBAAgB,UAAU;EAC7B,MAAM,QAAQ,IAAI,MAAM,UAAU,EAAE,SAAS,MAAM,CAAC;AACpD,KAAG,cAAc,MAAM;IACtB,CAAC,MAAM,CAAC;CAEX,MAAM,eAAe,kBAAkB;AACrC,MAAI,SAAU;AAEd,WADa,QAAQ,MACR,CAAC;AACd,uBAAqB,gBAAgB,CAAC;IACrC;EAAC;EAAU;EAAgB;EAAU;EAAM,CAAC;CAE/C,MAAM,cAAc,aACjB,MAAqC;AACpC,YAAU,EAAE;AACZ,MAAI,EAAE,iBAAkB;AACxB,gBAAc;IAEhB,CAAC,cAAc,QAAQ,CACxB;CAED,MAAM,gBAAgB,aACnB,MAAwC;AACvC,cAAY,EAAE;AACd,MAAI,EAAE,iBAAkB;AACxB,MAAI,EAAE,QAAQ,KAAK;AACjB,KAAE,gBAAgB;AAClB,iBAAc;;IAGlB,CAAC,cAAc,UAAU,CAC1B;CAED,MAAM,OAAoB,UAAU,OAAO;AAE3C,QACE,oBAAC,YAAY,UAAb;EAAsB,OAAO;GAAE;GAAO;GAAU;YAC9C,qBAAC,MAAD;GACE,gBAAc,UAAU,kBAAkB,UAAU;GACpD,iBAAe,YAAY;GAC3B,WAAW,GACT,iGACA,wGACA,gIACA,UACD;GACD,sBAAoB,UAAU,kBAAkB,KAAK;GACrD,cAAY,UAAU,MAAM;GAClB;GACV,IAAI;GACC;GACL,MAAK;GACL,MAAK;GACL,SAAS;GACT,WAAW;GACX,GAAI;aAlBN,CAqBE,oBAAC,SAAD;IACE,eAAY;IACZ,SAAS,UAAU;IACT;IACJ;IACA;IACN;IACA,KAAK;IACK;IAEV,OAAO;KACL,UAAU;KACV,SAAS;KACT,OAAO;KACP,QAAQ;KACR,eAAe;KAChB;IACD,UAAU;IACV,MAAK;IACE;IACP,GACD,KAAK,SACD;;EACc;;AAG3B,aAAa,cAAc;AAO3B,MAAa,qBAAqB,EAChC,SACA,WACA,YACA,KACA,GAAG,YAGC;CACJ,MAAM,MAAM,WAAW,YAAY;AACnC,KAAI,CAAC,IAAK,QAAO;AAEjB,KAAI,EADY,IAAI,UAAU,QAAQ,IAAI,UAAU,oBACpC,CAAC,WAAY,QAAO;AAIpC,QAAO,oBAFmB,UAAU,OAAO,QAEpC;EAAM,WAAW,GAAG,iDAAiD,UAAU;EAAE,sBAAoB,IAAI,UAAU,kBAAkB,KAAK;EAAW,cAAY,UAAU,IAAI,MAAM;EAAO;EAAK,GAAI;EAAS;;AAEvN,kBAAkB,cAAc"}
|
package/dist/Checkbox.js
CHANGED
|
@@ -16,14 +16,14 @@ const Checkbox = ({ checked, className, errorMessage, id, label, labelText, mess
|
|
|
16
16
|
const warningMessageId = `${inputId}-warning`;
|
|
17
17
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
18
18
|
/* @__PURE__ */ jsxs("div", {
|
|
19
|
-
className: "gap-2 flex items-
|
|
19
|
+
className: "gap-2 flex items-start shrink-0",
|
|
20
20
|
children: [/* @__PURE__ */ jsx(CheckboxBase, {
|
|
21
21
|
"aria-describedby": [state === "error" && errorMessage && errorMessageId ? errorMessageId : state === "warning" && warningMessage && warningMessageId ? warningMessageId : void 0, ariaDescribedBy].filter(Boolean).join(" ") || void 0,
|
|
22
22
|
"aria-invalid": state === "error" ? true : void 0,
|
|
23
23
|
"aria-label": ariaLabel ?? (!resolvedLabelText ? "Checkbox" : void 0),
|
|
24
24
|
"aria-required": required ?? void 0,
|
|
25
25
|
checked,
|
|
26
|
-
className: cn("checkbox peer
|
|
26
|
+
className: cn("checkbox peer size-5 mt-0.5 border-checkbox-border hover:opacity-80 focus-visible:outline-1 focus-visible:outline-checkbox-border--focus", "data-[state=checked]:border-checkbox-border--checked", className),
|
|
27
27
|
"data-field-state": state,
|
|
28
28
|
"data-testid": "spectral-checkbox",
|
|
29
29
|
id: inputId,
|
package/dist/Checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":[],"sources":["../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import { CheckmarkIcon, MinusIcon } from '@components/Icons'\nimport { ErrorMessage, WarningMessage, useFormFieldId, type BaseFormFieldProps, type FormFieldState } from '@utils/formFieldUtils'\nimport { cn } from '@utils/twUtils'\nimport { type ComponentPropsWithoutRef, type ComponentRef, type Ref } from 'react'\nimport { CheckboxBase, CheckboxIndicator } from './CheckboxBase'\n\nexport interface CheckboxProps extends Omit<ComponentPropsWithoutRef<typeof CheckboxBase>, 'onCheckedChange'> {\n 'aria-describedby'?: string\n 'aria-label'?: string\n checked?: boolean | 'indeterminate'\n disabled?: boolean\n errorMessage?: BaseFormFieldProps['errorMessage']\n id?: string\n label?: string\n labelText?: string\n messageReserveLines?: number\n messageReserveSpace?: boolean\n name?: string\n onCheckedChange: (value: boolean | 'indeterminate') => void\n required?: boolean\n state?: FormFieldState\n value?: string\n warningMessage?: BaseFormFieldProps['errorMessage']\n}\n\nexport const Checkbox = ({\n checked,\n className,\n errorMessage,\n id,\n label,\n labelText,\n messageReserveLines = 1,\n messageReserveSpace = false,\n onCheckedChange,\n ref,\n required,\n state = 'default',\n warningMessage,\n 'aria-describedby': ariaDescribedBy,\n 'aria-label': ariaLabel,\n ...props\n}: CheckboxProps & {\n ref?: Ref<ComponentRef<typeof CheckboxBase>>\n}) => {\n const inputId = useFormFieldId(id, props.name)\n const resolvedLabelText = labelText ?? label\n const errorMessageId = `${inputId}-error`\n const warningMessageId = `${inputId}-warning`\n const messageId = state === 'error' && errorMessage && errorMessageId ? errorMessageId : state === 'warning' && warningMessage && warningMessageId ? warningMessageId : undefined\n\n return (\n <div>\n <div className='gap-2 flex items-
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":[],"sources":["../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import { CheckmarkIcon, MinusIcon } from '@components/Icons'\nimport { ErrorMessage, WarningMessage, useFormFieldId, type BaseFormFieldProps, type FormFieldState } from '@utils/formFieldUtils'\nimport { cn } from '@utils/twUtils'\nimport { type ComponentPropsWithoutRef, type ComponentRef, type Ref } from 'react'\nimport { CheckboxBase, CheckboxIndicator } from './CheckboxBase'\n\nexport interface CheckboxProps extends Omit<ComponentPropsWithoutRef<typeof CheckboxBase>, 'onCheckedChange'> {\n 'aria-describedby'?: string\n 'aria-label'?: string\n checked?: boolean | 'indeterminate'\n disabled?: boolean\n errorMessage?: BaseFormFieldProps['errorMessage']\n id?: string\n label?: string\n labelText?: string\n messageReserveLines?: number\n messageReserveSpace?: boolean\n name?: string\n onCheckedChange: (value: boolean | 'indeterminate') => void\n required?: boolean\n state?: FormFieldState\n value?: string\n warningMessage?: BaseFormFieldProps['errorMessage']\n}\n\nexport const Checkbox = ({\n checked,\n className,\n errorMessage,\n id,\n label,\n labelText,\n messageReserveLines = 1,\n messageReserveSpace = false,\n onCheckedChange,\n ref,\n required,\n state = 'default',\n warningMessage,\n 'aria-describedby': ariaDescribedBy,\n 'aria-label': ariaLabel,\n ...props\n}: CheckboxProps & {\n ref?: Ref<ComponentRef<typeof CheckboxBase>>\n}) => {\n const inputId = useFormFieldId(id, props.name)\n const resolvedLabelText = labelText ?? label\n const errorMessageId = `${inputId}-error`\n const warningMessageId = `${inputId}-warning`\n const messageId = state === 'error' && errorMessage && errorMessageId ? errorMessageId : state === 'warning' && warningMessage && warningMessageId ? warningMessageId : undefined\n\n return (\n <div>\n <div className='gap-2 flex items-start shrink-0'>\n <CheckboxBase\n aria-describedby={[messageId, ariaDescribedBy].filter(Boolean).join(' ') || undefined}\n aria-invalid={state === 'error' ? true : undefined}\n aria-label={ariaLabel ?? (!resolvedLabelText ? 'Checkbox' : undefined)}\n aria-required={required ?? undefined}\n checked={checked}\n className={cn(\n 'checkbox peer size-5 mt-0.5 border-checkbox-border hover:opacity-80 focus-visible:outline-1 focus-visible:outline-checkbox-border--focus',\n 'data-[state=checked]:border-checkbox-border--checked',\n className,\n )}\n data-field-state={state}\n data-testid='spectral-checkbox'\n id={inputId}\n onCheckedChange={onCheckedChange}\n ref={ref}\n {...props}\n >\n <CheckboxIndicator data-testid='spectral-checkbox-indicator' className={cn('checkbox-indicator flex items-center justify-center text-checkbox-indicator--checked')}>\n {checked === 'indeterminate' ? <MinusIcon className='checkbox-indeterminate' size={16} strokeWidth={4} /> : <CheckmarkIcon className='checkbox-check' size={16} strokeWidth={4} />}\n </CheckboxIndicator>\n </CheckboxBase>\n {resolvedLabelText && (\n <label className='text-md peer-disabled:text-neutral-400 text-text-primary' data-testid='spectral-checkbox-label' htmlFor={inputId}>\n {resolvedLabelText}\n </label>\n )}\n </div>\n <ErrorMessage\n dataTestId='spectral-checkbox-error-message'\n id={errorMessageId}\n message={state === 'error' ? errorMessage : null}\n messageReserveLines={messageReserveLines}\n messageReserveSpace={messageReserveSpace && state === 'error'}\n />\n <WarningMessage\n dataTestId='spectral-checkbox-warning-message'\n id={warningMessageId}\n message={state === 'warning' ? warningMessage : null}\n messageReserveLines={messageReserveLines}\n messageReserveSpace={messageReserveSpace && state === 'warning'}\n />\n </div>\n )\n}\nCheckbox.displayName = 'Checkbox'\n"],"mappings":";;;;;;;;;;;AAyBA,MAAa,YAAY,EACvB,SACA,WACA,cACA,IACA,OACA,WACA,sBAAsB,GACtB,sBAAsB,OACtB,iBACA,KACA,UACA,QAAQ,WACR,gBACA,oBAAoB,iBACpB,cAAc,WACd,GAAG,YAGC;CACJ,MAAM,UAAU,eAAe,IAAI,MAAM,KAAK;CAC9C,MAAM,oBAAoB,aAAa;CACvC,MAAM,iBAAiB,GAAG,QAAQ;CAClC,MAAM,mBAAmB,GAAG,QAAQ;AAGpC,QACE,qBAAC,OAAD;EACE,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,cAAD;IACE,oBAAkB,CANR,UAAU,WAAW,gBAAgB,iBAAiB,iBAAiB,UAAU,aAAa,kBAAkB,mBAAmB,mBAAmB,QAMlI,gBAAgB,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,IAAI;IAC5E,gBAAc,UAAU,UAAU,OAAO;IACzC,cAAY,cAAc,CAAC,oBAAoB,aAAa;IAC5D,iBAAe,YAAY;IAClB;IACT,WAAW,GACT,4IACA,wDACA,UACD;IACD,oBAAkB;IAClB,eAAY;IACZ,IAAI;IACa;IACZ;IACL,GAAI;cAEJ,oBAAC,mBAAD;KAAmB,eAAY;KAA8B,WAAW,GAAG,uFAAuF;eAC/J,YAAY,kBAAkB,oBAAC,WAAD;MAAW,WAAU;MAAyB,MAAM;MAAI,aAAa;MAAK,IAAG,oBAAC,eAAD;MAAe,WAAU;MAAiB,MAAM;MAAI,aAAa;MAAK;KAChK;IACP,GACd,qBACC,oBAAC,SAAD;IAAO,WAAU;IAA2D,eAAY;IAA0B,SAAS;cACxH;IACK,EAEN;;EACN,oBAAC,cAAD;GACE,YAAW;GACX,IAAI;GACJ,SAAS,UAAU,UAAU,eAAe;GACvB;GACrB,qBAAqB,uBAAuB,UAAU;GACtD;EACF,oBAAC,gBAAD;GACE,YAAW;GACX,IAAI;GACJ,SAAS,UAAU,YAAY,iBAAiB;GAC3B;GACrB,qBAAqB,uBAAuB,UAAU;GACtD;EACE;;AAGV,SAAS,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFieldMessage.d.ts","names":[],"sources":["../src/components/FormFieldMessage/FormFieldMessage.tsx"],"mappings":";;;;KAGY,qBAAA,uBAA4C,MAAA;AAAA,UAE9C,qBAAA;EACR,SAAA;EACA,kBAAA;EACA,UAAA;EACA,EAAA;EACA,OAAA,EAAS,qBAAA;EACT,mBAAA;EACA,mBAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"FormFieldMessage.d.ts","names":[],"sources":["../src/components/FormFieldMessage/FormFieldMessage.tsx"],"mappings":";;;;KAGY,qBAAA,uBAA4C,MAAA;AAAA,UAE9C,qBAAA;EACR,SAAA;EACA,kBAAA;EACA,UAAA;EACA,EAAA;EACA,OAAA,EAAS,qBAAA;EACT,mBAAA;EACA,mBAAA;AAAA;AAAA,cA4EW,YAAA;EAAY,SAAA;EAAA,kBAAA;EAAA,UAAA;EAAA,EAAA;EAAA,OAAA;EAAA,mBAAA;EAAA;AAAA,GAAgJ,qBAAA,KAAqB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAiBjL,cAAA;EAAc,SAAA;EAAA,kBAAA;EAAA,UAAA;EAAA,EAAA;EAAA,OAAA;EAAA,mBAAA;EAAA;AAAA,GAAkJ,qBAAA,KAAqB,oBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/FormFieldMessage.js
CHANGED
|
@@ -27,7 +27,7 @@ const FormFieldMessage = ({ ariaLive, className, containerClassName, dataTestId,
|
|
|
27
27
|
const toneClasses = tone === "danger" ? "text-danger-400!" : "text-warning-400!";
|
|
28
28
|
return /* @__PURE__ */ jsx("div", {
|
|
29
29
|
"aria-hidden": !isVisible,
|
|
30
|
-
className: cn("transition-[opacity,transform] duration-
|
|
30
|
+
className: cn("transition-[opacity,transform] duration-180 pt-1 ease-out motion-reduce:transition-none", isVisible ? "translate-y-0 opacity-100" : "-translate-y-0.5 opacity-0", containerClassName),
|
|
31
31
|
style: reservedHeight ? { minHeight: reservedHeight } : void 0,
|
|
32
32
|
children: /* @__PURE__ */ jsx("p", {
|
|
33
33
|
"aria-atomic": isVisible ? "true" : void 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFieldMessage.js","names":[],"sources":["../src/components/FormFieldMessage/FormFieldMessage.tsx"],"sourcesContent":["import { cn } from '@utils/twUtils'\nimport { type ReactNode } from 'react'\n\nexport type FormFieldMessageValue = string | string[] | Record<string, unknown> | null | undefined\n\ninterface BaseFieldMessageProps {\n className?: string\n containerClassName?: string\n dataTestId?: string\n id: string\n message: FormFieldMessageValue\n messageReserveLines?: number\n messageReserveSpace?: boolean\n}\n\nconst renderFieldMessageContent = (message: FormFieldMessageValue): ReactNode => {\n if (!message) return null\n\n if (typeof message === 'string') {\n return message\n }\n\n if (Array.isArray(message)) {\n return message.join(', ')\n }\n\n if (typeof message === 'object') {\n if ('message' in message && typeof message.message === 'string') return message.message\n if ('error' in message && typeof message.error === 'string') return message.error\n if ('details' in message && typeof message.details === 'string') return message.details\n try {\n return JSON.stringify(message)\n } catch {\n return '[Circular]'\n }\n }\n\n return String(message)\n}\n\nconst FormFieldMessage = ({\n ariaLive,\n className,\n containerClassName,\n dataTestId,\n id,\n message,\n messageReserveLines = 1,\n messageReserveSpace = false,\n role,\n tone,\n}: BaseFieldMessageProps & {\n ariaLive: 'assertive' | 'polite'\n role: 'alert' | 'status'\n tone: 'danger' | 'warning'\n}) => {\n const content = renderFieldMessageContent(message)\n const isVisible = Boolean(content)\n const reservedHeight =\n messageReserveSpace && messageReserveLines > 0\n ? `${Math.max(messageReserveLines, 1) * 1.25 + 0.25}rem`\n : undefined\n const toneClasses = tone === 'danger' ? 'text-danger-400!' : 'text-warning-400!'\n\n return (\n <div\n aria-hidden={!isVisible}\n className={cn(\n 'transition-[opacity,transform] duration-
|
|
1
|
+
{"version":3,"file":"FormFieldMessage.js","names":[],"sources":["../src/components/FormFieldMessage/FormFieldMessage.tsx"],"sourcesContent":["import { cn } from '@utils/twUtils'\nimport { type ReactNode } from 'react'\n\nexport type FormFieldMessageValue = string | string[] | Record<string, unknown> | null | undefined\n\ninterface BaseFieldMessageProps {\n className?: string\n containerClassName?: string\n dataTestId?: string\n id: string\n message: FormFieldMessageValue\n messageReserveLines?: number\n messageReserveSpace?: boolean\n}\n\nconst renderFieldMessageContent = (message: FormFieldMessageValue): ReactNode => {\n if (!message) return null\n\n if (typeof message === 'string') {\n return message\n }\n\n if (Array.isArray(message)) {\n return message.join(', ')\n }\n\n if (typeof message === 'object') {\n if ('message' in message && typeof message.message === 'string') return message.message\n if ('error' in message && typeof message.error === 'string') return message.error\n if ('details' in message && typeof message.details === 'string') return message.details\n try {\n return JSON.stringify(message)\n } catch {\n return '[Circular]'\n }\n }\n\n return String(message)\n}\n\nconst FormFieldMessage = ({\n ariaLive,\n className,\n containerClassName,\n dataTestId,\n id,\n message,\n messageReserveLines = 1,\n messageReserveSpace = false,\n role,\n tone,\n}: BaseFieldMessageProps & {\n ariaLive: 'assertive' | 'polite'\n role: 'alert' | 'status'\n tone: 'danger' | 'warning'\n}) => {\n const content = renderFieldMessageContent(message)\n const isVisible = Boolean(content)\n const reservedHeight =\n messageReserveSpace && messageReserveLines > 0\n ? `${Math.max(messageReserveLines, 1) * 1.25 + 0.25}rem`\n : undefined\n const toneClasses = tone === 'danger' ? 'text-danger-400!' : 'text-warning-400!'\n\n return (\n <div\n aria-hidden={!isVisible}\n className={cn(\n 'transition-[opacity,transform] duration-180 pt-1 ease-out motion-reduce:transition-none',\n isVisible ? 'translate-y-0 opacity-100' : '-translate-y-0.5 opacity-0',\n containerClassName,\n )}\n style={reservedHeight ? { minHeight: reservedHeight } : undefined}\n >\n <p\n aria-atomic={isVisible ? 'true' : undefined}\n aria-live={isVisible ? ariaLive : undefined}\n className={cn('m-0! text-sm leading-5 overflow-hidden', toneClasses, className)}\n data-testid={isVisible ? dataTestId : undefined}\n id={id}\n role={isVisible ? role : undefined}\n >\n {content}\n </p>\n </div>\n )\n}\n\nexport const ErrorMessage = ({ className, containerClassName, dataTestId = 'spectral-form-field-error-message', id, message, messageReserveLines, messageReserveSpace }: BaseFieldMessageProps) => {\n return (\n <FormFieldMessage\n ariaLive='polite'\n className={className}\n containerClassName={containerClassName}\n dataTestId={dataTestId}\n id={id}\n message={message}\n messageReserveLines={messageReserveLines}\n messageReserveSpace={messageReserveSpace}\n role='status'\n tone='danger'\n />\n )\n}\n\nexport const WarningMessage = ({ className, containerClassName, dataTestId = 'spectral-form-field-warning-message', id, message, messageReserveLines, messageReserveSpace }: BaseFieldMessageProps) => {\n return (\n <FormFieldMessage\n ariaLive='polite'\n className={className}\n containerClassName={containerClassName}\n dataTestId={dataTestId}\n id={id}\n message={message}\n messageReserveLines={messageReserveLines}\n messageReserveSpace={messageReserveSpace}\n role='status'\n tone='warning'\n />\n )\n}\n"],"mappings":";;;;;;AAeA,MAAM,6BAA6B,YAA8C;AAC/E,KAAI,CAAC,QAAS,QAAO;AAErB,KAAI,OAAO,YAAY,SACrB,QAAO;AAGT,KAAI,MAAM,QAAQ,QAAQ,CACxB,QAAO,QAAQ,KAAK,KAAK;AAG3B,KAAI,OAAO,YAAY,UAAU;AAC/B,MAAI,aAAa,WAAW,OAAO,QAAQ,YAAY,SAAU,QAAO,QAAQ;AAChF,MAAI,WAAW,WAAW,OAAO,QAAQ,UAAU,SAAU,QAAO,QAAQ;AAC5E,MAAI,aAAa,WAAW,OAAO,QAAQ,YAAY,SAAU,QAAO,QAAQ;AAChF,MAAI;AACF,UAAO,KAAK,UAAU,QAAQ;UACxB;AACN,UAAO;;;AAIX,QAAO,OAAO,QAAQ;;AAGxB,MAAM,oBAAoB,EACxB,UACA,WACA,oBACA,YACA,IACA,SACA,sBAAsB,GACtB,sBAAsB,OACtB,MACA,WAKI;CACJ,MAAM,UAAU,0BAA0B,QAAQ;CAClD,MAAM,YAAY,QAAQ,QAAQ;CAClC,MAAM,iBACJ,uBAAuB,sBAAsB,IACzC,GAAG,KAAK,IAAI,qBAAqB,EAAE,GAAG,OAAO,IAAK,OAClD;CACN,MAAM,cAAc,SAAS,WAAW,qBAAqB;AAE7D,QACE,oBAAC,OAAD;EACE,eAAa,CAAC;EACd,WAAW,GACT,2FACA,YAAY,8BAA8B,8BAC1C,mBACD;EACD,OAAO,iBAAiB,EAAE,WAAW,gBAAgB,GAAG;YAExD,oBAAC,KAAD;GACE,eAAa,YAAY,SAAS;GAClC,aAAW,YAAY,WAAW;GAClC,WAAW,GAAG,0CAA0C,aAAa,UAAU;GAC/E,eAAa,YAAY,aAAa;GAClC;GACJ,MAAM,YAAY,OAAO;aAExB;GACC;EACA;;AAIV,MAAa,gBAAgB,EAAE,WAAW,oBAAoB,aAAa,qCAAqC,IAAI,SAAS,qBAAqB,0BAAiD;AACjM,QACE,oBAAC,kBAAD;EACE,UAAS;EACE;EACS;EACR;EACR;EACK;EACY;EACA;EACrB,MAAK;EACL,MAAK;EACL;;AAIN,MAAa,kBAAkB,EAAE,WAAW,oBAAoB,aAAa,uCAAuC,IAAI,SAAS,qBAAqB,0BAAiD;AACrM,QACE,oBAAC,kBAAD;EACE,UAAS;EACE;EACS;EACR;EACR;EACK;EACY;EACA;EACrB,MAAK;EACL,MAAK;EACL"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import * as _$react from "react";
|
|
3
|
+
import { ReactNode, Ref } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/RadialMenu/RadialMenu.d.ts
|
|
6
|
+
interface RadialMenuItem {
|
|
7
|
+
/** Optional longer description shown in a tooltip on hover, since labels are kept short. */
|
|
8
|
+
description?: string;
|
|
9
|
+
destructive?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
icon: ReactNode;
|
|
12
|
+
id: string;
|
|
13
|
+
items?: RadialMenuItem[];
|
|
14
|
+
label: string;
|
|
15
|
+
onSelect?: () => void;
|
|
16
|
+
}
|
|
17
|
+
interface RadialMenuProps {
|
|
18
|
+
ariaLabel: string;
|
|
19
|
+
backLabel?: string;
|
|
20
|
+
className?: string;
|
|
21
|
+
dataTestId?: string;
|
|
22
|
+
items: RadialMenuItem[];
|
|
23
|
+
onClose: () => void;
|
|
24
|
+
position: {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
} | null;
|
|
28
|
+
}
|
|
29
|
+
declare function RadialMenu({
|
|
30
|
+
ariaLabel,
|
|
31
|
+
backLabel,
|
|
32
|
+
className,
|
|
33
|
+
dataTestId,
|
|
34
|
+
items,
|
|
35
|
+
onClose,
|
|
36
|
+
position,
|
|
37
|
+
ref
|
|
38
|
+
}: RadialMenuProps & {
|
|
39
|
+
ref?: Ref<HTMLDivElement>;
|
|
40
|
+
}): _$react.ReactPortal | null;
|
|
41
|
+
declare namespace RadialMenu {
|
|
42
|
+
var displayName: string;
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { RadialMenu, RadialMenuItem, RadialMenuProps };
|
|
46
|
+
//# sourceMappingURL=RadialMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadialMenu.d.ts","names":[],"sources":["../src/components/RadialMenu/RadialMenu.tsx"],"mappings":";;;;;UAMiB,cAAA;;EAEf,WAAA;EACA,WAAA;EACA,QAAA;EACA,IAAA,EAAM,SAAA;EACN,EAAA;EACA,KAAA,GAAQ,cAAA;EACR,KAAA;EACA,QAAA;AAAA;AAAA,UAGe,eAAA;EACf,SAAA;EACA,SAAA;EACA,SAAA;EACA,UAAA;EACA,KAAA,EAAO,cAAA;EACP,OAAA;EACA,QAAA;IAAY,CAAA;IAAW,CAAA;EAAA;AAAA;AAAA;EA2CI,SAAA;EAAW,SAAA;EAAoB,SAAA;EAAW,UAAA;EAAY,KAAA;EAAO,OAAA;EAAS,QAAA;EAAU;AAAA,GAAO,eAAA;EAAoB,GAAA,GAAM,GAAA,CAAI,cAAA;AAAA,IAAD,OAAA,CAAkB,WAAA;AAAA"}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { ChevronDownIcon } from "./Icons/ChevronDownIcon.js";
|
|
3
|
+
import { cn } from "./utils/twUtils.js";
|
|
4
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from "./Tooltip.js";
|
|
5
|
+
import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { createPortal } from "react-dom";
|
|
8
|
+
|
|
9
|
+
//#region src/components/RadialMenu/RadialMenu.tsx
|
|
10
|
+
const BOUNCE_EASE = "motion-safe:ease-[cubic-bezier(0.34,1.56,0.64,1)]";
|
|
11
|
+
const LABEL_SHADOW = "[text-shadow:0_0_5px_var(--color-text-inverted),0_0_5px_var(--color-text-inverted),0_0_10px_var(--color-text-inverted),0_0_10px_var(--color-text-inverted),0_0_16px_var(--color-text-inverted),0_0_16px_var(--color-text-inverted),0_0_22px_var(--color-text-inverted)]";
|
|
12
|
+
const CLOSE_MS = 260;
|
|
13
|
+
const LEVEL_MS = 200;
|
|
14
|
+
const LABEL_OFFSET = 30;
|
|
15
|
+
const PRIMARY_RADIUS = 70;
|
|
16
|
+
const SUB_RADIUS = 96;
|
|
17
|
+
const ITEM_REACH = 44;
|
|
18
|
+
const VIEWPORT_MARGIN = 16;
|
|
19
|
+
const clamp = (value, min, max) => min > max ? (min + max) / 2 : Math.min(Math.max(value, min), max);
|
|
20
|
+
const runAfterPaint = (callback) => {
|
|
21
|
+
let inner = 0;
|
|
22
|
+
const outer = requestAnimationFrame(() => {
|
|
23
|
+
inner = requestAnimationFrame(callback);
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
cancelAnimationFrame(outer);
|
|
27
|
+
cancelAnimationFrame(inner);
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
const positionForIndex = (index, count, radius) => {
|
|
31
|
+
const angle = -Math.PI / 2 + index * 2 * Math.PI / count;
|
|
32
|
+
return {
|
|
33
|
+
x: Math.cos(angle) * radius,
|
|
34
|
+
y: Math.sin(angle) * radius
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
const SUB_ARC_CENTER = -Math.PI / 2;
|
|
38
|
+
const SUB_ARC_SPAN = Math.PI * .7;
|
|
39
|
+
const positionOnArc = (index, count, radius) => {
|
|
40
|
+
const angle = count <= 1 ? SUB_ARC_CENTER : SUB_ARC_CENTER - SUB_ARC_SPAN / 2 + index / (count - 1) * SUB_ARC_SPAN;
|
|
41
|
+
return {
|
|
42
|
+
x: Math.cos(angle) * radius,
|
|
43
|
+
y: Math.sin(angle) * radius
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
const RadialMenu = ({ ariaLabel, backLabel = "Back", className, dataTestId, items, onClose, position, ref }) => {
|
|
47
|
+
const resolvedTestId = dataTestId ?? "spectral-radial-menu";
|
|
48
|
+
const containerRef = useRef(null);
|
|
49
|
+
const levelTimersRef = useRef([]);
|
|
50
|
+
const [activeSubmenuId, setActiveSubmenuId] = useState(null);
|
|
51
|
+
const [highlightIndex, setHighlightIndex] = useState(-1);
|
|
52
|
+
const [renderCenter, setRenderCenter] = useState(position);
|
|
53
|
+
const [expanded, setExpanded] = useState(false);
|
|
54
|
+
const [spreadOrigin, setSpreadOrigin] = useState({
|
|
55
|
+
x: 0,
|
|
56
|
+
y: 0
|
|
57
|
+
});
|
|
58
|
+
const [backSkin, setBackSkin] = useState(null);
|
|
59
|
+
const [returningId, setReturningId] = useState(null);
|
|
60
|
+
const clearLevelTimers = useCallback(() => {
|
|
61
|
+
levelTimersRef.current.forEach((id) => clearTimeout(id));
|
|
62
|
+
levelTimersRef.current = [];
|
|
63
|
+
}, []);
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
clearLevelTimers();
|
|
66
|
+
if (position !== null) {
|
|
67
|
+
setRenderCenter(position);
|
|
68
|
+
setActiveSubmenuId(null);
|
|
69
|
+
setHighlightIndex(-1);
|
|
70
|
+
setSpreadOrigin({
|
|
71
|
+
x: 0,
|
|
72
|
+
y: 0
|
|
73
|
+
});
|
|
74
|
+
setBackSkin(null);
|
|
75
|
+
setReturningId(null);
|
|
76
|
+
setExpanded(false);
|
|
77
|
+
return runAfterPaint(() => {
|
|
78
|
+
setExpanded(true);
|
|
79
|
+
containerRef.current?.focus();
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
setExpanded(false);
|
|
83
|
+
setSpreadOrigin({
|
|
84
|
+
x: 0,
|
|
85
|
+
y: 0
|
|
86
|
+
});
|
|
87
|
+
const timer = setTimeout(() => {
|
|
88
|
+
setRenderCenter(null);
|
|
89
|
+
setBackSkin(null);
|
|
90
|
+
}, CLOSE_MS);
|
|
91
|
+
return () => {
|
|
92
|
+
clearTimeout(timer);
|
|
93
|
+
};
|
|
94
|
+
}, [clearLevelTimers, position]);
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
if (position === null) return () => {};
|
|
97
|
+
window.addEventListener("scroll", onClose, true);
|
|
98
|
+
window.addEventListener("resize", onClose);
|
|
99
|
+
return () => {
|
|
100
|
+
window.removeEventListener("scroll", onClose, true);
|
|
101
|
+
window.removeEventListener("resize", onClose);
|
|
102
|
+
};
|
|
103
|
+
}, [position, onClose]);
|
|
104
|
+
const renderCenterRef = useRef(renderCenter);
|
|
105
|
+
renderCenterRef.current = renderCenter;
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
if (renderCenterRef.current === null) return () => {};
|
|
108
|
+
return runAfterPaint(() => {
|
|
109
|
+
setExpanded(true);
|
|
110
|
+
});
|
|
111
|
+
}, [activeSubmenuId]);
|
|
112
|
+
useEffect(() => clearLevelTimers, [clearLevelTimers]);
|
|
113
|
+
const activeItems = useMemo(() => {
|
|
114
|
+
if (activeSubmenuId === null) return items;
|
|
115
|
+
return items.find((item) => item.id === activeSubmenuId)?.items ?? items;
|
|
116
|
+
}, [activeSubmenuId, items]);
|
|
117
|
+
const activate = useCallback((item) => {
|
|
118
|
+
if (item.disabled === true) return;
|
|
119
|
+
if (item.items && item.items.length > 0) {
|
|
120
|
+
clearLevelTimers();
|
|
121
|
+
const offset = positionForIndex(items.findIndex((candidate) => candidate.id === item.id), items.length, PRIMARY_RADIUS);
|
|
122
|
+
setSpreadOrigin(offset);
|
|
123
|
+
setReturningId(null);
|
|
124
|
+
setBackSkin({
|
|
125
|
+
item: {
|
|
126
|
+
...item,
|
|
127
|
+
description: void 0,
|
|
128
|
+
icon: /* @__PURE__ */ jsx(ChevronDownIcon, {
|
|
129
|
+
className: "rotate-90",
|
|
130
|
+
size: 20
|
|
131
|
+
}),
|
|
132
|
+
id: `${item.id}__back`,
|
|
133
|
+
items: void 0,
|
|
134
|
+
label: backLabel
|
|
135
|
+
},
|
|
136
|
+
offset
|
|
137
|
+
});
|
|
138
|
+
setActiveSubmenuId(item.id);
|
|
139
|
+
setHighlightIndex(-1);
|
|
140
|
+
setExpanded(false);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
item.onSelect?.();
|
|
144
|
+
onClose();
|
|
145
|
+
}, [
|
|
146
|
+
backLabel,
|
|
147
|
+
clearLevelTimers,
|
|
148
|
+
items,
|
|
149
|
+
onClose
|
|
150
|
+
]);
|
|
151
|
+
const goBack = useCallback(() => {
|
|
152
|
+
const returningSubmenuId = activeSubmenuId;
|
|
153
|
+
const index = items.findIndex((candidate) => candidate.id === returningSubmenuId);
|
|
154
|
+
setSpreadOrigin(index >= 0 ? positionForIndex(index, items.length, PRIMARY_RADIUS) : {
|
|
155
|
+
x: 0,
|
|
156
|
+
y: 0
|
|
157
|
+
});
|
|
158
|
+
setExpanded(false);
|
|
159
|
+
setHighlightIndex(-1);
|
|
160
|
+
clearLevelTimers();
|
|
161
|
+
levelTimersRef.current = [window.setTimeout(() => {
|
|
162
|
+
if (renderCenterRef.current === null) return;
|
|
163
|
+
setActiveSubmenuId(null);
|
|
164
|
+
setBackSkin(null);
|
|
165
|
+
setReturningId(returningSubmenuId);
|
|
166
|
+
}, LEVEL_MS), window.setTimeout(() => {
|
|
167
|
+
if (renderCenterRef.current !== null) setReturningId(null);
|
|
168
|
+
}, LEVEL_MS + 350)];
|
|
169
|
+
}, [
|
|
170
|
+
activeSubmenuId,
|
|
171
|
+
clearLevelTimers,
|
|
172
|
+
items
|
|
173
|
+
]);
|
|
174
|
+
const handleKeyDown = useCallback((event) => {
|
|
175
|
+
const count = activeItems.length;
|
|
176
|
+
if (count === 0) return;
|
|
177
|
+
switch (event.key) {
|
|
178
|
+
case "ArrowRight":
|
|
179
|
+
case "ArrowDown":
|
|
180
|
+
event.preventDefault();
|
|
181
|
+
setHighlightIndex((index) => index < 0 ? 0 : (index + 1) % count);
|
|
182
|
+
break;
|
|
183
|
+
case "ArrowLeft":
|
|
184
|
+
case "ArrowUp":
|
|
185
|
+
event.preventDefault();
|
|
186
|
+
setHighlightIndex((index) => index < 0 ? count - 1 : (index - 1 + count) % count);
|
|
187
|
+
break;
|
|
188
|
+
case "Enter":
|
|
189
|
+
case " ": {
|
|
190
|
+
event.preventDefault();
|
|
191
|
+
const item = activeItems[highlightIndex];
|
|
192
|
+
if (item) activate(item);
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
case "Escape":
|
|
196
|
+
event.preventDefault();
|
|
197
|
+
if (activeSubmenuId === null) onClose();
|
|
198
|
+
else goBack();
|
|
199
|
+
break;
|
|
200
|
+
case "Tab":
|
|
201
|
+
event.preventDefault();
|
|
202
|
+
break;
|
|
203
|
+
default: break;
|
|
204
|
+
}
|
|
205
|
+
}, [
|
|
206
|
+
activate,
|
|
207
|
+
activeItems,
|
|
208
|
+
activeSubmenuId,
|
|
209
|
+
goBack,
|
|
210
|
+
highlightIndex,
|
|
211
|
+
onClose
|
|
212
|
+
]);
|
|
213
|
+
if (renderCenter === null || typeof document === "undefined") return null;
|
|
214
|
+
const inSubmenu = activeSubmenuId !== null;
|
|
215
|
+
const parentIndex = inSubmenu ? items.findIndex((item) => item.id === activeSubmenuId) : -1;
|
|
216
|
+
const base = (parentIndex >= 0 ? items[parentIndex] ?? null : null) === null ? {
|
|
217
|
+
x: 0,
|
|
218
|
+
y: 0
|
|
219
|
+
} : positionForIndex(parentIndex, items.length, PRIMARY_RADIUS);
|
|
220
|
+
const ringRadius = inSubmenu ? SUB_RADIUS : PRIMARY_RADIUS;
|
|
221
|
+
const reach = (inSubmenu ? PRIMARY_RADIUS + SUB_RADIUS : PRIMARY_RADIUS) + ITEM_REACH;
|
|
222
|
+
const cx = clamp(renderCenter.x, reach + VIEWPORT_MARGIN, window.innerWidth - reach - VIEWPORT_MARGIN);
|
|
223
|
+
const cy = clamp(renderCenter.y, reach + VIEWPORT_MARGIN, window.innerHeight - reach - VIEWPORT_MARGIN);
|
|
224
|
+
const renderSpoke = (options) => {
|
|
225
|
+
const { delay = 0, isActive = false, isHighlighted = false, item, nonInteractive = false, onClick, opacity, testId, x, y } = options;
|
|
226
|
+
const hasSubmenu = Boolean(item.items && item.items.length > 0);
|
|
227
|
+
const circle = /* @__PURE__ */ jsxs("button", {
|
|
228
|
+
"aria-disabled": item.disabled,
|
|
229
|
+
"aria-haspopup": hasSubmenu ? "menu" : void 0,
|
|
230
|
+
"aria-label": item.label,
|
|
231
|
+
className: cn("size-12 absolute flex -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full", "border border-border-primary bg-popover-bg text-popover-text shadow-elevation-3", "hover:scale-110 hover:cursor-pointer hover:border-toggle-border hover:bg-level-three", "motion-safe:transition-[left,top,opacity,transform] motion-safe:duration-300", BOUNCE_EASE, (isHighlighted || isActive) && "border-toggle-border bg-level-three", isHighlighted && "scale-110", item.destructive === true && "text-danger-300", item.disabled === true && "pointer-events-none hover:scale-100", nonInteractive && "pointer-events-none"),
|
|
232
|
+
"data-testid": testId,
|
|
233
|
+
disabled: item.disabled,
|
|
234
|
+
onClick,
|
|
235
|
+
role: "menuitem",
|
|
236
|
+
style: {
|
|
237
|
+
left: x,
|
|
238
|
+
opacity,
|
|
239
|
+
top: y,
|
|
240
|
+
transitionDelay: `${delay}ms`
|
|
241
|
+
},
|
|
242
|
+
type: "button",
|
|
243
|
+
children: [item.icon, hasSubmenu && /* @__PURE__ */ jsx("span", {
|
|
244
|
+
"aria-hidden": true,
|
|
245
|
+
className: "size-4 -right-0.5 -top-0.5 font-semibold absolute flex items-center justify-center rounded-full border border-border-primary bg-level-four text-[9px] leading-none text-text-primary tabular-nums",
|
|
246
|
+
"data-testid": `${testId}-submenu-count`,
|
|
247
|
+
children: item.items?.length
|
|
248
|
+
})]
|
|
249
|
+
});
|
|
250
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [item.description ? /* @__PURE__ */ jsxs(Tooltip, {
|
|
251
|
+
delayDuration: 400,
|
|
252
|
+
children: [/* @__PURE__ */ jsx(TooltipTrigger, {
|
|
253
|
+
asChild: true,
|
|
254
|
+
children: circle
|
|
255
|
+
}), /* @__PURE__ */ jsx(TooltipContent, { children: item.description })]
|
|
256
|
+
}) : circle, /* @__PURE__ */ jsx("span", {
|
|
257
|
+
"aria-hidden": true,
|
|
258
|
+
className: cn("w-20 font-medium leading-tight pointer-events-none absolute -translate-x-1/2 text-center text-[10px]", LABEL_SHADOW, "motion-safe:transition-[left,top,opacity] motion-safe:duration-300", BOUNCE_EASE, item.destructive === true ? "text-danger-300" : "text-text-primary"),
|
|
259
|
+
"data-testid": `${testId}-label`,
|
|
260
|
+
style: {
|
|
261
|
+
left: x,
|
|
262
|
+
opacity,
|
|
263
|
+
top: y + LABEL_OFFSET,
|
|
264
|
+
transitionDelay: `${delay}ms`
|
|
265
|
+
},
|
|
266
|
+
children: item.label
|
|
267
|
+
})] }, item.id);
|
|
268
|
+
};
|
|
269
|
+
return createPortal(/* @__PURE__ */ jsx("div", {
|
|
270
|
+
className: "inset-0 fixed z-50 motion-safe:duration-150 motion-safe:animate-in motion-safe:fade-in-0",
|
|
271
|
+
"data-testid": resolvedTestId,
|
|
272
|
+
onContextMenu: (event) => {
|
|
273
|
+
event.preventDefault();
|
|
274
|
+
},
|
|
275
|
+
onPointerDown: (event) => {
|
|
276
|
+
if (event.target === event.currentTarget) onClose();
|
|
277
|
+
},
|
|
278
|
+
ref,
|
|
279
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
280
|
+
"aria-label": ariaLabel,
|
|
281
|
+
className: cn("focus-visible:ring-ring absolute origin-center focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none", className),
|
|
282
|
+
"data-testid": `${resolvedTestId}-menu`,
|
|
283
|
+
onKeyDown: handleKeyDown,
|
|
284
|
+
ref: containerRef,
|
|
285
|
+
role: "menu",
|
|
286
|
+
style: {
|
|
287
|
+
left: cx,
|
|
288
|
+
top: cy
|
|
289
|
+
},
|
|
290
|
+
tabIndex: -1,
|
|
291
|
+
children: [
|
|
292
|
+
!inSubmenu && /* @__PURE__ */ jsx("span", {
|
|
293
|
+
"aria-hidden": true,
|
|
294
|
+
className: "size-1.5 absolute -translate-x-1/2 -translate-y-1/2 rounded-full bg-text-secondary opacity-60",
|
|
295
|
+
"data-testid": `${resolvedTestId}-center`
|
|
296
|
+
}),
|
|
297
|
+
backSkin !== null && renderSpoke({
|
|
298
|
+
isActive: true,
|
|
299
|
+
item: backSkin.item,
|
|
300
|
+
nonInteractive: !inSubmenu,
|
|
301
|
+
onClick: goBack,
|
|
302
|
+
opacity: inSubmenu ? 1 : 0,
|
|
303
|
+
testId: `${resolvedTestId}-back`,
|
|
304
|
+
x: backSkin.offset.x,
|
|
305
|
+
y: backSkin.offset.y
|
|
306
|
+
}),
|
|
307
|
+
activeItems.map((item, index) => {
|
|
308
|
+
const offset = inSubmenu ? positionOnArc(index, activeItems.length, ringRadius) : positionForIndex(index, activeItems.length, ringRadius);
|
|
309
|
+
const settled = expanded || item.id === returningId;
|
|
310
|
+
return renderSpoke({
|
|
311
|
+
delay: item.id === returningId ? 0 : expanded ? index * 25 : 0,
|
|
312
|
+
isHighlighted: index === highlightIndex,
|
|
313
|
+
item,
|
|
314
|
+
onClick: () => {
|
|
315
|
+
activate(item);
|
|
316
|
+
},
|
|
317
|
+
opacity: settled ? item.disabled === true ? .4 : 1 : 0,
|
|
318
|
+
testId: `${resolvedTestId}-item`,
|
|
319
|
+
x: settled ? base.x + offset.x : spreadOrigin.x,
|
|
320
|
+
y: settled ? base.y + offset.y : spreadOrigin.y
|
|
321
|
+
});
|
|
322
|
+
})
|
|
323
|
+
]
|
|
324
|
+
})
|
|
325
|
+
}), document.body);
|
|
326
|
+
};
|
|
327
|
+
RadialMenu.displayName = "RadialMenu";
|
|
328
|
+
|
|
329
|
+
//#endregion
|
|
330
|
+
export { RadialMenu };
|
|
331
|
+
//# sourceMappingURL=RadialMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadialMenu.js","names":[],"sources":["../src/components/RadialMenu/RadialMenu.tsx"],"sourcesContent":["import { ChevronDownIcon } from '@components/Icons'\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@components/Tooltip/Tooltip'\nimport { cn } from '@utils/twUtils'\nimport { Fragment, useCallback, useEffect, useMemo, useRef, useState, type ReactNode, type Ref } from 'react'\nimport { createPortal } from 'react-dom'\n\nexport interface RadialMenuItem {\n /** Optional longer description shown in a tooltip on hover, since labels are kept short. */\n description?: string\n destructive?: boolean\n disabled?: boolean\n icon: ReactNode\n id: string\n items?: RadialMenuItem[]\n label: string\n onSelect?: () => void\n}\n\nexport interface RadialMenuProps {\n ariaLabel: string\n backLabel?: string\n className?: string\n dataTestId?: string\n items: RadialMenuItem[]\n onClose: () => void\n position: { x: number; y: number } | null\n}\n\nconst BOUNCE_EASE = 'motion-safe:ease-[cubic-bezier(0.34,1.56,0.64,1)]'\n// Stacked soft shadows form a dense-but-soft halo so labels stay legible over any background.\nconst LABEL_SHADOW =\n '[text-shadow:0_0_5px_var(--color-text-inverted),0_0_5px_var(--color-text-inverted),0_0_10px_var(--color-text-inverted),0_0_10px_var(--color-text-inverted),0_0_16px_var(--color-text-inverted),0_0_16px_var(--color-text-inverted),0_0_22px_var(--color-text-inverted)]'\nconst CLOSE_MS = 260\nconst LEVEL_MS = 200\nconst LABEL_OFFSET = 30\nconst PRIMARY_RADIUS = 70\nconst SUB_RADIUS = 96\nconst ITEM_REACH = 44\nconst VIEWPORT_MARGIN = 16\n\n// When the menu is larger than the viewport (min > max), center it; otherwise clamp normally.\nconst clamp = (value: number, min: number, max: number) => (min > max ? (min + max) / 2 : Math.min(Math.max(value, min), max))\n\n// Double rAF so the collapsed \"from\" state paints before the transition target is applied.\nconst runAfterPaint = (callback: () => void) => {\n let inner = 0\n const outer = requestAnimationFrame(() => {\n inner = requestAnimationFrame(callback)\n })\n return () => {\n cancelAnimationFrame(outer)\n cancelAnimationFrame(inner)\n }\n}\n\nconst positionForIndex = (index: number, count: number, radius: number) => {\n const angle = -Math.PI / 2 + (index * 2 * Math.PI) / count\n return { x: Math.cos(angle) * radius, y: Math.sin(angle) * radius }\n}\n\n// Fanned across an arc centered straight up, so a sub-ring arches above its parent.\nconst SUB_ARC_CENTER = -Math.PI / 2\nconst SUB_ARC_SPAN = Math.PI * 0.7\nconst positionOnArc = (index: number, count: number, radius: number) => {\n const angle = count <= 1 ? SUB_ARC_CENTER : SUB_ARC_CENTER - SUB_ARC_SPAN / 2 + (index / (count - 1)) * SUB_ARC_SPAN\n return { x: Math.cos(angle) * radius, y: Math.sin(angle) * radius }\n}\n\nexport const RadialMenu = ({ ariaLabel, backLabel = 'Back', className, dataTestId, items, onClose, position, ref }: RadialMenuProps & { ref?: Ref<HTMLDivElement> }) => {\n const resolvedTestId = dataTestId ?? 'spectral-radial-menu'\n const containerRef = useRef<HTMLDivElement>(null)\n const levelTimersRef = useRef<number[]>([])\n const [activeSubmenuId, setActiveSubmenuId] = useState<string | null>(null)\n const [highlightIndex, setHighlightIndex] = useState(-1)\n // Items animate between `spreadOrigin` (collapsed) and `base + ring offset` (expanded).\n const [renderCenter, setRenderCenter] = useState(position)\n const [expanded, setExpanded] = useState(false)\n const [spreadOrigin, setSpreadOrigin] = useState<{ x: number; y: number }>({ x: 0, y: 0 })\n // Parent re-skinned as a back control, kept mounted so it swaps cleanly with the real item.\n const [backSkin, setBackSkin] = useState<{ item: RadialMenuItem; offset: { x: number; y: number } } | null>(null)\n // The returned item appears instantly at its spot (swapping in for the chevron) rather than fading.\n const [returningId, setReturningId] = useState<string | null>(null)\n\n const clearLevelTimers = useCallback(() => {\n levelTimersRef.current.forEach((id) => clearTimeout(id))\n levelTimersRef.current = []\n }, [])\n\n useEffect(() => {\n // Cancel any in-flight level-change timers so a stale callback can't mutate a new cycle.\n clearLevelTimers()\n if (position !== null) {\n setRenderCenter(position)\n setActiveSubmenuId(null)\n setHighlightIndex(-1)\n setSpreadOrigin({ x: 0, y: 0 })\n setBackSkin(null)\n setReturningId(null)\n setExpanded(false)\n return runAfterPaint(() => {\n setExpanded(true)\n containerRef.current?.focus()\n })\n }\n setExpanded(false)\n // Collapse to the center, not the lingering sub-ring origin, so close mirrors open.\n setSpreadOrigin({ x: 0, y: 0 })\n const timer = setTimeout(() => {\n setRenderCenter(null)\n setBackSkin(null)\n }, CLOSE_MS)\n return () => {\n clearTimeout(timer)\n }\n }, [clearLevelTimers, position])\n\n useEffect(() => {\n if (position === null) {\n return () => {}\n }\n window.addEventListener('scroll', onClose, true)\n window.addEventListener('resize', onClose)\n return () => {\n window.removeEventListener('scroll', onClose, true)\n window.removeEventListener('resize', onClose)\n }\n }, [position, onClose])\n\n const renderCenterRef = useRef(renderCenter)\n renderCenterRef.current = renderCenter\n useEffect(() => {\n if (renderCenterRef.current === null) {\n return () => {}\n }\n return runAfterPaint(() => {\n setExpanded(true)\n })\n }, [activeSubmenuId])\n\n useEffect(() => clearLevelTimers, [clearLevelTimers])\n\n const activeItems = useMemo(() => {\n if (activeSubmenuId === null) return items\n return items.find((item) => item.id === activeSubmenuId)?.items ?? items\n }, [activeSubmenuId, items])\n\n const activate = useCallback(\n (item: RadialMenuItem) => {\n if (item.disabled === true) return\n if (item.items && item.items.length > 0) {\n clearLevelTimers()\n const index = items.findIndex((candidate) => candidate.id === item.id)\n const offset = positionForIndex(index, items.length, PRIMARY_RADIUS)\n setSpreadOrigin(offset)\n setReturningId(null)\n setBackSkin({\n item: {\n ...item,\n description: undefined,\n icon: (\n <ChevronDownIcon\n className='rotate-90'\n size={20}\n />\n ),\n id: `${item.id}__back`,\n items: undefined,\n label: backLabel,\n },\n offset,\n })\n setActiveSubmenuId(item.id)\n setHighlightIndex(-1)\n setExpanded(false)\n return\n }\n item.onSelect?.()\n onClose()\n },\n [backLabel, clearLevelTimers, items, onClose],\n )\n\n const goBack = useCallback(() => {\n const returningSubmenuId = activeSubmenuId\n const index = items.findIndex((candidate) => candidate.id === returningSubmenuId)\n setSpreadOrigin(index >= 0 ? positionForIndex(index, items.length, PRIMARY_RADIUS) : { x: 0, y: 0 })\n setExpanded(false)\n setHighlightIndex(-1)\n clearLevelTimers()\n levelTimersRef.current = [\n window.setTimeout(() => {\n if (renderCenterRef.current === null) return\n setActiveSubmenuId(null)\n setBackSkin(null)\n setReturningId(returningSubmenuId)\n }, LEVEL_MS),\n window.setTimeout(() => {\n if (renderCenterRef.current !== null) {\n setReturningId(null)\n }\n }, LEVEL_MS + 350),\n ]\n }, [activeSubmenuId, clearLevelTimers, items])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n const count = activeItems.length\n if (count === 0) return\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown': {\n event.preventDefault()\n setHighlightIndex((index) => (index < 0 ? 0 : (index + 1) % count))\n break\n }\n case 'ArrowLeft':\n case 'ArrowUp': {\n event.preventDefault()\n setHighlightIndex((index) => (index < 0 ? count - 1 : (index - 1 + count) % count))\n break\n }\n case 'Enter':\n case ' ': {\n event.preventDefault()\n const item = activeItems[highlightIndex]\n if (item) activate(item)\n break\n }\n case 'Escape': {\n event.preventDefault()\n if (activeSubmenuId === null) {\n onClose()\n } else {\n goBack()\n }\n break\n }\n case 'Tab': {\n event.preventDefault()\n break\n }\n default: {\n break\n }\n }\n },\n [activate, activeItems, activeSubmenuId, goBack, highlightIndex, onClose],\n )\n\n if (renderCenter === null || typeof document === 'undefined') {\n return null\n }\n\n const inSubmenu = activeSubmenuId !== null\n const parentIndex = inSubmenu ? items.findIndex((item) => item.id === activeSubmenuId) : -1\n const parentItem = parentIndex >= 0 ? (items[parentIndex] ?? null) : null\n const base = parentItem === null ? { x: 0, y: 0 } : positionForIndex(parentIndex, items.length, PRIMARY_RADIUS)\n const ringRadius = inSubmenu ? SUB_RADIUS : PRIMARY_RADIUS\n\n const reach = (inSubmenu ? PRIMARY_RADIUS + SUB_RADIUS : PRIMARY_RADIUS) + ITEM_REACH\n const cx = clamp(renderCenter.x, reach + VIEWPORT_MARGIN, window.innerWidth - reach - VIEWPORT_MARGIN)\n const cy = clamp(renderCenter.y, reach + VIEWPORT_MARGIN, window.innerHeight - reach - VIEWPORT_MARGIN)\n\n const renderSpoke = (options: { delay?: number; isActive?: boolean; isHighlighted?: boolean; item: RadialMenuItem; nonInteractive?: boolean; onClick: () => void; opacity: number; testId: string; x: number; y: number }) => {\n const { delay = 0, isActive = false, isHighlighted = false, item, nonInteractive = false, onClick, opacity, testId, x, y } = options\n const hasSubmenu = Boolean(item.items && item.items.length > 0)\n const circle = (\n <button\n aria-disabled={item.disabled}\n aria-haspopup={hasSubmenu ? 'menu' : undefined}\n aria-label={item.label}\n className={cn(\n 'size-12 absolute flex -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full',\n 'border border-border-primary bg-popover-bg text-popover-text shadow-elevation-3',\n 'hover:scale-110 hover:cursor-pointer hover:border-toggle-border hover:bg-level-three',\n 'motion-safe:transition-[left,top,opacity,transform] motion-safe:duration-300',\n BOUNCE_EASE,\n (isHighlighted || isActive) && 'border-toggle-border bg-level-three',\n isHighlighted && 'scale-110',\n item.destructive === true && 'text-danger-300',\n item.disabled === true && 'pointer-events-none hover:scale-100',\n nonInteractive && 'pointer-events-none',\n )}\n data-testid={testId}\n disabled={item.disabled}\n onClick={onClick}\n role='menuitem'\n style={{ left: x, opacity, top: y, transitionDelay: `${delay}ms` }}\n type='button'\n >\n {item.icon}\n {hasSubmenu && (\n <span\n aria-hidden\n className='size-4 -right-0.5 -top-0.5 font-semibold absolute flex items-center justify-center rounded-full border border-border-primary bg-level-four text-[9px] leading-none text-text-primary tabular-nums'\n data-testid={`${testId}-submenu-count`}\n >\n {item.items?.length}\n </span>\n )}\n </button>\n )\n return (\n <Fragment key={item.id}>\n {item.description ? (\n <Tooltip delayDuration={400}>\n <TooltipTrigger asChild>{circle}</TooltipTrigger>\n <TooltipContent>{item.description}</TooltipContent>\n </Tooltip>\n ) : (\n circle\n )}\n <span\n aria-hidden\n className={cn(\n 'w-20 font-medium leading-tight pointer-events-none absolute -translate-x-1/2 text-center text-[10px]',\n LABEL_SHADOW,\n 'motion-safe:transition-[left,top,opacity] motion-safe:duration-300',\n BOUNCE_EASE,\n item.destructive === true ? 'text-danger-300' : 'text-text-primary',\n )}\n data-testid={`${testId}-label`}\n style={{ left: x, opacity, top: y + LABEL_OFFSET, transitionDelay: `${delay}ms` }}\n >\n {item.label}\n </span>\n </Fragment>\n )\n }\n\n return createPortal(\n <div\n className='inset-0 fixed z-50 motion-safe:duration-150 motion-safe:animate-in motion-safe:fade-in-0'\n data-testid={resolvedTestId}\n onContextMenu={(event) => {\n event.preventDefault()\n }}\n onPointerDown={(event) => {\n if (event.target === event.currentTarget) {\n onClose()\n }\n }}\n ref={ref}\n >\n <div\n aria-label={ariaLabel}\n className={cn('focus-visible:ring-ring absolute origin-center focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none', className)}\n data-testid={`${resolvedTestId}-menu`}\n onKeyDown={handleKeyDown}\n ref={containerRef}\n role='menu'\n style={{ left: cx, top: cy }}\n tabIndex={-1}\n >\n {!inSubmenu && (\n <span\n aria-hidden\n className='size-1.5 absolute -translate-x-1/2 -translate-y-1/2 rounded-full bg-text-secondary opacity-60'\n data-testid={`${resolvedTestId}-center`}\n />\n )}\n {backSkin !== null &&\n renderSpoke({\n isActive: true,\n item: backSkin.item,\n nonInteractive: !inSubmenu,\n onClick: goBack,\n opacity: inSubmenu ? 1 : 0,\n testId: `${resolvedTestId}-back`,\n x: backSkin.offset.x,\n y: backSkin.offset.y,\n })}\n {activeItems.map((item, index) => {\n const offset = inSubmenu ? positionOnArc(index, activeItems.length, ringRadius) : positionForIndex(index, activeItems.length, ringRadius)\n const settled = expanded || item.id === returningId\n return renderSpoke({\n delay: item.id === returningId ? 0 : expanded ? index * 25 : 0,\n isHighlighted: index === highlightIndex,\n item,\n onClick: () => {\n activate(item)\n },\n opacity: settled ? (item.disabled === true ? 0.4 : 1) : 0,\n testId: `${resolvedTestId}-item`,\n x: settled ? base.x + offset.x : spreadOrigin.x,\n y: settled ? base.y + offset.y : spreadOrigin.y,\n })\n })}\n </div>\n </div>,\n document.body,\n )\n}\n\nRadialMenu.displayName = 'RadialMenu'\n"],"mappings":";;;;;;;;;AA4BA,MAAM,cAAc;AAEpB,MAAM,eACJ;AACF,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,eAAe;AACrB,MAAM,iBAAiB;AACvB,MAAM,aAAa;AACnB,MAAM,aAAa;AACnB,MAAM,kBAAkB;AAGxB,MAAM,SAAS,OAAe,KAAa,QAAiB,MAAM,OAAO,MAAM,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,IAAI,EAAE,IAAI;AAG7H,MAAM,iBAAiB,aAAyB;CAC9C,IAAI,QAAQ;CACZ,MAAM,QAAQ,4BAA4B;AACxC,UAAQ,sBAAsB,SAAS;GACvC;AACF,cAAa;AACX,uBAAqB,MAAM;AAC3B,uBAAqB,MAAM;;;AAI/B,MAAM,oBAAoB,OAAe,OAAe,WAAmB;CACzE,MAAM,QAAQ,CAAC,KAAK,KAAK,IAAK,QAAQ,IAAI,KAAK,KAAM;AACrD,QAAO;EAAE,GAAG,KAAK,IAAI,MAAM,GAAG;EAAQ,GAAG,KAAK,IAAI,MAAM,GAAG;EAAQ;;AAIrE,MAAM,iBAAiB,CAAC,KAAK,KAAK;AAClC,MAAM,eAAe,KAAK,KAAK;AAC/B,MAAM,iBAAiB,OAAe,OAAe,WAAmB;CACtE,MAAM,QAAQ,SAAS,IAAI,iBAAiB,iBAAiB,eAAe,IAAK,SAAS,QAAQ,KAAM;AACxG,QAAO;EAAE,GAAG,KAAK,IAAI,MAAM,GAAG;EAAQ,GAAG,KAAK,IAAI,MAAM,GAAG;EAAQ;;AAGrE,MAAa,cAAc,EAAE,WAAW,YAAY,QAAQ,WAAW,YAAY,OAAO,SAAS,UAAU,UAA2D;CACtK,MAAM,iBAAiB,cAAc;CACrC,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,iBAAiB,OAAiB,EAAE,CAAC;CAC3C,MAAM,CAAC,iBAAiB,sBAAsB,SAAwB,KAAK;CAC3E,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,GAAG;CAExD,MAAM,CAAC,cAAc,mBAAmB,SAAS,SAAS;CAC1D,MAAM,CAAC,UAAU,eAAe,SAAS,MAAM;CAC/C,MAAM,CAAC,cAAc,mBAAmB,SAAmC;EAAE,GAAG;EAAG,GAAG;EAAG,CAAC;CAE1F,MAAM,CAAC,UAAU,eAAe,SAA4E,KAAK;CAEjH,MAAM,CAAC,aAAa,kBAAkB,SAAwB,KAAK;CAEnE,MAAM,mBAAmB,kBAAkB;AACzC,iBAAe,QAAQ,SAAS,OAAO,aAAa,GAAG,CAAC;AACxD,iBAAe,UAAU,EAAE;IAC1B,EAAE,CAAC;AAEN,iBAAgB;AAEd,oBAAkB;AAClB,MAAI,aAAa,MAAM;AACrB,mBAAgB,SAAS;AACzB,sBAAmB,KAAK;AACxB,qBAAkB,GAAG;AACrB,mBAAgB;IAAE,GAAG;IAAG,GAAG;IAAG,CAAC;AAC/B,eAAY,KAAK;AACjB,kBAAe,KAAK;AACpB,eAAY,MAAM;AAClB,UAAO,oBAAoB;AACzB,gBAAY,KAAK;AACjB,iBAAa,SAAS,OAAO;KAC7B;;AAEJ,cAAY,MAAM;AAElB,kBAAgB;GAAE,GAAG;GAAG,GAAG;GAAG,CAAC;EAC/B,MAAM,QAAQ,iBAAiB;AAC7B,mBAAgB,KAAK;AACrB,eAAY,KAAK;KAChB,SAAS;AACZ,eAAa;AACX,gBAAa,MAAM;;IAEpB,CAAC,kBAAkB,SAAS,CAAC;AAEhC,iBAAgB;AACd,MAAI,aAAa,KACf,cAAa;AAEf,SAAO,iBAAiB,UAAU,SAAS,KAAK;AAChD,SAAO,iBAAiB,UAAU,QAAQ;AAC1C,eAAa;AACX,UAAO,oBAAoB,UAAU,SAAS,KAAK;AACnD,UAAO,oBAAoB,UAAU,QAAQ;;IAE9C,CAAC,UAAU,QAAQ,CAAC;CAEvB,MAAM,kBAAkB,OAAO,aAAa;AAC5C,iBAAgB,UAAU;AAC1B,iBAAgB;AACd,MAAI,gBAAgB,YAAY,KAC9B,cAAa;AAEf,SAAO,oBAAoB;AACzB,eAAY,KAAK;IACjB;IACD,CAAC,gBAAgB,CAAC;AAErB,iBAAgB,kBAAkB,CAAC,iBAAiB,CAAC;CAErD,MAAM,cAAc,cAAc;AAChC,MAAI,oBAAoB,KAAM,QAAO;AACrC,SAAO,MAAM,MAAM,SAAS,KAAK,OAAO,gBAAgB,EAAE,SAAS;IAClE,CAAC,iBAAiB,MAAM,CAAC;CAE5B,MAAM,WAAW,aACd,SAAyB;AACxB,MAAI,KAAK,aAAa,KAAM;AAC5B,MAAI,KAAK,SAAS,KAAK,MAAM,SAAS,GAAG;AACvC,qBAAkB;GAElB,MAAM,SAAS,iBADD,MAAM,WAAW,cAAc,UAAU,OAAO,KAAK,GAC9B,EAAE,MAAM,QAAQ,eAAe;AACpE,mBAAgB,OAAO;AACvB,kBAAe,KAAK;AACpB,eAAY;IACV,MAAM;KACJ,GAAG;KACH,aAAa;KACb,MACE,oBAAC,iBAAD;MACE,WAAU;MACV,MAAM;MACN;KAEJ,IAAI,GAAG,KAAK,GAAG;KACf,OAAO;KACP,OAAO;KACR;IACD;IACD,CAAC;AACF,sBAAmB,KAAK,GAAG;AAC3B,qBAAkB,GAAG;AACrB,eAAY,MAAM;AAClB;;AAEF,OAAK,YAAY;AACjB,WAAS;IAEX;EAAC;EAAW;EAAkB;EAAO;EAAQ,CAC9C;CAED,MAAM,SAAS,kBAAkB;EAC/B,MAAM,qBAAqB;EAC3B,MAAM,QAAQ,MAAM,WAAW,cAAc,UAAU,OAAO,mBAAmB;AACjF,kBAAgB,SAAS,IAAI,iBAAiB,OAAO,MAAM,QAAQ,eAAe,GAAG;GAAE,GAAG;GAAG,GAAG;GAAG,CAAC;AACpG,cAAY,MAAM;AAClB,oBAAkB,GAAG;AACrB,oBAAkB;AAClB,iBAAe,UAAU,CACvB,OAAO,iBAAiB;AACtB,OAAI,gBAAgB,YAAY,KAAM;AACtC,sBAAmB,KAAK;AACxB,eAAY,KAAK;AACjB,kBAAe,mBAAmB;KACjC,SAAS,EACZ,OAAO,iBAAiB;AACtB,OAAI,gBAAgB,YAAY,KAC9B,gBAAe,KAAK;KAErB,WAAW,IAAI,CACnB;IACA;EAAC;EAAiB;EAAkB;EAAM,CAAC;CAE9C,MAAM,gBAAgB,aACnB,UAA+C;EAC9C,MAAM,QAAQ,YAAY;AAC1B,MAAI,UAAU,EAAG;AAEjB,UAAQ,MAAM,KAAd;GACE,KAAK;GACL,KAAK;AACH,UAAM,gBAAgB;AACtB,uBAAmB,UAAW,QAAQ,IAAI,KAAK,QAAQ,KAAK,MAAO;AACnE;GAEF,KAAK;GACL,KAAK;AACH,UAAM,gBAAgB;AACtB,uBAAmB,UAAW,QAAQ,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,MAAO;AACnF;GAEF,KAAK;GACL,KAAK,KAAK;AACR,UAAM,gBAAgB;IACtB,MAAM,OAAO,YAAY;AACzB,QAAI,KAAM,UAAS,KAAK;AACxB;;GAEF,KAAK;AACH,UAAM,gBAAgB;AACtB,QAAI,oBAAoB,KACtB,UAAS;QAET,SAAQ;AAEV;GAEF,KAAK;AACH,UAAM,gBAAgB;AACtB;GAEF,QACE;;IAIN;EAAC;EAAU;EAAa;EAAiB;EAAQ;EAAgB;EAAQ,CAC1E;AAED,KAAI,iBAAiB,QAAQ,OAAO,aAAa,YAC/C,QAAO;CAGT,MAAM,YAAY,oBAAoB;CACtC,MAAM,cAAc,YAAY,MAAM,WAAW,SAAS,KAAK,OAAO,gBAAgB,GAAG;CAEzF,MAAM,QADa,eAAe,IAAK,MAAM,gBAAgB,OAAQ,UACzC,OAAO;EAAE,GAAG;EAAG,GAAG;EAAG,GAAG,iBAAiB,aAAa,MAAM,QAAQ,eAAe;CAC/G,MAAM,aAAa,YAAY,aAAa;CAE5C,MAAM,SAAS,YAAY,iBAAiB,aAAa,kBAAkB;CAC3E,MAAM,KAAK,MAAM,aAAa,GAAG,QAAQ,iBAAiB,OAAO,aAAa,QAAQ,gBAAgB;CACtG,MAAM,KAAK,MAAM,aAAa,GAAG,QAAQ,iBAAiB,OAAO,cAAc,QAAQ,gBAAgB;CAEvG,MAAM,eAAe,YAAyM;EAC5N,MAAM,EAAE,QAAQ,GAAG,WAAW,OAAO,gBAAgB,OAAO,MAAM,iBAAiB,OAAO,SAAS,SAAS,QAAQ,GAAG,MAAM;EAC7H,MAAM,aAAa,QAAQ,KAAK,SAAS,KAAK,MAAM,SAAS,EAAE;EAC/D,MAAM,SACJ,qBAAC,UAAD;GACE,iBAAe,KAAK;GACpB,iBAAe,aAAa,SAAS;GACrC,cAAY,KAAK;GACjB,WAAW,GACT,oGACA,mFACA,wFACA,gFACA,cACC,iBAAiB,aAAa,uCAC/B,iBAAiB,aACjB,KAAK,gBAAgB,QAAQ,mBAC7B,KAAK,aAAa,QAAQ,uCAC1B,kBAAkB,sBACnB;GACD,eAAa;GACb,UAAU,KAAK;GACN;GACT,MAAK;GACL,OAAO;IAAE,MAAM;IAAG;IAAS,KAAK;IAAG,iBAAiB,GAAG,MAAM;IAAK;GAClE,MAAK;aArBP,CAuBG,KAAK,MACL,cACC,oBAAC,QAAD;IACE;IACA,WAAU;IACV,eAAa,GAAG,OAAO;cAEtB,KAAK,OAAO;IACR,EAEF;;AAEX,SACE,qBAAC,UAAD,aACG,KAAK,cACJ,qBAAC,SAAD;GAAS,eAAe;aAAxB,CACE,oBAAC,gBAAD;IAAgB;cAAS;IAAwB,GACjD,oBAAC,gBAAD,YAAiB,KAAK,aAA6B,EAC3C;OAEV,QAEF,oBAAC,QAAD;GACE;GACA,WAAW,GACT,wGACA,cACA,sEACA,aACA,KAAK,gBAAgB,OAAO,oBAAoB,oBACjD;GACD,eAAa,GAAG,OAAO;GACvB,OAAO;IAAE,MAAM;IAAG;IAAS,KAAK,IAAI;IAAc,iBAAiB,GAAG,MAAM;IAAK;aAEhF,KAAK;GACD,EACE,IAvBI,KAAK,GAuBT;;AAIf,QAAO,aACL,oBAAC,OAAD;EACE,WAAU;EACV,eAAa;EACb,gBAAgB,UAAU;AACxB,SAAM,gBAAgB;;EAExB,gBAAgB,UAAU;AACxB,OAAI,MAAM,WAAW,MAAM,cACzB,UAAS;;EAGR;YAEL,qBAAC,OAAD;GACE,cAAY;GACZ,WAAW,GAAG,8HAA8H,UAAU;GACtJ,eAAa,GAAG,eAAe;GAC/B,WAAW;GACX,KAAK;GACL,MAAK;GACL,OAAO;IAAE,MAAM;IAAI,KAAK;IAAI;GAC5B,UAAU;aARZ;IAUG,CAAC,aACA,oBAAC,QAAD;KACE;KACA,WAAU;KACV,eAAa,GAAG,eAAe;KAC/B;IAEH,aAAa,QACZ,YAAY;KACV,UAAU;KACV,MAAM,SAAS;KACf,gBAAgB,CAAC;KACjB,SAAS;KACT,SAAS,YAAY,IAAI;KACzB,QAAQ,GAAG,eAAe;KAC1B,GAAG,SAAS,OAAO;KACnB,GAAG,SAAS,OAAO;KACpB,CAAC;IACH,YAAY,KAAK,MAAM,UAAU;KAChC,MAAM,SAAS,YAAY,cAAc,OAAO,YAAY,QAAQ,WAAW,GAAG,iBAAiB,OAAO,YAAY,QAAQ,WAAW;KACzI,MAAM,UAAU,YAAY,KAAK,OAAO;AACxC,YAAO,YAAY;MACjB,OAAO,KAAK,OAAO,cAAc,IAAI,WAAW,QAAQ,KAAK;MAC7D,eAAe,UAAU;MACzB;MACA,eAAe;AACb,gBAAS,KAAK;;MAEhB,SAAS,UAAW,KAAK,aAAa,OAAO,KAAM,IAAK;MACxD,QAAQ,GAAG,eAAe;MAC1B,GAAG,UAAU,KAAK,IAAI,OAAO,IAAI,aAAa;MAC9C,GAAG,UAAU,KAAK,IAAI,OAAO,IAAI,aAAa;MAC/C,CAAC;MACF;IACE;;EACF,GACN,SAAS,KACV;;AAGH,WAAW,cAAc"}
|
package/dist/index.d.ts
CHANGED
|
@@ -110,6 +110,7 @@ import { Kbd, KbdGroup, KbdGroupProps, KbdProps, KbdSymbol } from "./Kbd.js";
|
|
|
110
110
|
import { Label, LabelProps } from "./Label.js";
|
|
111
111
|
import { MultiSelect, MultiSelectProps } from "./MultiSelect.js";
|
|
112
112
|
import { Popover, PopoverAnchor, PopoverContent, PopoverContentProps, PopoverTrigger } from "./Popover.js";
|
|
113
|
+
import { RadialMenu, RadialMenuItem, RadialMenuProps } from "./RadialMenu.js";
|
|
113
114
|
import { RadioButton, RadioButtonProps } from "./RadioButton.js";
|
|
114
115
|
import { RadioButtonGroup, RadioButtonGroupItem, RadioButtonGroupItemProps, RadioButtonGroupProps } from "./RadioButtonGroup.js";
|
|
115
116
|
import { RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps } from "./RadioGroup.js";
|
|
@@ -132,4 +133,4 @@ import { useControllableState } from "./hooks/useControllableState.js";
|
|
|
132
133
|
import { useUncontrolledState } from "./hooks/useUncontrolledState.js";
|
|
133
134
|
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./primitives/input-group.js";
|
|
134
135
|
import { cn } from "./utils/twUtils.js";
|
|
135
|
-
export { Accordion, type AccordionProps, AdjustmentsIcon, Alert, type AlertProps, AnalyzeIcon, AnnotationsIcon, ApprovedIcon, ArrowDownIcon, ArrowUpIcon, Avatar, type AvatarProps, Badge, type BadgeProps, BoxToolIcon, Button, ButtonGroup, ButtonGroupItem, type ButtonGroupProps, ButtonGroupSeparator, ButtonIcon, type ButtonIconProps, ButtonIconSlideout, type ButtonIconSlideoutProps, type ButtonProps, CalendarIcon, CheckCircleIcon, CheckSquareIcon, Checkbox, type CheckboxProps, CheckmarkIcon, ChevronDownIcon, ChevronUpIcon, ClockIcon, CloseCircleIcon, CloseIcon, Combobox, type ComboboxOption, type ComboboxProps, ControlGroupSelect, type ControlGroupSelectCaptionLayout, type ControlGroupSelectProps, Crosshairs2Icon, CrosshairsIcon, DashboardIcon, DataCard, type DataCardProps, DatabaseIcon, DateTimePicker, type DateTimePickerProps, DeleteIcon, Dialog, Drawer, type DrawerProps, DurationIcon, EditIcon, EmailIcon, EraserIcon, ErrorIcon, ErrorMessage, EyeClosedIcon, EyeClosedIcon2, EyeOpenIcon, FileDownloadIcon, type FormFieldMessageValue, GoToFirstIcon, GoToLastIcon, HarmonicCursorsIcon, HoverCard, HoverCardContent, type HoverCardProps, HoverCardTrigger, IconBase, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputNumeric, type InputNumericProps, InputOTP, type InputOTPBaseProps, type InputOTPProps, type InputProps, InputSearch, type InputSearchOption, type InputSearchProps, Kbd, KbdGroup, type KbdGroupProps, type KbdProps, type KbdSymbol, KeyboardIcon, Label, LabelIcon, type LabelProps, LassoIcon, LineToolIcon, LinkIcon, LiveViewIcon, LoaderIcon, LocationIcon, LogoutIcon, MaximizeIcon, MeasureIcon, MenuDotsIcon, MenuIcon, MessagesIcon, MetadataIcon, MinimizeIcon, MinusIcon, MultiSelect, type MultiSelectProps, OntologyIcon, PanelIconClose, PanelIconOpen, PauseIcon, PlayIcon, PlusIcon, PolygonIcon, Popover, PopoverAnchor, PopoverContent, type PopoverContentProps, PopoverTrigger, PrinterIcon, ProgressCheckIcon, RadioButton, RadioButtonGroup, RadioButtonGroupItem, type RadioButtonGroupItemProps, type RadioButtonGroupProps, type RadioButtonProps, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, ResetIcon, ReviewedIcon, ScissorsIcon, SearchIcon, Select, type SelectExtendedProps, type SelectProps, Separator, type SeparatorProps, SettingsIcon, Skeleton, Slider, type SliderProps, SortAscendingIcon, SortAtoZIcon, SortDescendingIcon, SortZtoAIcon, SparklesIcon, SpectralProvider, type SpectralProviderProps, StackIcon, StarIcon, SvgIdContext, Switch, type SwitchProps, SyncIcon, SyncOffIcon, Tabs, type TabsProps, Textarea, type TextareaProps, Toast, type ToastProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, ToggleGroupSplitMenuItem, type ToggleGroupSplitMenuItemProps, type ToggleProps, Tooltip, TooltipContent, TooltipTrigger, TrashIcon, Tray, type TrayBaseProps, type TrayBodyProps, type TrayContentProps, UndoIcon, UnlinkIcon, UploadIcon, User2Icon, UserIcon, WarningIcon, WarningMessage, ZoomAllIcon, ZoomXIcon, ZoomYIcon, cn, toast, useAccordionAutoScroll, useControllableState, useUncontrolledState };
|
|
136
|
+
export { Accordion, type AccordionProps, AdjustmentsIcon, Alert, type AlertProps, AnalyzeIcon, AnnotationsIcon, ApprovedIcon, ArrowDownIcon, ArrowUpIcon, Avatar, type AvatarProps, Badge, type BadgeProps, BoxToolIcon, Button, ButtonGroup, ButtonGroupItem, type ButtonGroupProps, ButtonGroupSeparator, ButtonIcon, type ButtonIconProps, ButtonIconSlideout, type ButtonIconSlideoutProps, type ButtonProps, CalendarIcon, CheckCircleIcon, CheckSquareIcon, Checkbox, type CheckboxProps, CheckmarkIcon, ChevronDownIcon, ChevronUpIcon, ClockIcon, CloseCircleIcon, CloseIcon, Combobox, type ComboboxOption, type ComboboxProps, ControlGroupSelect, type ControlGroupSelectCaptionLayout, type ControlGroupSelectProps, Crosshairs2Icon, CrosshairsIcon, DashboardIcon, DataCard, type DataCardProps, DatabaseIcon, DateTimePicker, type DateTimePickerProps, DeleteIcon, Dialog, Drawer, type DrawerProps, DurationIcon, EditIcon, EmailIcon, EraserIcon, ErrorIcon, ErrorMessage, EyeClosedIcon, EyeClosedIcon2, EyeOpenIcon, FileDownloadIcon, type FormFieldMessageValue, GoToFirstIcon, GoToLastIcon, HarmonicCursorsIcon, HoverCard, HoverCardContent, type HoverCardProps, HoverCardTrigger, IconBase, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputNumeric, type InputNumericProps, InputOTP, type InputOTPBaseProps, type InputOTPProps, type InputProps, InputSearch, type InputSearchOption, type InputSearchProps, Kbd, KbdGroup, type KbdGroupProps, type KbdProps, type KbdSymbol, KeyboardIcon, Label, LabelIcon, type LabelProps, LassoIcon, LineToolIcon, LinkIcon, LiveViewIcon, LoaderIcon, LocationIcon, LogoutIcon, MaximizeIcon, MeasureIcon, MenuDotsIcon, MenuIcon, MessagesIcon, MetadataIcon, MinimizeIcon, MinusIcon, MultiSelect, type MultiSelectProps, OntologyIcon, PanelIconClose, PanelIconOpen, PauseIcon, PlayIcon, PlusIcon, PolygonIcon, Popover, PopoverAnchor, PopoverContent, type PopoverContentProps, PopoverTrigger, PrinterIcon, ProgressCheckIcon, RadialMenu, type RadialMenuItem, type RadialMenuProps, RadioButton, RadioButtonGroup, RadioButtonGroupItem, type RadioButtonGroupItemProps, type RadioButtonGroupProps, type RadioButtonProps, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, ResetIcon, ReviewedIcon, ScissorsIcon, SearchIcon, Select, type SelectExtendedProps, type SelectProps, Separator, type SeparatorProps, SettingsIcon, Skeleton, Slider, type SliderProps, SortAscendingIcon, SortAtoZIcon, SortDescendingIcon, SortZtoAIcon, SparklesIcon, SpectralProvider, type SpectralProviderProps, StackIcon, StarIcon, SvgIdContext, Switch, type SwitchProps, SyncIcon, SyncOffIcon, Tabs, type TabsProps, Textarea, type TextareaProps, Toast, type ToastProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, ToggleGroupSplitMenuItem, type ToggleGroupSplitMenuItemProps, type ToggleProps, Tooltip, TooltipContent, TooltipTrigger, TrashIcon, Tray, type TrayBaseProps, type TrayBodyProps, type TrayContentProps, UndoIcon, UnlinkIcon, UploadIcon, User2Icon, UserIcon, WarningIcon, WarningMessage, ZoomAllIcon, ZoomXIcon, ZoomYIcon, cn, toast, useAccordionAutoScroll, useControllableState, useUncontrolledState };
|
package/dist/index.js
CHANGED
|
@@ -116,6 +116,8 @@ import { InputOTP } from "./InputOTP.js";
|
|
|
116
116
|
import { InputSearch } from "./InputSearch.js";
|
|
117
117
|
import { Kbd, KbdGroup } from "./Kbd.js";
|
|
118
118
|
import { MultiSelect } from "./MultiSelect.js";
|
|
119
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from "./Tooltip.js";
|
|
120
|
+
import { RadialMenu } from "./RadialMenu.js";
|
|
119
121
|
import { RadioButtonGroup, RadioButtonGroupItem } from "./RadioButtonGroup.js";
|
|
120
122
|
import { RadioButton } from "./RadioButton.js";
|
|
121
123
|
import { RadioGroup, RadioGroupItem } from "./RadioGroup.js";
|
|
@@ -130,7 +132,6 @@ import { Toggle } from "./Toggle.js";
|
|
|
130
132
|
import { ToggleGroupItem } from "./ToggleGroup/ToggleGroupItem.js";
|
|
131
133
|
import { ToggleGroupSplitMenuItem } from "./ToggleGroup/ToggleGroupSplitMenuItem.js";
|
|
132
134
|
import { ToggleGroup } from "./ToggleGroup.js";
|
|
133
|
-
import { Tooltip, TooltipContent, TooltipTrigger } from "./Tooltip.js";
|
|
134
135
|
import { Tray } from "./Tray.js";
|
|
135
136
|
|
|
136
|
-
export { Accordion, AdjustmentsIcon, Alert, AnalyzeIcon, AnnotationsIcon, ApprovedIcon, ArrowDownIcon, ArrowUpIcon, Avatar, Badge, BoxToolIcon, Button, ButtonGroup, ButtonGroupItem, ButtonGroupSeparator, ButtonIcon, ButtonIconSlideout, CalendarIcon, CheckCircleIcon, CheckSquareIcon, Checkbox, CheckmarkIcon, ChevronDownIcon, ChevronUpIcon, ClockIcon, CloseCircleIcon, CloseIcon, Combobox, ControlGroupSelect, Crosshairs2Icon, CrosshairsIcon, DashboardIcon, DataCard, DatabaseIcon, DateTimePicker, DeleteIcon, Dialog, Drawer, DurationIcon, EditIcon, EmailIcon, EraserIcon, ErrorIcon, ErrorMessage, EyeClosedIcon, EyeClosedIcon2, EyeOpenIcon, FileDownloadIcon, GoToFirstIcon, GoToLastIcon, HarmonicCursorsIcon, HoverCard, HoverCardContent, HoverCardTrigger, IconBase, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputNumeric, InputOTP, InputSearch, Kbd, KbdGroup, KeyboardIcon, Label, LabelIcon, LassoIcon, LineToolIcon, LinkIcon, LiveViewIcon, LoaderIcon, LocationIcon, LogoutIcon, MaximizeIcon, MeasureIcon, MenuDotsIcon, MenuIcon, MessagesIcon, MetadataIcon, MinimizeIcon, MinusIcon, MultiSelect, OntologyIcon, PanelIconClose, PanelIconOpen, PauseIcon, PlayIcon, PlusIcon, PolygonIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PrinterIcon, ProgressCheckIcon, RadioButton, RadioButtonGroup, RadioButtonGroupItem, RadioGroup, RadioGroupItem, ResetIcon, ReviewedIcon, ScissorsIcon, SearchIcon, Select, Separator, SettingsIcon, Skeleton, Slider, SortAscendingIcon, SortAtoZIcon, SortDescendingIcon, SortZtoAIcon, SparklesIcon, SpectralProvider, StackIcon, StarIcon, SvgIdContext, Switch, SyncIcon, SyncOffIcon, Tabs, Textarea, Toast, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupSplitMenuItem, Tooltip, TooltipContent, TooltipTrigger, TrashIcon, Tray, UndoIcon, UnlinkIcon, UploadIcon, User2Icon, UserIcon, WarningIcon, WarningMessage, ZoomAllIcon, ZoomXIcon, ZoomYIcon, cn, toast, useAccordionAutoScroll, useControllableState, useUncontrolledState };
|
|
137
|
+
export { Accordion, AdjustmentsIcon, Alert, AnalyzeIcon, AnnotationsIcon, ApprovedIcon, ArrowDownIcon, ArrowUpIcon, Avatar, Badge, BoxToolIcon, Button, ButtonGroup, ButtonGroupItem, ButtonGroupSeparator, ButtonIcon, ButtonIconSlideout, CalendarIcon, CheckCircleIcon, CheckSquareIcon, Checkbox, CheckmarkIcon, ChevronDownIcon, ChevronUpIcon, ClockIcon, CloseCircleIcon, CloseIcon, Combobox, ControlGroupSelect, Crosshairs2Icon, CrosshairsIcon, DashboardIcon, DataCard, DatabaseIcon, DateTimePicker, DeleteIcon, Dialog, Drawer, DurationIcon, EditIcon, EmailIcon, EraserIcon, ErrorIcon, ErrorMessage, EyeClosedIcon, EyeClosedIcon2, EyeOpenIcon, FileDownloadIcon, GoToFirstIcon, GoToLastIcon, HarmonicCursorsIcon, HoverCard, HoverCardContent, HoverCardTrigger, IconBase, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputNumeric, InputOTP, InputSearch, Kbd, KbdGroup, KeyboardIcon, Label, LabelIcon, LassoIcon, LineToolIcon, LinkIcon, LiveViewIcon, LoaderIcon, LocationIcon, LogoutIcon, MaximizeIcon, MeasureIcon, MenuDotsIcon, MenuIcon, MessagesIcon, MetadataIcon, MinimizeIcon, MinusIcon, MultiSelect, OntologyIcon, PanelIconClose, PanelIconOpen, PauseIcon, PlayIcon, PlusIcon, PolygonIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PrinterIcon, ProgressCheckIcon, RadialMenu, RadioButton, RadioButtonGroup, RadioButtonGroupItem, RadioGroup, RadioGroupItem, ResetIcon, ReviewedIcon, ScissorsIcon, SearchIcon, Select, Separator, SettingsIcon, Skeleton, Slider, SortAscendingIcon, SortAtoZIcon, SortDescendingIcon, SortZtoAIcon, SparklesIcon, SpectralProvider, StackIcon, StarIcon, SvgIdContext, Switch, SyncIcon, SyncOffIcon, Tabs, Textarea, Toast, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupSplitMenuItem, Tooltip, TooltipContent, TooltipTrigger, TrashIcon, Tray, UndoIcon, UnlinkIcon, UploadIcon, User2Icon, UserIcon, WarningIcon, WarningMessage, ZoomAllIcon, ZoomXIcon, ZoomYIcon, cn, toast, useAccordionAutoScroll, useControllableState, useUncontrolledState };
|
package/dist/styles/spectral.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
@layer spectral {
|
|
2
2
|
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
3
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}:root,:host{--font-sans:"Work Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji";--font-mono:"Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xs:18rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:var(--horizon-color-neutral-950);--color-text-primary:var(--horizon-color-neutral-50);--color-text-inverted:var(--horizon-color-neutral-950);--color-text-secondary:var(--horizon-color-neutral-300);--color-text-disabled:var(--horizon-color-neutral-600);--color-border-secondary:var(--horizon-color-neutral-700);--color-accent:var(--horizon-color-accent);--color-overlay:oklch(from var(--horizon-color-neutral-950) l c h / .4);--color-level-zero:var(--horizon-color-level-zero);--color-level-one:var(--horizon-color-level-one);--color-level-two:var(--horizon-color-level-two);--color-level-three:var(--horizon-color-level-three);--color-level-four:var(--horizon-color-level-four);--color-success-400:var(--horizon-color-success-400);--color-warning-400:var(--horizon-color-warning-400);--color-danger-200:var(--horizon-color-danger-200);--color-danger-400:var(--horizon-color-danger-400);--color-danger-500:var(--horizon-color-danger-500);--color-alert-bg:var(--horizon-color-level-two);--color-alert-border:var(--horizon-color-level-three);--color-alert-text:var(--horizon-color-neutral-50);--color-alert-success-bg:var(--horizon-color-success-50);--color-alert-success-border:var(--horizon-color-success-500);--color-alert-success-text:var(--horizon-color-success-500);--color-alert-warning-bg:var(--horizon-color-warning-50);--color-alert-warning-border:var(--horizon-color-warning-500);--color-alert-warning-text:var(--horizon-color-warning-500);--color-alert-danger-bg:var(--horizon-color-danger-50);--color-alert-danger-border:var(--horizon-color-danger-500);--color-alert-danger-text:var(--horizon-color-danger-500);--color-alert-info-bg:var(--horizon-color-primary-50);--color-alert-info-border:var(--horizon-color-primary-700);--color-alert-info-text:var(--horizon-color-primary-700);--color-badge-primary-bg:var(--horizon-color-level-five);--color-badge-primary-bg--hover:var(--horizon-color-level-four);--color-badge-secondary-bg:var(--horizon-color-accent);--color-badge-secondary-text:var(--horizon-color-neutral-950);--color-badge-outline-border:var(--horizon-color-level-five);--color-badge-destructive-bg:var(--horizon-color-danger-400);--color-badge-destructive-border:var(--horizon-color-danger-400);--color-button-primary-bg:var(--horizon-color-accent);--color-button-primary-bg--hover:var(--horizon-color-level-two);--color-button-primary-bg--disabled:var(--horizon-color-neutral-500);--color-button-primary-border:var(--horizon-color-accent);--color-button-primary-border--hover:var(--horizon-color-level-two);--color-button-primary-border--disabled:var(--horizon-color-neutral-500);--color-button-primary-text:var(--horizon-color-neutral-900);--color-button-primary-text--hover:var(--horizon-color-accent);--color-button-primary-text--disabled:var(--horizon-color-neutral-200);--color-button-secondary-bg:var(--horizon-color-level-two);--color-button-secondary-bg--hover:var(--horizon-color-accent);--color-button-secondary-bg--disabled:var(--horizon-color-neutral-500);--color-button-secondary-text:var(--horizon-color-neutral-50);--color-button-secondary-text--hover:var(--horizon-color-level-two);--color-button-secondary-text--disabled:var(--horizon-color-neutral-200);--color-button-secondary-border:var(--horizon-color-neutral-900);--color-button-secondary-border--disabled:var(--horizon-color-neutral-500);--color-button-outline-bg:var(--horizon-color-transparent);--color-button-outline-bg--hover:var(--horizon-color-level-two);--color-button-outline-text:var(--horizon-color-neutral-50);--color-button-outline-text--hover:var(--horizon-color-accent);--color-button-outline-text--disabled:var(--horizon-color-neutral-400);--color-button-outline-border:var(--horizon-color-accent);--color-button-outline-border--disabled:var(--horizon-color-neutral-400);--color-button-ghost-bg:var(--horizon-color-transparent);--color-button-ghost-bg--hover:var(--horizon-color-level-two);--color-button-ghost-text:var(--horizon-color-neutral-50);--color-button-ghost-text--hover:var(--horizon-color-accent);--color-button-ghost-text--disabled:var(--horizon-color-neutral-400);--color-button-danger:var(--horizon-color-danger-400);--color-button-danger--hover:oklch(from var(--horizon-color-danger-500) l c h / .8);--color-checkbox-border:var(--horizon-color-neutral-100);--color-checkbox-border--focus:var(--horizon-color-accent);--color-checkbox-border--checked:var(--horizon-color-accent);--color-checkbox-indicator--checked:var(--horizon-color-accent);--color-data-card-description:var(--horizon-color-neutral-300);--color-dialog-bg:var(--horizon-color-level-one);--color-drawer-bg:var(--horizon-color-level-one);--color-input-border:oklch(from var(--horizon-color-white) l c h / .1);--color-input-border--hover:var(--horizon-color-neutral-300);--color-input-border--focus:var(--horizon-color-accent);--color-input-border--disabled:var(--horizon-color-neutral-500);--color-input-bg:var(--horizon-color-level-zero);--color-input-bg--hover:var(--horizon-color-level-four);--color-input-bg--disabled:var(--horizon-color-neutral-700);--color-input-bg--selected:var(--horizon-color-level-four);--color-input-text:var(--horizon-color-neutral-50);--color-input-text-prefix:var(--horizon-color-neutral-200);--color-input-text--disabled:var(--horizon-color-neutral-200);--color-input-text-placeholder:var(--horizon-color-neutral-500);--color-input-primitive-border:var(--horizon-color-neutral-800);--color-input-otp-filled-separator:var(--horizon-color-level-five);--color-input-otp-border:var(--horizon-color-neutral-300);--color-input-otp-border--focus:var(--horizon-color-accent);--color-input-otp-caret:var(--horizon-color-neutral-200);--color-kbd-bg:var(--horizon-color-level-two);--color-kbd-text:var(--color-text-secondary);--color-popover-bg:var(--horizon-color-level-one);--color-popover-text:var(--horizon-color-neutral-50);--color-radio-bg:var(--horizon-color-neutral-900);--color-radio-bg--selected:var(--horizon-color-accent);--color-radio-border--hover:var(--horizon-color-accent);--color-radio-border--selected:var(--horizon-color-accent);--color-slider-track:var(--horizon-color-neutral-700);--color-slider-range:var(--horizon-color-neutral-50);--color-slider-thumb-border:var(--horizon-color-neutral-50);--color-slider-thumb-bg:var(--horizon-color-neutral-50);--color-slider-thumb-ring:var(--horizon-color-neutral-50);--color-switch-bg:var(--horizon-color-neutral-700);--color-switch-bg--checked:var(--horizon-color-white);--color-switch-thumb:var(--horizon-color-neutral-950);--color-switch-thumb--checked:var(--horizon-color-white);--color-tabs-group-bg:var(--horizon-color-level-one);--color-tabs-indicator:var(--horizon-color-accent);--color-tabs-enclosed-indicator:var(--horizon-color-level-two);--color-tabs-border:var(--horizon-color-level-four);--color-toast-bg:var(--horizon-color-level-one);--color-toast-border:var(--horizon-color-level-four);--color-toast-text:var(--horizon-color-neutral-50);--color-toast-success-bg:var(--horizon-color-success-400)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-toast-success-bg:color-mix(in oklab, var(--horizon-color-success-400) 10%, var(--horizon-color-neutral-950))}}:root,:host{--color-toast-success-border:var(--horizon-color-success-400);--color-toast-success-text:var(--horizon-color-success-400);--color-toast-success-icon:var(--horizon-color-success-400);--color-toast-warning-bg:var(--horizon-color-warning-400)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-toast-warning-bg:color-mix(in oklab, var(--horizon-color-warning-400) 10%, var(--horizon-color-neutral-950))}}:root,:host{--color-toast-warning-border:var(--horizon-color-warning-400);--color-toast-warning-text:var(--horizon-color-warning-400);--color-toast-warning-icon:var(--horizon-color-warning-400);--color-toast-danger-bg:var(--horizon-color-danger-400)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-toast-danger-bg:color-mix(in oklab, var(--horizon-color-danger-400) 10%, var(--horizon-color-neutral-950))}}:root,:host{--color-toast-danger-border:var(--horizon-color-danger-400);--color-toast-danger-text:var(--horizon-color-danger-400);--color-toast-danger-icon:var(--horizon-color-danger-400);--color-toast-info-bg:var(--horizon-color-primary-400)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-toast-info-bg:color-mix(in oklab, var(--horizon-color-primary-400) 10%, var(--horizon-color-neutral-950))}}:root,:host{--color-toast-info-border:var(--horizon-color-primary-400);--color-toast-info-text:var(--horizon-color-primary-400);--color-toast-info-icon:var(--horizon-color-primary-400);--color-toggle-bg:var(--horizon-color-level-two);--color-toggle-bg--active-default:var(--horizon-color-primary-700);--color-toggle-bg--active:var(--color-toggle-bg--active-default);--color-toggle-bg--hover:var(--horizon-color-level-four);--color-toggle-border:var(--horizon-color-transparent);--color-toggle-border--hover:var(--horizon-color-level-four);--color-toggle-border--active-default:var(--horizon-color-primary-600);--color-toggle-border--active:var(--color-toggle-border--active-default);--color-toggle-text:var(--horizon-color-neutral-50);--color-toggle-text--hover:var(--horizon-color-neutral-200);--color-toggle-text--active-default:var(--color-text-primary);--color-toggle-text--active:var(--color-toggle-text--active-default);--color-toggle-outline-border:var(--horizon-color-neutral-700);--color-toggle-outline-divider:var(--horizon-color-neutral-600);--color-toggle-outline-border--hover:var(--horizon-color-neutral-400);--color-tooltip-bg:var(--horizon-color-level-one);--color-tooltip-arrow:var(--horizon-color-level-one);--color-tooltip-outline-border:var(--horizon-color-level-four);--color-tooltip-outline-arrow:var(--horizon-color-level-four);--color-black-40:oklch(0% 0 0/.4);--animate-caret-blink:caret-blink 1.2s ease-out infinite;--animate-accordion-down:accordion-down .2s ease-out;--animate-accordion-up:accordion-up .2s ease-out}:root{--horizon-color-black:oklch(0% 0 0);--horizon-color-white:oklch(100% 0 0);--horizon-color-transparent:oklch(0% 0 0/0);--horizon-color-accent:oklch(92.53% .1976 123.38);--horizon-color-neutral-50:oklch(98.5% 0 0);--horizon-color-neutral-100:oklch(92.19% 0 0);--horizon-color-neutral-200:oklch(86.99% 0 0);--horizon-color-neutral-300:oklch(79.03% 0 0);--horizon-color-neutral-400:oklch(71.55% 0 0);--horizon-color-neutral-500:oklch(55.55% 0 0);--horizon-color-neutral-600:oklch(43.86% 0 0);--horizon-color-neutral-700:oklch(37.15% 0 0);--horizon-color-neutral-800:oklch(32.11% 0 0);--horizon-color-neutral-900:oklch(26.86% 0 0);--horizon-color-neutral-950:oklch(21.78% 0 0);--horizon-color-primary-50:oklch(97.37% .01 238);--horizon-color-primary-100:oklch(93.88% .03 242.35);--horizon-color-primary-200:oklch(89.3% .06 242.83);--horizon-color-primary-300:oklch(83.05% .09 240.33);--horizon-color-primary-400:oklch(74.57% .14 245.84);--horizon-color-primary-500:oklch(66.23% .18 254.28);--horizon-color-primary-600:oklch(58.57% .21 259.12);--horizon-color-primary-700:oklch(52.25% .21 261.44);--horizon-color-primary-800:oklch(42.44% .17 262.29);--horizon-color-primary-900:oklch(39.88% .14 261.51);--horizon-color-primary-950:oklch(29.27% .09 263.49);--horizon-color-level-zero:oklch(23.78% 0 0);--horizon-color-level-one:oklch(26.94% 0 0);--horizon-color-level-two:oklch(29.93% 0 0);--horizon-color-level-three:oklch(32.89% 0 0);--horizon-color-level-four:oklch(35.71% 0 0);--horizon-color-level-five:oklch(38.62% 0 0);--horizon-color-success-50:oklch(96.2% .044 156.743);--horizon-color-success-100:oklch(92.5% .084 155.995);--horizon-color-success-200:oklch(87.1% .15 154.449);--horizon-color-success-300:oklch(79.2% .209 151.711);--horizon-color-success-400:oklch(72.3% .219 149.579);--horizon-color-success-500:oklch(62.7% .194 149.214);--horizon-color-warning-50:oklch(95.4% .038 75.164);--horizon-color-warning-100:oklch(90.1% .076 70.697);--horizon-color-warning-200:oklch(83.7% .128 66.29);--horizon-color-warning-300:oklch(75% .183 55.934);--horizon-color-warning-400:oklch(70.5% .213 47.604);--horizon-color-warning-500:oklch(64.6% .222 41.116);--horizon-color-danger-50:oklch(93.6% .032 17.717);--horizon-color-danger-100:oklch(88.5% .062 18.334);--horizon-color-danger-200:oklch(80.8% .114 19.571);--horizon-color-danger-300:oklch(70.4% .191 22.216);--horizon-color-danger-400:oklch(57.7% .245 27.325);--horizon-color-danger-500:oklch(50.5% .213 27.518)}:root[data-theme=light]{--horizon-color-level-one:oklch(98.51% 0 0);--color-background:var(--horizon-color-neutral-50)}@keyframes animate-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes animate-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes fade-in-0{0%{opacity:0}to{opacity:1}}@keyframes fade-out-0{0%{opacity:1}to{opacity:0}}@keyframes fade-in-tabs-indicator{0%{opacity:0;transform:translateY(-2rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down-from-top{0%{opacity:0;transform:translateY(-100%)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slide-up-to-top{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-100%)scale(.95)}}@keyframes spin-around{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes zoom-in-95{0%{opacity:0;transform:translate(-50%)translateY(-50%)scale(.95)}to{opacity:1;transform:translate(-50%)translateY(-50%)scale(1)}}@keyframes zoom-out-95{0%{opacity:1;transform:translate(-50%)translateY(-50%)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-50%)scale(.95)}}@keyframes accordion-down{0%{opacity:0;height:0}to{height:var(--radix-accordion-content-height);opacity:1}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height);opacity:1}to{opacity:0;height:0}}@layer utilities{a.underline-on-hover{color:var(--color-accent);cursor:pointer;width:max-content;text-decoration:none;position:relative}a.underline-on-hover:before{background-color:var(--color-accent);content:"";border-radius:.1rem;width:100%;height:.1rem;transition:transform .3s ease-in-out;position:absolute;bottom:-.2rem;left:0;transform:scaleX(0)}a.underline-on-hover:hover:before{transform:scaleX(1)}.spectral-root{isolation:isolate}[data-vaul-drawer] *,[data-vaul-drawer] :before,[data-vaul-drawer] :after{box-sizing:border-box!important}[vaul-drawer]{transition:transform .2s cubic-bezier(.165,.84,.44,1)!important}[vaul-overlay]{transition:opacity .2s cubic-bezier(.165,.84,.44,1)!important}.shadow-neumorphic-large{box-shadow:12px 12px 24px var(--color-shadow-neumorphic-large), -12px -12px 24px var(--color-white)}.shadow-neumorphic-small{box-shadow:4px 4px 8px var(--color-shadow-neumorphic), -4px -4px 8px var(--color-white)}.dialog-no-animations,.dialog-no-animations[data-state=open],.dialog-no-animations[data-state=closed]{animation:none!important;transform:translate(-50%)translateY(-50%)!important}svg:focus-visible,svg:focus{outline:none}.card-effects{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#ffffff03 0%,#fff0 100%),#26262680;border:.5px solid #ffffff0d;border-radius:1rem;box-shadow:inset 0 -1px #0000001a,0 20px 40px #00000040,0 15px 30px #00000026,0 5px 10px #0000000d}.tooltip-effects{box-shadow:3px 3px 6px 3px #0000004d}@supports not ((-webkit-backdrop-filter:blur(0)) or (backdrop-filter:blur(0))){.card-effects{background-color:#22222599}.card-effects-dark{background-color:#27272ab8}}.rdp{margin:0}.rdp-root{padding-right:24px}.rdp-root .rdp-nav{z-index:9999;position:absolute}.rdp-root .rdp-nav .nav-prev,.rdp-root .rdp-nav .nav-next{justify-content:center;align-items:center;display:flex;position:absolute}:is(.rdp-root .rdp-nav .nav-prev,.rdp-root .rdp-nav .nav-next):hover{color:var(--color-text-secondary);cursor:pointer;background-color:#0000}.rdp-root .rdp-month_caption{justify-content:center;align-items:center;padding-block-end:8px;display:flex;position:relative}.rdp-root .rdp-month_caption .month-title{font-size:18px;font-weight:600}.rdp-root .rdp-day_button{border-color:#0000;border-radius:100%;width:40px;height:40px}.rdp-root .day.rdp-today{color:var(--color-accent);font-weight:600}.rdp-root .day.rdp-selected .rdp-day_button{background-color:var(--color-accent);color:var(--color-text-inverted);border-radius:50%;font-weight:600}.rdp-root .day.rdp-outside .rdp-day_button{opacity:.25}.rdp-root .day:not(.rdp-disabled):hover{background-color:var(--color-neutral-200);color:var(--color-text-inverted);border-radius:50%;cursor:pointer!important}.rdp-root .day.rdp-disabled .rdp-day_button{color:var(--color-text-disabled)}.rdp-root .day.rdp-hidden .rdp-day_button{visibility:hidden}.rdp-root .rdp-weekdays .rdp-weekday{color:var(--color-neutral-400);font-weight:500}:is(.rdp-root .hours,.rdp-root .minutes) input{width:max-content;max-width:22px}:is(.rdp-root .hours,.rdp-root .minutes) input.hours-input{text-align:right}:is(.rdp-root .hours,.rdp-root .minutes) input.minutes-input{text-align:left}:is(.rdp-root .hours,.rdp-root .minutes,.rdp-root .am-pm) input{border:0;font-size:16px}:is(.rdp-root .hours,.rdp-root .minutes,.rdp-root .am-pm) input:hover,:is(.rdp-root .hours,.rdp-root .minutes,.rdp-root .am-pm) input:focus,:is(.rdp-root .hours,.rdp-root .minutes,.rdp-root .am-pm) input:focus-visible{border:0;outline:0}.rdp-root .hours{flex-direction:row;align-items:center;display:flex}.rdp-root .hours input{text-align:right}.rdp-root .hours span{margin-inline:1px 2px}.rdp-root .am-pm{width:auto;margin-inline-start:8px}.rdp-root .am-pm button{background-color:#0000;border:0;padding-inline:0;font-size:14px}.rdp-root .am-pm button:hover{cursor:pointer}.rdp-root .am-pm button:focus,.rdp-root .am-pm button:focus-visible{outline:0}.rdp-root .am-pm button svg:not(.chevron-icon){display:none}.rdp-root .am-pm span:focus,.rdp-root .am-pm span:focus-visible{outline:0}.rdp-root .am-pm-dropdown{z-index:999;border-bottom-right-radius:4px;border-bottom-left-radius:4px;width:58px;margin-top:-5px;font-size:14px;position:relative}.rdp-root .am-pm-dropdown:hover{cursor:pointer}.rdp-root .am-pm-dropdown .am-pm-option{text-align:center;z-index:999;justify-content:center;align-items:center;height:24px;padding-inline:8px;display:flex}.rdp-root .am-pm-dropdown .am-pm-option:focus-visible,.rdp-root .am-pm-dropdown .am-pm-option:focus{outline:0}}.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-10{right:calc(var(--spacing) * 10)}.right-\[-14px\]{right:-14px}.right-px{right:1px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-px{bottom:1px}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.left-\[calc\(100\%-0\.75rem\)\]{left:calc(100% - .75rem)}.left-\[calc\(100\%-1\.5rem\)\]{left:calc(100% - 1.5rem)}.left-\[calc\(100\%-1\.25rem\)\]{left:calc(100% - 1.25rem)}.left-\[calc\(100\%-1rem\)\]{left:calc(100% - 1rem)}.isolate{isolation:isolate}.z-0{z-index:0}.z-1{z-index:1}.z-10{z-index:10}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1\]{z-index:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.m-0\!{margin:calc(var(--spacing) * 0)!important}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-6{margin-inline:calc(var(--spacing) * -6)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.-me-0\.5{margin-inline-end:calc(var(--spacing) * -.5)}.me-0{margin-inline-end:calc(var(--spacing) * 0)}.-mbe-0\.5{margin-block-end:calc(var(--spacing) * -.5)}.mbe-0{margin-block-end:calc(var(--spacing) * 0)}.\!mt-4{margin-top:calc(var(--spacing) * 4)!important}.mt-0\!{margin-top:calc(var(--spacing) * 0)!important}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-0\.5\!{margin-top:calc(var(--spacing) * .5)!important}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-4\!{margin-top:calc(var(--spacing) * 4)!important}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-6\!{margin-top:calc(var(--spacing) * 6)!important}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-\[1\.6rem\]{margin-top:1.6rem}.mt-\[21px\]{margin-top:21px}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[-4px\]{margin-right:-4px}.mb-0\!{margin-bottom:calc(var(--spacing) * 0)!important}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-\[1\.2rem\]{margin-bottom:1.2rem}.-ml-3{margin-left:calc(var(--spacing) * -3)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.-ml-5{margin-left:calc(var(--spacing) * -5)}.-ml-6{margin-left:calc(var(--spacing) * -6)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-8{margin-left:calc(var(--spacing) * 8)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-6\.5{width:calc(var(--spacing) * 6.5);height:calc(var(--spacing) * 6.5)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-full{width:100%;height:100%}.h-\(--radix-select-trigger-height\){height:var(--radix-select-trigger-height)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-12\!{height:calc(var(--spacing) * 12)!important}.h-64{height:calc(var(--spacing) * 64)}.h-80{height:calc(var(--spacing) * 80)}.h-\[72px\]{height:72px}.h-\[inherit\]{height:inherit}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-popover-content-available-height\){max-height:var(--radix-popover-content-available-height)}.max-h-22{max-height:calc(var(--spacing) * 22)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[17\.5rem\]{max-height:17.5rem}.max-h-\[90vh\]{max-height:90vh}.max-h-\[min\(var\(--available-height\)\,18rem\)\]{max-height:min(var(--available-height), 18rem)}.max-h-\[min\(var\(--radix-dropdown-menu-content-available-height\)\,300px\)\]{max-height:min(var(--radix-dropdown-menu-content-available-height), 300px)}.max-h-\[min\(var\(--radix-select-content-available-height\)\,300px\)\]{max-height:min(var(--radix-select-content-available-height), 300px)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-12\!{min-height:calc(var(--spacing) * 12)!important}.w-\(--popover-width\){width:var(--popover-width)}.w-\(--spectral-select-content-width\){width:var(--spectral-select-content-width)}.w-1\/3{width:33.3333%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2xs{width:var(--container-2xs)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-44{width:calc(var(--spacing) * 44)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\[60\%\]{width:60%}.w-\[240px\]{width:240px}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[330px\]{width:330px}.w-\[340px\]{width:340px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[486px\]{width:486px}.w-\[520px\]{width:520px}.w-\[560px\]{width:560px}.w-auto{width:auto}.w-auto\!{width:auto!important}.w-fit{width:fit-content}.w-full{width:100%}.w-lg{width:var(--container-lg)}.w-max{width:max-content}.w-px{width:1px}.max-w-44{max-width:calc(var(--spacing) * 44)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-\[360px\]{max-width:360px}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-\[520px\]{max-width:520px}.max-w-\[600px\]{max-width:600px}.max-w-\[800px\]{max-width:800px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-\(--spectral-select-content-width\){min-width:var(--spectral-select-content-width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-20{min-width:calc(var(--spacing) * 20)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-\[300px\]{min-width:300px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-\[30\%\]{flex-basis:30%}.basis-\[70\%\]{flex-basis:70%}.border-collapse{border-collapse:collapse}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:--radix-hover-card-content-transform-origin}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:--radix-popover-content-transform-origin}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[calc\(50\%\+1px\)\]{--tw-translate-y:calc(calc(50% + 1px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[calc\(50\%-1\.5px\)\]{--tw-translate-y:calc(calc(50% - 1.5px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.touch-none{touch-action:none}.resize{resize:both}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.list-inside{list-style-position:inside}.list-inside\!{list-style-position:inside!important}.list-disc{list-style-type:disc}.\[appearance\:textfield\]{appearance:textfield}.grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.grid-cols-\[auto_0fr\]{grid-template-columns:auto 0fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[max-content_auto\]{grid-template-columns:max-content auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[0\.4rem\]{gap:.4rem}.gap-\[15px\]{gap:15px}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[8px\]{border-radius:8px}.rounded-\[16px\]{border-radius:16px}.rounded-\[var\(--radius\,0\.375rem\)\]{border-radius:var(--radius,.375rem)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-none\!{border-radius:0!important}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-s-md{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.rounded-s-none{border-start-start-radius:0;border-end-start-radius:0}.rounded-ss-md{border-start-start-radius:var(--radius-md)}.rounded-ss-none{border-start-start-radius:0}.rounded-e-md{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.rounded-e-none{border-start-end-radius:0;border-end-end-radius:0}.rounded-se-md{border-start-end-radius:var(--radius-md)}.rounded-se-none{border-start-end-radius:0}.rounded-ee-md{border-end-end-radius:var(--radius-md)}.rounded-ee-none{border-end-end-radius:0}.rounded-es-md{border-end-start-radius:var(--radius-md)}.rounded-es-none{border-end-start-radius:0}.rounded-r-none\!{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-r-xl{border-top-right-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-2\!{border-style:var(--tw-border-style)!important;border-width:2px!important}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-none{--tw-border-style:none;border-style:none}.border-none\!{--tw-border-style:none!important;border-style:none!important}.border-\[\#F5F5F5\]{border-color:#f5f5f5}.border-\[\#F7F7F7\]{border-color:#f7f7f7}.border-alert-border{border-color:var(--color-alert-border)}.border-alert-danger-border{border-color:var(--color-alert-danger-border)}.border-alert-info-border{border-color:var(--color-alert-info-border)}.border-alert-success-border{border-color:var(--color-alert-success-border)}.border-alert-warning-border{border-color:var(--color-alert-warning-border)}.border-badge-outline-border{border-color:var(--color-badge-outline-border)}.border-border-secondary{border-color:var(--color-border-secondary)}.border-button-danger{border-color:var(--color-button-danger)}.border-button-outline-border{border-color:var(--color-button-outline-border)}.border-button-outline-border--disabled{border-color:var(--color-button-outline-border--disabled)}.border-button-primary-border{border-color:var(--color-button-primary-border)}.border-button-primary-border--disabled{border-color:var(--color-button-primary-border--disabled)}.border-button-secondary-border{border-color:var(--color-button-secondary-border)}.border-button-secondary-border--disabled{border-color:var(--color-button-secondary-border--disabled)}.border-checkbox-border{border-color:var(--color-checkbox-border)}.border-danger-400{border-color:var(--color-danger-400)}.border-gray-200{border-color:var(--color-gray-200)}.border-input-border{border-color:var(--color-input-border)}.border-input-otp-border{border-color:var(--color-input-otp-border)}.border-input-otp-border--focus{border-color:var(--color-input-otp-border--focus)}.border-level-four{border-color:var(--color-level-four)}.border-level-one{border-color:var(--color-level-one)}.border-level-three{border-color:var(--color-level-three)}.border-slider-thumb-border{border-color:var(--color-slider-thumb-border)}.border-tabs-border{border-color:var(--color-tabs-border)}.border-toast-border{border-color:var(--color-toast-border)}.border-toast-danger-border{border-color:var(--color-toast-danger-border)}.border-toast-info-border{border-color:var(--color-toast-info-border)}.border-toast-success-border{border-color:var(--color-toast-success-border)}.border-toast-warning-border{border-color:var(--color-toast-warning-border)}.border-toggle-border{border-color:var(--color-toggle-border)}.border-toggle-outline-border{border-color:var(--color-toggle-outline-border)}.border-tooltip-outline-arrow{border-color:var(--color-tooltip-outline-arrow)}.border-tooltip-outline-border{border-color:var(--color-tooltip-outline-border)}.border-transparent{border-color:#0000}.border-warning-400{border-color:var(--color-warning-400)}.bg-\[\#4DAFFF\]{background-color:#4dafff}.bg-\[\#F0F2F4\]{background-color:#f0f2f4}.bg-\[\#F7F8F9\]{background-color:#f7f8f9}.bg-\[\#FF3F40\]{background-color:#ff3f40}.bg-\[\#FFF0F0\]{background-color:#fff0f0}.bg-accent\/20{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/20{background-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.bg-alert-bg{background-color:var(--color-alert-bg)}.bg-alert-danger-bg{background-color:var(--color-alert-danger-bg)}.bg-alert-info-bg{background-color:var(--color-alert-info-bg)}.bg-alert-success-bg{background-color:var(--color-alert-success-bg)}.bg-alert-warning-bg{background-color:var(--color-alert-warning-bg)}.bg-background{background-color:var(--color-background)}.bg-badge-destructive-bg{background-color:var(--color-badge-destructive-bg)}.bg-badge-primary-bg{background-color:var(--color-badge-primary-bg)}.bg-badge-secondary-bg{background-color:var(--color-badge-secondary-bg)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border-secondary{background-color:var(--color-border-secondary)}.bg-button-danger{background-color:var(--color-button-danger)}.bg-button-ghost-bg{background-color:var(--color-button-ghost-bg)}.bg-button-outline-bg{background-color:var(--color-button-outline-bg)}.bg-button-primary-bg{background-color:var(--color-button-primary-bg)}.bg-button-primary-bg--disabled{background-color:var(--color-button-primary-bg--disabled)}.bg-button-secondary-bg{background-color:var(--color-button-secondary-bg)}.bg-button-secondary-bg--disabled{background-color:var(--color-button-secondary-bg--disabled)}.bg-dialog-bg,.bg-dialog-bg\/85{background-color:var(--color-dialog-bg)}@supports (color:color-mix(in lab, red, red)){.bg-dialog-bg\/85{background-color:color-mix(in oklab, var(--color-dialog-bg) 85%, transparent)}}.bg-drawer-bg{background-color:var(--color-drawer-bg)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-input-bg{background-color:var(--color-input-bg)}.bg-input-bg--hover{background-color:var(--color-input-bg--hover)}.bg-input-bg--selected{background-color:var(--color-input-bg--selected)}.bg-input-border{background-color:var(--color-input-border)}.bg-input-otp-caret{background-color:var(--color-input-otp-caret)}.bg-input-primitive-border{background-color:var(--color-input-primitive-border)}.bg-kbd-bg{background-color:var(--color-kbd-bg)}.bg-level-one{background-color:var(--color-level-one)}.bg-level-three{background-color:var(--color-level-three)}.bg-level-two{background-color:var(--color-level-two)}.bg-level-zero{background-color:var(--color-level-zero)}.bg-overlay{background-color:var(--color-overlay)}.bg-popover-bg{background-color:var(--color-popover-bg)}.bg-radio-bg{background-color:var(--color-radio-bg)}.bg-radio-bg--selected{background-color:var(--color-radio-bg--selected)}.bg-red-500{background-color:var(--color-red-500)}.bg-slider-range{background-color:var(--color-slider-range)}.bg-slider-thumb-bg{background-color:var(--color-slider-thumb-bg)}.bg-slider-track{background-color:var(--color-slider-track)}.bg-switch-thumb--checked{background-color:var(--color-switch-thumb--checked)}.bg-tabs-enclosed-indicator{background-color:var(--color-tabs-enclosed-indicator)}.bg-tabs-group-bg{background-color:var(--color-tabs-group-bg)}.bg-toast-bg{background-color:var(--color-toast-bg)}.bg-toast-danger-bg{background-color:var(--color-toast-danger-bg)}.bg-toast-info-bg{background-color:var(--color-toast-info-bg)}.bg-toast-success-bg{background-color:var(--color-toast-success-bg)}.bg-toast-warning-bg{background-color:var(--color-toast-warning-bg)}.bg-toggle-bg{background-color:var(--color-toggle-bg)}.bg-tooltip-arrow{background-color:var(--color-tooltip-arrow)}.bg-tooltip-bg{background-color:var(--color-tooltip-bg)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-tooltip-arrow{fill:var(--color-tooltip-arrow)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\!{padding:calc(var(--spacing) * 0)!important}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.ps-11{padding-inline-start:calc(var(--spacing) * 11)}.pe-10{padding-inline-end:calc(var(--spacing) * 10)}.pe-12{padding-inline-end:calc(var(--spacing) * 12)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\!{padding-top:calc(var(--spacing) * 3)!important}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-start{text-align:start}.\[text-indent\:var\(--prefix-width\)\]{text-indent:var(--prefix-width)}.font-mono\!{font-family:var(--font-mono)!important}.font-sans\!{font-family:var(--font-sans)!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-base\!{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\!{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\!{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[19px\]{font-size:19px}.text-\[22px\]{font-size:22px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[24px\]{--tw-leading:24px;line-height:24px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-\[\#222222\]{color:#222}.text-\[\#999999\]{color:#999}.text-\[\#FF3F40\]{color:#ff3f40}.text-\[\#FFFFFF\]{color:#fff}.text-accent{color:var(--color-accent)}.text-alert-danger-text{color:var(--color-alert-danger-text)}.text-alert-info-text{color:var(--color-alert-info-text)}.text-alert-success-text{color:var(--color-alert-success-text)}.text-alert-text{color:var(--color-alert-text)}.text-alert-warning-text{color:var(--color-alert-warning-text)}.text-badge-secondary-text{color:var(--color-badge-secondary-text)}.text-button-danger{color:var(--color-button-danger)}.text-button-ghost-text{color:var(--color-button-ghost-text)}.text-button-ghost-text--disabled{color:var(--color-button-ghost-text--disabled)}.text-button-outline-text{color:var(--color-button-outline-text)}.text-button-outline-text--disabled{color:var(--color-button-outline-text--disabled)}.text-button-primary-text{color:var(--color-button-primary-text)}.text-button-primary-text--disabled{color:var(--color-button-primary-text--disabled)}.text-button-secondary-text{color:var(--color-button-secondary-text)}.text-button-secondary-text--disabled{color:var(--color-button-secondary-text--disabled)}.text-checkbox-indicator--checked{color:var(--color-checkbox-indicator--checked)}.text-current{color:currentColor}.text-danger-400{color:var(--color-danger-400)}.text-danger-400\!{color:var(--color-danger-400)!important}.text-data-card-description{color:var(--color-data-card-description)}.text-gray-500{color:var(--color-gray-500)}.text-inherit{color:inherit}.text-input-text{color:var(--color-input-text)}.text-input-text\!{color:var(--color-input-text)!important}.text-input-text--disabled{color:var(--color-input-text--disabled)}.text-input-text-placeholder{color:var(--color-input-text-placeholder)}.text-input-text-prefix{color:var(--color-input-text-prefix)}.text-kbd-text{color:var(--color-kbd-text)}.text-neutral-200\!{color:var(--color-neutral-200)!important}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-400\!{color:var(--color-neutral-400)!important}.text-popover-text{color:var(--color-popover-text)}.text-success-400{color:var(--color-success-400)}.text-text-primary{color:var(--color-text-primary)}.text-text-primary\!{color:var(--color-text-primary)!important}.text-text-secondary{color:var(--color-text-secondary)}.text-text-secondary\!{color:var(--color-text-secondary)!important}.text-toast-danger-icon{color:var(--color-toast-danger-icon)}.text-toast-danger-text{color:var(--color-toast-danger-text)}.text-toast-info-icon{color:var(--color-toast-info-icon)}.text-toast-info-text{color:var(--color-toast-info-text)}.text-toast-success-icon{color:var(--color-toast-success-icon)}.text-toast-success-text{color:var(--color-toast-success-text)}.text-toast-text{color:var(--color-toast-text)}.text-toast-warning-icon{color:var(--color-toast-warning-icon)}.text-toast-warning-text{color:var(--color-toast-warning-text)}.text-toggle-text{color:var(--color-toggle-text)}.text-warning-400{color:var(--color-warning-400)}.text-warning-400\!{color:var(--color-warning-400)!important}.uppercase{text-transform:uppercase}.font-stretch-condensed{font-stretch:75%}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline\!{text-decoration-line:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[-20px_0_20px_var\(--color-black-40\)\]{--tw-shadow:-20px 0 20px var(--tw-shadow-color,var(--color-black-40));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_-20px_20px_var\(--color-black-40\)\]{--tw-shadow:0 -20px 20px var(--tw-shadow-color,var(--color-black-40));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_20px_20px_var\(--color-black-40\)\]{--tw-shadow:0 20px 20px var(--tw-shadow-color,var(--color-black-40));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[4px_0_10px_rgb\(0_0_0_\/_0\.18\)\]{--tw-shadow:4px 0 10px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[20px_0_20px_var\(--color-black-40\)\]{--tw-shadow:20px 0 20px var(--tw-shadow-color,var(--color-black-40));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0\!{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring-black{--tw-ring-color:var(--color-black)}.ring-slider-thumb-ring\/50{--tw-ring-color:var(--color-slider-thumb-ring)}@supports (color:color-mix(in lab, red, red)){.ring-slider-thumb-ring\/50{--tw-ring-color:color-mix(in oklab, var(--color-slider-thumb-ring) 50%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-0{outline-style:var(--tw-outline-style);outline-width:0}.outline-transparent{outline-color:#0000}.blur{--tw-blur:blur(8px);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,)}.blur-\[2px\]{--tw-blur:blur(2px);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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.filter{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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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,);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,transform\]{transition-property:background-color,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[filter\,opacity\,transform\]{transition-property:filter,opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-columns\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\,clip-path\]{transition-property:transform,opacity,clip-path;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\[clip-path\:inset\(0_0_0_0\)\]{clip-path:inset(0)}.\[clip-path\:inset\(0_100\%_0_0\)\]{clip-path:inset(0 100% 0 0)}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}:is(.\*\:box-border>*),:is(.\*\*\:box-border *){box-sizing:border-box}.not-last\:border-b:not(:last-child){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.group-active\:\[background-color\:var\(--color-toggle-border--active\)\]:is(:where(.group):active *),.group-aria-pressed\:\[background-color\:var\(--color-toggle-border--active\)\]:is(:where(.group)[aria-pressed=true] *),.group-data-\[state\=on\]\:\[background-color\:var\(--color-toggle-border--active\)\]:is(:where(.group)[data-state=on] *){background-color:var(--color-toggle-border--active)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:text-neutral-400:is(:where(.peer):disabled~*){color:var(--color-neutral-400)}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[state\=checked\]\:invisible:is(:where(.peer)[data-state=checked]~*){visibility:hidden}.peer-data-\[state\=checked\]\:-translate-x-full:is(:where(.peer)[data-state=checked]~*){--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-data-\[state\=checked\]\:text-background:is(:where(.peer)[data-state=checked]~*){color:var(--color-background)}.peer-data-\[state\=on\]\/spectral-split-menu\:border-toggle-border--active\!:is(:where(.peer\/spectral-split-menu)[data-state=on]~*){border-color:var(--color-toggle-border--active)!important}.peer-data-\[state\=on\]\/spectral-split-menu\:bg-toggle-bg--active:is(:where(.peer\/spectral-split-menu)[data-state=on]~*){background-color:var(--color-toggle-bg--active)}.peer-data-\[state\=on\]\/spectral-split-menu\:text-toggle-text--active:is(:where(.peer\/spectral-split-menu)[data-state=on]~*){color:var(--color-toggle-text--active)}.peer-data-\[state\=unchecked\]\:invisible:is(:where(.peer)[data-state=unchecked]~*){visibility:hidden}.peer-data-\[state\=unchecked\]\:translate-x-6:is(:where(.peer)[data-state=unchecked]~*){--tw-translate-x:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}.placeholder\:text-input-text\!::placeholder{color:var(--color-input-text)!important}.placeholder\:text-input-text-placeholder::placeholder{color:var(--color-input-text-placeholder)}.placeholder\:text-input-text-placeholder\!::placeholder{color:var(--color-input-text-placeholder)!important}.placeholder\:opacity-100::placeholder{opacity:1}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-2:before{content:var(--tw-content);inset-block:calc(var(--spacing) * 2)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-border-secondary\/6:before{content:var(--tw-content);background-color:var(--color-border-secondary)}@supports (color:color-mix(in lab, red, red)){.before\:bg-border-secondary\/6:before{background-color:color-mix(in oklab, var(--color-border-secondary) 6%, transparent)}}.before\:content-none:before{content:var(--tw-content);--tw-content:none;content:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing) * 0)}.after\:top-0:after{content:var(--tw-content);top:calc(var(--spacing) * 0)}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing) * 0)}.after\:left-0:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.after\:m-auto:after{content:var(--tw-content);margin:auto}.after\:h-2\.5:after{content:var(--tw-content);height:calc(var(--spacing) * 2.5)}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing) * 1)}.after\:w-2\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 2.5)}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:rounded-t-\[0\.3rem\]:after{content:var(--tw-content);border-top-left-radius:.3rem;border-top-right-radius:.3rem}.after\:rounded-l-\[0\.3rem\]:after{content:var(--tw-content);border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.after\:border-r-\[0\.3rem\]:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:.3rem}.after\:border-b-\[0\.3rem\]:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:.3rem}.after\:border-tabs-indicator:after{content:var(--tw-content);border-color:var(--color-tabs-indicator)}.after\:bg-radio-bg--selected:after{content:var(--tw-content);background-color:var(--color-radio-bg--selected)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-none:after{content:var(--tw-content);--tw-content:none;content:none}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.first\:rounded-s-md:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.first\:rounded-ss-md:first-child{border-start-start-radius:var(--radius-md)}.first\:rounded-se-md:first-child{border-start-end-radius:var(--radius-md)}.last\:me-0:last-child{margin-inline-end:calc(var(--spacing) * 0)}.last\:mbe-0:last-child{margin-block-end:calc(var(--spacing) * 0)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:rounded-e-md:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.last\:rounded-ee-md:last-child{border-end-end-radius:var(--radius-md)}.last\:rounded-es-md:last-child{border-end-start-radius:var(--radius-md)}.focus-within\:z-10:focus-within{z-index:10}.focus-within\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-button-danger--hover:hover{border-color:var(--color-button-danger--hover)}.hover\:border-button-primary-border--hover:hover{border-color:var(--color-button-primary-border--hover)}.hover\:border-danger-500:hover{border-color:var(--color-danger-500)}.hover\:border-input-border--hover:hover{border-color:var(--color-input-border--hover)}.hover\:border-radio-border--hover:hover{border-color:var(--color-radio-border--hover)}.hover\:border-toggle-border--hover:hover{border-color:var(--color-toggle-border--hover)}.hover\:border-toggle-outline-border--hover:hover{border-color:var(--color-toggle-outline-border--hover)}.hover\:border-warning-400:hover{border-color:var(--color-warning-400)}.hover\:bg-button-danger--hover:hover{background-color:var(--color-button-danger--hover)}.hover\:bg-button-ghost-bg--hover:hover{background-color:var(--color-button-ghost-bg--hover)}.hover\:bg-button-outline-bg--hover:hover{background-color:var(--color-button-outline-bg--hover)}.hover\:bg-button-primary-bg--hover:hover{background-color:var(--color-button-primary-bg--hover)}.hover\:bg-button-secondary-bg--hover:hover{background-color:var(--color-button-secondary-bg--hover)}.hover\:bg-input-bg--hover:hover{background-color:var(--color-input-bg--hover)}.hover\:bg-level-four:hover{background-color:var(--color-level-four)}.hover\:bg-level-three:hover{background-color:var(--color-level-three)}.hover\:bg-level-two:hover{background-color:var(--color-level-two)}.hover\:bg-toggle-bg--hover:hover{background-color:var(--color-toggle-bg--hover)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-button-danger\/80:hover{color:var(--color-button-danger)}@supports (color:color-mix(in lab, red, red)){.hover\:text-button-danger\/80:hover{color:color-mix(in oklab, var(--color-button-danger) 80%, transparent)}}.hover\:text-button-ghost-text--hover:hover{color:var(--color-button-ghost-text--hover)}.hover\:text-button-outline-text--hover:hover{color:var(--color-button-outline-text--hover)}.hover\:text-button-primary-text--hover:hover{color:var(--color-button-primary-text--hover)}.hover\:text-button-secondary-text--hover:hover{color:var(--color-button-secondary-text--hover)}.hover\:text-neutral-100:hover{color:var(--color-neutral-100)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\:text-toggle-text--hover:hover{color:var(--color-toggle-text--hover)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-100\!:hover{opacity:1!important}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.peer-data-\[state\=on\]\/spectral-split-menu\:hover\:border-toggle-border--active\!:is(:where(.peer\/spectral-split-menu)[data-state=on]~*):hover{border-color:var(--color-toggle-border--active)!important}.peer-data-\[state\=on\]\/spectral-split-menu\:hover\:bg-toggle-bg--active\!:is(:where(.peer\/spectral-split-menu)[data-state=on]~*):hover{background-color:var(--color-toggle-bg--active)!important}.peer-data-\[state\=on\]\/spectral-split-menu\:hover\:text-toggle-text--active\!:is(:where(.peer\/spectral-split-menu)[data-state=on]~*):hover{color:var(--color-toggle-text--active)!important}}.focus\:z-10:focus{z-index:10}.focus\:scale-95:focus{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.focus\:border-danger-400:focus{border-color:var(--color-danger-400)}.focus\:border-input-border--focus:focus{border-color:var(--color-input-border--focus)}.focus\:border-warning-400:focus{border-color:var(--color-warning-400)}.focus\:text-text-primary:focus{color:var(--color-text-primary)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-accent:focus{--tw-ring-color:var(--color-accent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-accent:focus-visible{border-color:var(--color-accent)}.focus-visible\:border-input-border--focus:focus-visible{border-color:var(--color-input-border--focus)}.focus-visible\:bg-input-bg--hover:focus-visible{background-color:var(--color-input-bg--hover)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-accent:focus-visible{--tw-ring-color:var(--color-accent)}.focus-visible\:ring-black:focus-visible{--tw-ring-color:var(--color-black)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-accent:focus-visible{outline-color:var(--color-accent)}.focus-visible\:outline-badge-destructive-border:focus-visible{outline-color:var(--color-badge-destructive-border)}.focus-visible\:outline-button-danger:focus-visible{outline-color:var(--color-button-danger)}.focus-visible\:outline-button-outline-border:focus-visible{outline-color:var(--color-button-outline-border)}.focus-visible\:outline-button-primary-border:focus-visible{outline-color:var(--color-button-primary-border)}.focus-visible\:outline-button-secondary-border:focus-visible{outline-color:var(--color-button-secondary-border)}.focus-visible\:outline-checkbox-border--focus:focus-visible{outline-color:var(--color-checkbox-border--focus)}.focus-visible\:outline-danger-400:focus-visible{outline-color:var(--color-danger-400)}.focus-visible\:outline-input-border--focus:focus-visible{outline-color:var(--color-input-border--focus)}.focus-visible\:outline-level-three:focus-visible{outline-color:var(--color-level-three)}.focus-visible\:outline-text-secondary:focus-visible{outline-color:var(--color-text-secondary)}.focus-visible\:outline-warning-400:focus-visible{outline-color:var(--color-warning-400)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-100:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.97\]:active{scale:.97}.active\:border-toggle-border--active:active{border-color:var(--color-toggle-border--active)}.active\:bg-accent:active{background-color:var(--color-accent)}.active\:bg-toggle-bg--active:active{background-color:var(--color-toggle-bg--active)}.active\:text-text-inverted:active{color:var(--color-text-inverted)}.active\:text-toggle-text--active:active{color:var(--color-toggle-text--active)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-button-outline-border--disabled:disabled{border-color:var(--color-button-outline-border--disabled)}.disabled\:border-button-primary-border--disabled:disabled{border-color:var(--color-button-primary-border--disabled)}.disabled\:border-button-secondary-border--disabled:disabled{border-color:var(--color-button-secondary-border--disabled)}.disabled\:border-input-border--disabled:disabled{border-color:var(--color-input-border--disabled)}.disabled\:bg-button-primary-bg--disabled:disabled{background-color:var(--color-button-primary-bg--disabled)}.disabled\:bg-button-secondary-bg--disabled:disabled{background-color:var(--color-button-secondary-bg--disabled)}.disabled\:bg-input-bg--disabled:disabled{background-color:var(--color-input-bg--disabled)}.disabled\:text-button-ghost-text--disabled:disabled{color:var(--color-button-ghost-text--disabled)}.disabled\:text-button-outline-text--disabled:disabled{color:var(--color-button-outline-text--disabled)}.disabled\:text-button-primary-text--disabled:disabled{color:var(--color-button-primary-text--disabled)}.disabled\:text-button-secondary-text--disabled:disabled{color:var(--color-button-secondary-text--disabled)}.disabled\:text-input-text--disabled:disabled{color:var(--color-input-text--disabled)}.disabled\:text-text-secondary:disabled{color:var(--color-text-secondary)}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:bg-level-one:disabled:hover{background-color:var(--color-level-one)}.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-text-primary:disabled:hover{color:var(--color-text-primary)}}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}:where([data-orientation=horizontal]) .in-data-\[orientation\=horizontal\]\:p-4{padding:calc(var(--spacing) * 4)}:where([data-slot=tooltip-content]) .in-data-\[slot\=tooltip-content\]\:bg-level-three{background-color:var(--color-level-three)}.has-\[\[data-slot\=dialog-footer\]\]\:pb-0:has([data-slot=dialog-footer]){padding-bottom:calc(var(--spacing) * 0)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:outline-0:has([data-slot=input-group-control]:focus-visible){outline-style:var(--tw-outline-style);outline-width:0}.has-\[disabled\]\:opacity-50:has(:is(disabled)){opacity:.5}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-danger-200[aria-invalid=true]{border-color:var(--color-danger-200)}.aria-invalid\:outline-danger-200\/20[aria-invalid=true]{outline-color:var(--color-danger-200)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:outline-danger-200\/20[aria-invalid=true]{outline-color:color-mix(in oklab, var(--color-danger-200) 20%, transparent)}}.aria-pressed\:border-toggle-border--active[aria-pressed=true]{border-color:var(--color-toggle-border--active)}.aria-pressed\:bg-toggle-bg--active[aria-pressed=true]{background-color:var(--color-toggle-bg--active)}.aria-pressed\:text-toggle-text--active[aria-pressed=true]{color:var(--color-toggle-text--active)}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-highlighted\:bg-input-bg--hover[data-highlighted]{background-color:var(--color-input-bg--hover)}.data-placeholder\:text-input-text-placeholder\![data-placeholder]{color:var(--color-input-text-placeholder)!important}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[expanded\=true\]\:w-full[data-expanded=true],.data-\[layout\=\'expanded\'\]\:w-full[data-layout=expanded]{width:100%}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:flex[data-orientation=vertical]{display:flex}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=lg\]\:min-w-7[data-size=lg]{min-width:calc(var(--spacing) * 7)}.data-\[size\=lg\]\:px-1\.5[data-size=lg]{padding-inline:calc(var(--spacing) * 1.5)}.data-\[size\=sm\]\:min-w-5[data-size=sm]{min-width:calc(var(--spacing) * 5)}.data-\[size\=sm\]\:px-0\.5[data-size=sm]{padding-inline:calc(var(--spacing) * .5)}.data-\[state\=active\]\:text-accent[data-state=active]{color:var(--color-accent)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-\[26px\][data-state=checked]{--tw-translate-x:26px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-checkbox-border--checked[data-state=checked]{border-color:var(--color-checkbox-border--checked)}.data-\[state\=checked\]\:border-radio-border--selected[data-state=checked]{border-color:var(--color-radio-border--selected)}.data-\[state\=checked\]\:bg-radio-bg[data-state=checked]{background-color:var(--color-radio-bg)}.data-\[state\=checked\]\:bg-switch-bg--checked[data-state=checked]{background-color:var(--color-switch-bg--checked)}.data-\[state\=checked\]\:bg-switch-thumb[data-state=checked]{background-color:var(--color-switch-thumb)}.data-\[state\=on\]\:border-toggle-border--active[data-state=on]{border-color:var(--color-toggle-border--active)}.data-\[state\=on\]\:bg-toggle-bg--active[data-state=on]{background-color:var(--color-toggle-bg--active)}.data-\[state\=on\]\:text-toggle-text--active[data-state=on]{color:var(--color-toggle-text--active)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-text-primary[data-state=open]{color:var(--color-text-primary)}.data-\[state\=unchecked\]\:bg-switch-bg[data-state=unchecked],.data-\[state\=unchecked\]\:bg-switch-bg\/50[data-state=unchecked]{background-color:var(--color-switch-bg)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=unchecked\]\:bg-switch-bg\/50[data-state=unchecked]{background-color:color-mix(in oklab, var(--color-switch-bg) 50%, transparent)}}.data-\[variant\=\'divided\'\]\:gap-0[data-variant=divided]{gap:calc(var(--spacing) * 0)}.data-\[variant\=\'divided\'\]\:\[--color-toggle-border\:var\(--color-toggle-outline-border\)\][data-variant=divided]{--color-toggle-border:var(--color-toggle-outline-border)}.data-\[variant\=\'outline\'\]\:gap-0[data-variant=outline]{gap:calc(var(--spacing) * 0)}.data-\[variant\=\'outline\'\]\:\[--color-toggle-border\:var\(--color-toggle-outline-border\)\][data-variant=outline]{--color-toggle-border:var(--color-toggle-outline-border)}.data-\[variant\=\'separated\'\]\:gap-1\.5[data-variant=separated]{gap:calc(var(--spacing) * 1.5)}.data-\[size\=\'lg\'\]\:data-\[variant\=\'separated\'\]\:gap-2[data-size=lg][data-variant=separated]{gap:calc(var(--spacing) * 2)}.data-\[size\=\'sm\'\]\:data-\[variant\=\'separated\'\]\:gap-1[data-size=sm][data-variant=separated]{gap:calc(var(--spacing) * 1)}.data-\[variant\=divided\]\:gap-0[data-variant=divided]{gap:calc(var(--spacing) * 0)}.data-\[variant\=divided\]\:border-toggle-border[data-variant=divided]{border-color:var(--color-toggle-border)}.data-\[variant\=divided\]\:\[--color-toggle-border\:var\(--color-toggle-outline-border\)\][data-variant=divided]{--color-toggle-border:var(--color-toggle-outline-border)}@media (hover:hover){.data-\[variant\=divided\]\:hover\:border-toggle-border[data-variant=divided]:hover{border-color:var(--color-toggle-border)}}.data-\[variant\=divided\]\:data-\[state\=on\]\:border-toggle-border--active[data-variant=divided][data-state=on]{border-color:var(--color-toggle-border--active)}@media (hover:hover){.data-\[variant\=divided\]\:data-\[state\=on\]\:hover\:border-toggle-border--active[data-variant=divided][data-state=on]:hover{border-color:var(--color-toggle-border--active)}}.data-\[variant\=outline\]\:gap-0[data-variant=outline]{gap:calc(var(--spacing) * 0)}.data-\[variant\=outline\]\:border-toggle-border[data-variant=outline]{border-color:var(--color-toggle-border)}.data-\[variant\=outline\]\:\[--color-toggle-border\:var\(--color-toggle-outline-border\)\][data-variant=outline]{--color-toggle-border:var(--color-toggle-outline-border)}@media (hover:hover){.data-\[variant\=outline\]\:hover\:border-toggle-border[data-variant=outline]:hover{border-color:var(--color-toggle-border)}}.data-\[variant\=outline\]\:data-\[state\=on\]\:border-toggle-border--active[data-variant=outline][data-state=on]{border-color:var(--color-toggle-border--active)}@media (hover:hover){.data-\[variant\=outline\]\:data-\[state\=on\]\:hover\:border-toggle-border--active[data-variant=outline][data-state=on]:hover{border-color:var(--color-toggle-border--active)}}.data-\[variant\=separated\]\:rounded-md[data-variant=separated]{border-radius:var(--radius-md)}.data-\[variant\=separated\]\:border-toggle-border[data-variant=separated]{border-color:var(--color-toggle-border)}@media (hover:hover){.data-\[variant\=separated\]\:hover\:border-toggle-border--hover[data-variant=separated]:hover{border-color:var(--color-toggle-border--hover)}}.data-\[variant\=separated\]\:data-\[state\=on\]\:border-toggle-border--active[data-variant=separated][data-state=on]{border-color:var(--color-toggle-border--active)}.data-\[variant\=separated\]\:data-\[state\=on\]\:bg-toggle-bg--active[data-variant=separated][data-state=on]{background-color:var(--color-toggle-bg--active)}@media (hover:hover){.data-\[variant\=separated\]\:data-\[state\=on\]\:hover\:border-toggle-border--active[data-variant=separated][data-state=on]:hover{border-color:var(--color-toggle-border--active)}.data-\[variant\=separated\]\:data-\[state\=on\]\:hover\:bg-toggle-bg--active[data-variant=separated][data-state=on]:hover{background-color:var(--color-toggle-bg--active)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-caret-blink{animation:var(--animate-caret-blink)}.motion-safe\:animate-pulse{animation:var(--animate-pulse)}.motion-safe\:animate-spin{animation:var(--animate-spin)}.motion-safe\:duration-200{--tw-duration:.2s;transition-duration:.2s}.motion-safe\:animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.motion-safe\:duration-200{animation-duration:.2s}.motion-safe\:fade-in,.motion-safe\:fade-in-0{--tw-enter-opacity:0}.motion-safe\:slide-in-from-top-2{--tw-enter-translate-y:-.5rem}.motion-safe\:slide-in-from-top-full{--tw-enter-translate-y:-100%}.motion-safe\:zoom-in-95{--tw-enter-scale:.95}.motion-safe\:data-closed\:animate-out[data-closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.motion-safe\:data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.motion-safe\:data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.motion-safe\:data-open\:animate-in[data-open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.motion-safe\:data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.motion-safe\:data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.motion-safe\:data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.motion-safe\:data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.motion-safe\:data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.motion-safe\:data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.motion-safe\:data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:var(--animate-accordion-up)}.motion-safe\:data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.motion-safe\:data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.motion-safe\:data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.motion-safe\:data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:var(--animate-accordion-down)}.motion-safe\:data-\[state\=open\]\:duration-200[data-state=open]{--tw-duration:.2s;transition-duration:.2s}.motion-safe\:data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.motion-safe\:data-\[state\=open\]\:duration-200[data-state=open]{animation-duration:.2s}.motion-safe\:data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.motion-safe\:data-\[state\=open\]\:slide-in-from-bottom-20[data-state=open]{--tw-enter-translate-y:5rem}.motion-safe\:data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.motion-safe\:data-\[state\=open\]\:zoom-in-100\![data-state=open]{--tw-enter-scale:1!important}}@media (prefers-reduced-motion:reduce){.motion-reduce\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:duration-0{--tw-duration:0s;transition-duration:0s;animation-duration:0s}}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}@media not all and (min-width:48rem){.sm\:max-md\:max-w-full{max-width:100%}}}@media (min-width:48rem){.md\:font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.md\:font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}}.peer-data-\[state\=checked\]\:rtl\:translate-x-full:is(:where(.peer)[data-state=checked]~*):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-data-\[state\=unchecked\]\:rtl\:-translate-x-6:is(:where(.peer)[data-state=unchecked]~*):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing) * -6);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:rtl\:-translate-x-4[data-state=checked]:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing) * -4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:rtl\:translate-x-\[-26px\][data-state=checked]:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-26px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&_\*\]\:min-w-0 *{min-width:calc(var(--spacing) * 0)}.data-\[variant\=\'divided\'\]\:\[\&_button\]\:border-y-0[data-variant=divided] button,.data-\[variant\=divided\]\:\[\&_button\]\:border-y-0[data-variant=divided] button{border-block-style:var(--tw-border-style);border-block-width:0}.\[\&_button\:first-of-type\]\:rounded-l-md button:first-of-type{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.data-\[variant\=\'divided\'\]\:\[\&_button\:first-of-type\]\:border-l-0[data-variant=divided] button:first-of-type,.data-\[variant\=divided\]\:\[\&_button\:first-of-type\]\:border-l-0[data-variant=divided] button:first-of-type{border-left-style:var(--tw-border-style);border-left-width:0}.\[\&_button\:last-of-type\]\:rounded-r-md button:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.data-\[variant\=\'divided\'\]\:\[\&_button\:last-of-type\]\:border-r-0[data-variant=divided] button:last-of-type,.data-\[variant\=divided\]\:\[\&_button\:last-of-type\]\:border-r-0[data-variant=divided] button:last-of-type{border-right-style:var(--tw-border-style);border-right-width:0}.data-\[variant\=\'divided\'\]\:\[\&_button\:not\(\:first-of-type\)\]\:border-l-0[data-variant=divided] button:not(:first-of-type),.data-\[variant\=\'outline\'\]\:\[\&_button\:not\(\:first-of-type\)\]\:border-l-0[data-variant=outline] button:not(:first-of-type){border-left-style:var(--tw-border-style);border-left-width:0}.data-\[variant\=\'divided\'\]\:\[\&_button\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-outline-divider\)\][data-variant=divided] button:not(:last-of-type),.data-\[variant\=\'outline\'\]\:\[\&_button\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-outline-divider\)\][data-variant=outline] button:not(:last-of-type),.data-\[variant\=divided\]\:\[\&_button\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-outline-divider\)\][data-variant=divided] button:not(:last-of-type),.data-\[variant\=outline\]\:\[\&_button\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-outline-divider\)\][data-variant=outline] button:not(:last-of-type){border-right-color:var(--color-toggle-outline-divider)}.data-\[variant\=\'divided\'\]\:\[\&_button\[data-state\=\'on\'\]\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-border--active\)\][data-variant=divided] button[data-state=on]:not(:last-of-type),.data-\[variant\=\'outline\'\]\:\[\&_button\[data-state\=\'on\'\]\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-border--active\)\][data-variant=outline] button[data-state=on]:not(:last-of-type){border-right-color:var(--color-toggle-border--active)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_p\]\:text-alert-danger-text p{color:var(--color-alert-danger-text)}.\[\&_p\]\:text-alert-info-text p{color:var(--color-alert-info-text)}.\[\&_p\]\:text-alert-success-text p{color:var(--color-alert-success-text)}.\[\&_p\]\:text-alert-text p{color:var(--color-alert-text)}.\[\&_p\]\:text-alert-warning-text p{color:var(--color-alert-warning-text)}.\[\&_span\]\:rounded-\[4px\] span{border-radius:4px}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\:not\(\[width\]\)\:not\(\[height\]\)\]\:size-3 svg:not([class*=size-]):not([width]):not([height]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\:not\(\[width\]\)\:not\(\[height\]\)\]\:size-4 svg:not([class*=size-]):not([width]):not([height]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\:not\(\[width\]\)\:not\(\[height\]\)\]\:size-5 svg:not([class*=size-]):not([width]):not([height]){width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\:not\(\:first-child\)\]\:border-l-0:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\]\:min-w-0>*{min-width:calc(var(--spacing) * 0)}.\[\&\>\*\]\:focus-visible\:relative>:focus-visible{position:relative}.\[\&\>\*\]\:focus-visible\:z-10>:focus-visible{z-index:10}.\[\&\>\*\:last-child\]\:-ms-0\.5>:last-child{margin-inline-start:calc(var(--spacing) * -.5)}.\[\&\>\*\:last-child\]\:-mt-0\.5>:last-child{margin-top:calc(var(--spacing) * -.5)}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\]\:border-y-0[data-variant=divided]>[data-slot=button-group-item]{border-block-style:var(--tw-border-style);border-block-width:0}.data-\[orientation\=\'vertical\'\]\:data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\]\:border-x-0[data-orientation=vertical][data-variant=divided]>[data-slot=button-group-item]{border-inline-style:var(--tw-border-style);border-inline-width:0}.data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\:first-of-type\]\:border-l-0[data-variant=divided]>[data-slot=button-group-item]:first-of-type{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[orientation\=\'vertical\'\]\:data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\:first-of-type\]\:border-t-0[data-orientation=vertical][data-variant=divided]>[data-slot=button-group-item]:first-of-type{border-top-style:var(--tw-border-style);border-top-width:0}.data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\:last-of-type\]\:border-r-0[data-variant=divided]>[data-slot=button-group-item]:last-of-type{border-right-style:var(--tw-border-style);border-right-width:0}.data-\[orientation\=\'vertical\'\]\:data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\:last-of-type\]\:border-b-0[data-orientation=vertical][data-variant=divided]>[data-slot=button-group-item]:last-of-type{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.\[\&\>input\]\:flex-1>input{flex:1}.\[\&\>span\]\:block>span{display:block}.\[\&\>span\]\:min-w-0>span{min-width:calc(var(--spacing) * 0)}.\[\&\>span\]\:overflow-hidden>span{overflow:hidden}.\[\&\>span\]\:text-ellipsis>span{text-overflow:ellipsis}.\[\&\>span\]\:whitespace-nowrap>span{white-space:nowrap}.\[\&\>span\[data-placeholder\]\]\:text-input-text-placeholder\!>span[data-placeholder]{color:var(--color-input-text-placeholder)!important}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-6>svg{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--color-accent)}a.\[a\&\]\:hover\:bg-badge-primary-bg--hover:hover{background-color:var(--color-badge-primary-bg--hover)}a.\[a\&\]\:hover\:bg-danger-400:hover{background-color:var(--color-danger-400)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);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))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);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))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
3
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}:root,:host{--font-sans:"Work Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji";--font-mono:"Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xs:18rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:var(--horizon-color-neutral-950);--color-text-primary:var(--horizon-color-neutral-50);--color-text-inverted:var(--horizon-color-neutral-950);--color-text-secondary:var(--horizon-color-neutral-300);--color-text-disabled:var(--horizon-color-neutral-600);--color-border-primary:var(--horizon-color-neutral-800);--color-border-secondary:var(--horizon-color-neutral-700);--color-accent:var(--horizon-color-accent);--color-overlay:oklch(from var(--horizon-color-neutral-950) l c h / .4);--color-level-zero:var(--horizon-color-level-zero);--color-level-one:var(--horizon-color-level-one);--color-level-two:var(--horizon-color-level-two);--color-level-three:var(--horizon-color-level-three);--color-level-four:var(--horizon-color-level-four);--color-success-400:var(--horizon-color-success-400);--color-warning-400:var(--horizon-color-warning-400);--color-danger-200:var(--horizon-color-danger-200);--color-danger-300:var(--horizon-color-danger-300);--color-danger-400:var(--horizon-color-danger-400);--color-danger-500:var(--horizon-color-danger-500);--color-alert-bg:var(--horizon-color-level-two);--color-alert-border:var(--horizon-color-level-three);--color-alert-text:var(--horizon-color-neutral-50);--color-alert-success-bg:var(--horizon-color-success-50);--color-alert-success-border:var(--horizon-color-success-500);--color-alert-success-text:var(--horizon-color-success-500);--color-alert-warning-bg:var(--horizon-color-warning-50);--color-alert-warning-border:var(--horizon-color-warning-500);--color-alert-warning-text:var(--horizon-color-warning-500);--color-alert-danger-bg:var(--horizon-color-danger-50);--color-alert-danger-border:var(--horizon-color-danger-500);--color-alert-danger-text:var(--horizon-color-danger-500);--color-alert-info-bg:var(--horizon-color-primary-50);--color-alert-info-border:var(--horizon-color-primary-700);--color-alert-info-text:var(--horizon-color-primary-700);--color-badge-primary-bg:var(--horizon-color-level-five);--color-badge-primary-bg--hover:var(--horizon-color-level-four);--color-badge-secondary-bg:var(--horizon-color-accent);--color-badge-secondary-text:var(--horizon-color-neutral-950);--color-badge-outline-border:var(--horizon-color-level-five);--color-badge-destructive-bg:var(--horizon-color-danger-400);--color-badge-destructive-border:var(--horizon-color-danger-400);--color-button-primary-bg:var(--horizon-color-accent);--color-button-primary-bg--hover:var(--horizon-color-level-two);--color-button-primary-bg--disabled:var(--horizon-color-neutral-500);--color-button-primary-border:var(--horizon-color-accent);--color-button-primary-border--hover:var(--horizon-color-level-two);--color-button-primary-border--disabled:var(--horizon-color-neutral-500);--color-button-primary-text:var(--horizon-color-neutral-900);--color-button-primary-text--hover:var(--horizon-color-accent);--color-button-primary-text--disabled:var(--horizon-color-neutral-200);--color-button-secondary-bg:var(--horizon-color-level-two);--color-button-secondary-bg--hover:var(--horizon-color-accent);--color-button-secondary-bg--disabled:var(--horizon-color-neutral-500);--color-button-secondary-text:var(--horizon-color-neutral-50);--color-button-secondary-text--hover:var(--horizon-color-level-two);--color-button-secondary-text--disabled:var(--horizon-color-neutral-200);--color-button-secondary-border:var(--horizon-color-neutral-900);--color-button-secondary-border--disabled:var(--horizon-color-neutral-500);--color-button-outline-bg:var(--horizon-color-transparent);--color-button-outline-bg--hover:var(--horizon-color-level-two);--color-button-outline-text:var(--horizon-color-neutral-50);--color-button-outline-text--hover:var(--horizon-color-accent);--color-button-outline-text--disabled:var(--horizon-color-neutral-400);--color-button-outline-border:var(--horizon-color-accent);--color-button-outline-border--disabled:var(--horizon-color-neutral-400);--color-button-ghost-bg:var(--horizon-color-transparent);--color-button-ghost-bg--hover:var(--horizon-color-level-two);--color-button-ghost-text:var(--horizon-color-neutral-50);--color-button-ghost-text--hover:var(--horizon-color-accent);--color-button-ghost-text--disabled:var(--horizon-color-neutral-400);--color-button-danger:var(--horizon-color-danger-400);--color-button-danger--hover:oklch(from var(--horizon-color-danger-500) l c h / .8);--color-checkbox-border:var(--horizon-color-neutral-100);--color-checkbox-border--focus:var(--horizon-color-accent);--color-checkbox-border--checked:var(--horizon-color-accent);--color-checkbox-indicator--checked:var(--horizon-color-accent);--color-data-card-description:var(--horizon-color-neutral-300);--color-dialog-bg:var(--horizon-color-level-one);--color-drawer-bg:var(--horizon-color-level-one);--color-input-border:oklch(from var(--horizon-color-white) l c h / .1);--color-input-border--hover:var(--horizon-color-neutral-300);--color-input-border--focus:var(--horizon-color-accent);--color-input-border--disabled:var(--horizon-color-neutral-500);--color-input-bg:var(--horizon-color-level-zero);--color-input-bg--hover:var(--horizon-color-level-four);--color-input-bg--disabled:var(--horizon-color-neutral-700);--color-input-bg--selected:var(--horizon-color-level-four);--color-input-text:var(--horizon-color-neutral-50);--color-input-text-prefix:var(--horizon-color-neutral-200);--color-input-text--disabled:var(--horizon-color-neutral-200);--color-input-text-placeholder:var(--horizon-color-neutral-500);--color-input-primitive-border:var(--horizon-color-neutral-800);--color-input-otp-filled-separator:var(--horizon-color-level-five);--color-input-otp-border:var(--horizon-color-neutral-300);--color-input-otp-border--focus:var(--horizon-color-accent);--color-input-otp-caret:var(--horizon-color-neutral-200);--color-kbd-bg:var(--horizon-color-level-two);--color-kbd-text:var(--color-text-secondary);--color-popover-bg:var(--horizon-color-level-one);--color-popover-text:var(--horizon-color-neutral-50);--color-radio-bg:var(--horizon-color-neutral-900);--color-radio-bg--selected:var(--horizon-color-accent);--color-radio-border--hover:var(--horizon-color-accent);--color-radio-border--selected:var(--horizon-color-accent);--color-slider-track:var(--horizon-color-neutral-700);--color-slider-range:var(--horizon-color-neutral-50);--color-slider-thumb-border:var(--horizon-color-neutral-50);--color-slider-thumb-bg:var(--horizon-color-neutral-50);--color-slider-thumb-ring:var(--horizon-color-neutral-50);--color-switch-bg:var(--horizon-color-neutral-700);--color-switch-bg--checked:var(--horizon-color-white);--color-switch-thumb:var(--horizon-color-neutral-950);--color-switch-thumb--checked:var(--horizon-color-white);--color-tabs-group-bg:var(--horizon-color-level-one);--color-tabs-indicator:var(--horizon-color-accent);--color-tabs-enclosed-indicator:var(--horizon-color-level-two);--color-tabs-border:var(--horizon-color-level-four);--color-toast-bg:var(--horizon-color-level-one);--color-toast-border:var(--horizon-color-level-four);--color-toast-text:var(--horizon-color-neutral-50);--color-toast-success-bg:var(--horizon-color-success-400)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-toast-success-bg:color-mix(in oklab, var(--horizon-color-success-400) 10%, var(--horizon-color-neutral-950))}}:root,:host{--color-toast-success-border:var(--horizon-color-success-400);--color-toast-success-text:var(--horizon-color-success-400);--color-toast-success-icon:var(--horizon-color-success-400);--color-toast-warning-bg:var(--horizon-color-warning-400)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-toast-warning-bg:color-mix(in oklab, var(--horizon-color-warning-400) 10%, var(--horizon-color-neutral-950))}}:root,:host{--color-toast-warning-border:var(--horizon-color-warning-400);--color-toast-warning-text:var(--horizon-color-warning-400);--color-toast-warning-icon:var(--horizon-color-warning-400);--color-toast-danger-bg:var(--horizon-color-danger-400)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-toast-danger-bg:color-mix(in oklab, var(--horizon-color-danger-400) 10%, var(--horizon-color-neutral-950))}}:root,:host{--color-toast-danger-border:var(--horizon-color-danger-400);--color-toast-danger-text:var(--horizon-color-danger-400);--color-toast-danger-icon:var(--horizon-color-danger-400);--color-toast-info-bg:var(--horizon-color-primary-400)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-toast-info-bg:color-mix(in oklab, var(--horizon-color-primary-400) 10%, var(--horizon-color-neutral-950))}}:root,:host{--color-toast-info-border:var(--horizon-color-primary-400);--color-toast-info-text:var(--horizon-color-primary-400);--color-toast-info-icon:var(--horizon-color-primary-400);--color-toggle-bg:var(--horizon-color-level-two);--color-toggle-bg--active-default:var(--horizon-color-primary-700);--color-toggle-bg--active:var(--color-toggle-bg--active-default);--color-toggle-bg--hover:var(--horizon-color-level-four);--color-toggle-border:var(--horizon-color-transparent);--color-toggle-border--hover:var(--horizon-color-level-four);--color-toggle-border--active-default:var(--horizon-color-primary-600);--color-toggle-border--active:var(--color-toggle-border--active-default);--color-toggle-text:var(--horizon-color-neutral-50);--color-toggle-text--hover:var(--horizon-color-neutral-200);--color-toggle-text--active-default:var(--color-text-primary);--color-toggle-text--active:var(--color-toggle-text--active-default);--color-toggle-outline-border:var(--horizon-color-neutral-700);--color-toggle-outline-divider:var(--horizon-color-neutral-600);--color-toggle-outline-border--hover:var(--horizon-color-neutral-400);--color-tooltip-bg:var(--horizon-color-level-one);--color-tooltip-arrow:var(--horizon-color-level-one);--color-tooltip-outline-border:var(--horizon-color-level-four);--color-tooltip-outline-arrow:var(--horizon-color-level-four);--color-black-40:oklch(0% 0 0/.4);--animate-caret-blink:caret-blink 1.2s ease-out infinite;--animate-accordion-down:accordion-down .2s ease-out;--animate-accordion-up:accordion-up .2s ease-out}:root{--horizon-color-black:oklch(0% 0 0);--horizon-color-white:oklch(100% 0 0);--horizon-color-transparent:oklch(0% 0 0/0);--horizon-color-accent:oklch(92.53% .1976 123.38);--horizon-color-neutral-50:oklch(98.5% 0 0);--horizon-color-neutral-100:oklch(92.19% 0 0);--horizon-color-neutral-200:oklch(86.99% 0 0);--horizon-color-neutral-300:oklch(79.03% 0 0);--horizon-color-neutral-400:oklch(71.55% 0 0);--horizon-color-neutral-500:oklch(55.55% 0 0);--horizon-color-neutral-600:oklch(43.86% 0 0);--horizon-color-neutral-700:oklch(37.15% 0 0);--horizon-color-neutral-800:oklch(32.11% 0 0);--horizon-color-neutral-900:oklch(26.86% 0 0);--horizon-color-neutral-950:oklch(21.78% 0 0);--horizon-color-primary-50:oklch(97.37% .01 238);--horizon-color-primary-100:oklch(93.88% .03 242.35);--horizon-color-primary-200:oklch(89.3% .06 242.83);--horizon-color-primary-300:oklch(83.05% .09 240.33);--horizon-color-primary-400:oklch(74.57% .14 245.84);--horizon-color-primary-500:oklch(66.23% .18 254.28);--horizon-color-primary-600:oklch(58.57% .21 259.12);--horizon-color-primary-700:oklch(52.25% .21 261.44);--horizon-color-primary-800:oklch(42.44% .17 262.29);--horizon-color-primary-900:oklch(39.88% .14 261.51);--horizon-color-primary-950:oklch(29.27% .09 263.49);--horizon-color-level-zero:oklch(23.78% 0 0);--horizon-color-level-one:oklch(26.94% 0 0);--horizon-color-level-two:oklch(29.93% 0 0);--horizon-color-level-three:oklch(32.89% 0 0);--horizon-color-level-four:oklch(35.71% 0 0);--horizon-color-level-five:oklch(38.62% 0 0);--horizon-color-success-50:oklch(96.2% .044 156.743);--horizon-color-success-100:oklch(92.5% .084 155.995);--horizon-color-success-200:oklch(87.1% .15 154.449);--horizon-color-success-300:oklch(79.2% .209 151.711);--horizon-color-success-400:oklch(72.3% .219 149.579);--horizon-color-success-500:oklch(62.7% .194 149.214);--horizon-color-warning-50:oklch(95.4% .038 75.164);--horizon-color-warning-100:oklch(90.1% .076 70.697);--horizon-color-warning-200:oklch(83.7% .128 66.29);--horizon-color-warning-300:oklch(75% .183 55.934);--horizon-color-warning-400:oklch(70.5% .213 47.604);--horizon-color-warning-500:oklch(64.6% .222 41.116);--horizon-color-danger-50:oklch(93.6% .032 17.717);--horizon-color-danger-100:oklch(88.5% .062 18.334);--horizon-color-danger-200:oklch(80.8% .114 19.571);--horizon-color-danger-300:oklch(70.4% .191 22.216);--horizon-color-danger-400:oklch(57.7% .245 27.325);--horizon-color-danger-500:oklch(50.5% .213 27.518)}:root[data-theme=light]{--horizon-color-level-one:oklch(98.51% 0 0);--color-background:var(--horizon-color-neutral-50)}@keyframes animate-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes animate-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes fade-in-0{0%{opacity:0}to{opacity:1}}@keyframes fade-out-0{0%{opacity:1}to{opacity:0}}@keyframes fade-in-tabs-indicator{0%{opacity:0;transform:translateY(-2rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down-from-top{0%{opacity:0;transform:translateY(-100%)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slide-up-to-top{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-100%)scale(.95)}}@keyframes spin-around{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes zoom-in-95{0%{opacity:0;transform:translate(-50%)translateY(-50%)scale(.95)}to{opacity:1;transform:translate(-50%)translateY(-50%)scale(1)}}@keyframes zoom-out-95{0%{opacity:1;transform:translate(-50%)translateY(-50%)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-50%)scale(.95)}}@keyframes accordion-down{0%{opacity:0;height:0}to{height:var(--radix-accordion-content-height);opacity:1}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height);opacity:1}to{opacity:0;height:0}}@layer utilities{a.underline-on-hover{color:var(--color-accent);cursor:pointer;width:max-content;text-decoration:none;position:relative}a.underline-on-hover:before{background-color:var(--color-accent);content:"";border-radius:.1rem;width:100%;height:.1rem;transition:transform .3s ease-in-out;position:absolute;bottom:-.2rem;left:0;transform:scaleX(0)}a.underline-on-hover:hover:before{transform:scaleX(1)}.spectral-root{isolation:isolate}[data-vaul-drawer] *,[data-vaul-drawer] :before,[data-vaul-drawer] :after{box-sizing:border-box!important}[vaul-drawer]{transition:transform .2s cubic-bezier(.165,.84,.44,1)!important}[vaul-overlay]{transition:opacity .2s cubic-bezier(.165,.84,.44,1)!important}.shadow-neumorphic-large{box-shadow:12px 12px 24px var(--color-shadow-neumorphic-large), -12px -12px 24px var(--color-white)}.shadow-neumorphic-small{box-shadow:4px 4px 8px var(--color-shadow-neumorphic), -4px -4px 8px var(--color-white)}.dialog-no-animations,.dialog-no-animations[data-state=open],.dialog-no-animations[data-state=closed]{animation:none!important;transform:translate(-50%)translateY(-50%)!important}svg:focus-visible,svg:focus{outline:none}.card-effects{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#ffffff03 0%,#fff0 100%),#26262680;border:.5px solid #ffffff0d;border-radius:1rem;box-shadow:inset 0 -1px #0000001a,0 20px 40px #00000040,0 15px 30px #00000026,0 5px 10px #0000000d}.tooltip-effects{box-shadow:3px 3px 6px 3px #0000004d}@supports not ((-webkit-backdrop-filter:blur(0)) or (backdrop-filter:blur(0))){.card-effects{background-color:#22222599}.card-effects-dark{background-color:#27272ab8}}.rdp{margin:0}.rdp-root{padding-right:24px}.rdp-root .rdp-nav{z-index:9999;position:absolute}.rdp-root .rdp-nav .nav-prev,.rdp-root .rdp-nav .nav-next{justify-content:center;align-items:center;display:flex;position:absolute}:is(.rdp-root .rdp-nav .nav-prev,.rdp-root .rdp-nav .nav-next):hover{color:var(--color-text-secondary);cursor:pointer;background-color:#0000}.rdp-root .rdp-month_caption{justify-content:center;align-items:center;padding-block-end:8px;display:flex;position:relative}.rdp-root .rdp-month_caption .month-title{font-size:18px;font-weight:600}.rdp-root .rdp-day_button{border-color:#0000;border-radius:100%;width:40px;height:40px}.rdp-root .day.rdp-today{color:var(--color-accent);font-weight:600}.rdp-root .day.rdp-selected .rdp-day_button{background-color:var(--color-accent);color:var(--color-text-inverted);border-radius:50%;font-weight:600}.rdp-root .day.rdp-outside .rdp-day_button{opacity:.25}.rdp-root .day:not(.rdp-disabled):hover{background-color:var(--color-neutral-200);color:var(--color-text-inverted);border-radius:50%;cursor:pointer!important}.rdp-root .day.rdp-disabled .rdp-day_button{color:var(--color-text-disabled)}.rdp-root .day.rdp-hidden .rdp-day_button{visibility:hidden}.rdp-root .rdp-weekdays .rdp-weekday{color:var(--color-neutral-400);font-weight:500}:is(.rdp-root .hours,.rdp-root .minutes) input{width:max-content;max-width:22px}:is(.rdp-root .hours,.rdp-root .minutes) input.hours-input{text-align:right}:is(.rdp-root .hours,.rdp-root .minutes) input.minutes-input{text-align:left}:is(.rdp-root .hours,.rdp-root .minutes,.rdp-root .am-pm) input{border:0;font-size:16px}:is(.rdp-root .hours,.rdp-root .minutes,.rdp-root .am-pm) input:hover,:is(.rdp-root .hours,.rdp-root .minutes,.rdp-root .am-pm) input:focus,:is(.rdp-root .hours,.rdp-root .minutes,.rdp-root .am-pm) input:focus-visible{border:0;outline:0}.rdp-root .hours{flex-direction:row;align-items:center;display:flex}.rdp-root .hours input{text-align:right}.rdp-root .hours span{margin-inline:1px 2px}.rdp-root .am-pm{width:auto;margin-inline-start:8px}.rdp-root .am-pm button{background-color:#0000;border:0;padding-inline:0;font-size:14px}.rdp-root .am-pm button:hover{cursor:pointer}.rdp-root .am-pm button:focus,.rdp-root .am-pm button:focus-visible{outline:0}.rdp-root .am-pm button svg:not(.chevron-icon){display:none}.rdp-root .am-pm span:focus,.rdp-root .am-pm span:focus-visible{outline:0}.rdp-root .am-pm-dropdown{z-index:999;border-bottom-right-radius:4px;border-bottom-left-radius:4px;width:58px;margin-top:-5px;font-size:14px;position:relative}.rdp-root .am-pm-dropdown:hover{cursor:pointer}.rdp-root .am-pm-dropdown .am-pm-option{text-align:center;z-index:999;justify-content:center;align-items:center;height:24px;padding-inline:8px;display:flex}.rdp-root .am-pm-dropdown .am-pm-option:focus-visible,.rdp-root .am-pm-dropdown .am-pm-option:focus{outline:0}}.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-10{right:calc(var(--spacing) * 10)}.right-\[-14px\]{right:-14px}.right-px{right:1px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-px{bottom:1px}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.left-\[calc\(100\%-0\.75rem\)\]{left:calc(100% - .75rem)}.left-\[calc\(100\%-1\.5rem\)\]{left:calc(100% - 1.5rem)}.left-\[calc\(100\%-1\.25rem\)\]{left:calc(100% - 1.25rem)}.left-\[calc\(100\%-1rem\)\]{left:calc(100% - 1rem)}.isolate{isolation:isolate}.z-0{z-index:0}.z-1{z-index:1}.z-10{z-index:10}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1\]{z-index:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.m-0\!{margin:calc(var(--spacing) * 0)!important}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-6{margin-inline:calc(var(--spacing) * -6)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.-me-0\.5{margin-inline-end:calc(var(--spacing) * -.5)}.me-0{margin-inline-end:calc(var(--spacing) * 0)}.-mbe-0\.5{margin-block-end:calc(var(--spacing) * -.5)}.mbe-0{margin-block-end:calc(var(--spacing) * 0)}.\!mt-4{margin-top:calc(var(--spacing) * 4)!important}.mt-0\!{margin-top:calc(var(--spacing) * 0)!important}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-0\.5\!{margin-top:calc(var(--spacing) * .5)!important}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-4\!{margin-top:calc(var(--spacing) * 4)!important}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-6\!{margin-top:calc(var(--spacing) * 6)!important}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-\[1\.6rem\]{margin-top:1.6rem}.mt-\[21px\]{margin-top:21px}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[-4px\]{margin-right:-4px}.mb-0\!{margin-bottom:calc(var(--spacing) * 0)!important}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-\[1\.2rem\]{margin-bottom:1.2rem}.-ml-3{margin-left:calc(var(--spacing) * -3)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.-ml-5{margin-left:calc(var(--spacing) * -5)}.-ml-6{margin-left:calc(var(--spacing) * -6)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-8{margin-left:calc(var(--spacing) * 8)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-6\.5{width:calc(var(--spacing) * 6.5);height:calc(var(--spacing) * 6.5)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-72{width:calc(var(--spacing) * 72);height:calc(var(--spacing) * 72)}.size-full{width:100%;height:100%}.h-\(--radix-select-trigger-height\){height:var(--radix-select-trigger-height)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-12\!{height:calc(var(--spacing) * 12)!important}.h-64{height:calc(var(--spacing) * 64)}.h-80{height:calc(var(--spacing) * 80)}.h-\[72px\]{height:72px}.h-\[inherit\]{height:inherit}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-popover-content-available-height\){max-height:var(--radix-popover-content-available-height)}.max-h-22{max-height:calc(var(--spacing) * 22)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[17\.5rem\]{max-height:17.5rem}.max-h-\[90vh\]{max-height:90vh}.max-h-\[min\(var\(--available-height\)\,18rem\)\]{max-height:min(var(--available-height), 18rem)}.max-h-\[min\(var\(--radix-dropdown-menu-content-available-height\)\,300px\)\]{max-height:min(var(--radix-dropdown-menu-content-available-height), 300px)}.max-h-\[min\(var\(--radix-select-content-available-height\)\,300px\)\]{max-height:min(var(--radix-select-content-available-height), 300px)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-12\!{min-height:calc(var(--spacing) * 12)!important}.w-\(--popover-width\){width:var(--popover-width)}.w-\(--spectral-select-content-width\){width:var(--spectral-select-content-width)}.w-1\/3{width:33.3333%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2xs{width:var(--container-2xs)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-20{width:calc(var(--spacing) * 20)}.w-44{width:calc(var(--spacing) * 44)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\[60\%\]{width:60%}.w-\[240px\]{width:240px}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[330px\]{width:330px}.w-\[340px\]{width:340px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[486px\]{width:486px}.w-\[520px\]{width:520px}.w-\[560px\]{width:560px}.w-auto{width:auto}.w-auto\!{width:auto!important}.w-fit{width:fit-content}.w-full{width:100%}.w-lg{width:var(--container-lg)}.w-max{width:max-content}.w-px{width:1px}.max-w-44{max-width:calc(var(--spacing) * 44)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-\[360px\]{max-width:360px}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-\[520px\]{max-width:520px}.max-w-\[600px\]{max-width:600px}.max-w-\[800px\]{max-width:800px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-\(--spectral-select-content-width\){min-width:var(--spectral-select-content-width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-20{min-width:calc(var(--spacing) * 20)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-\[300px\]{min-width:300px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-\[30\%\]{flex-basis:30%}.basis-\[70\%\]{flex-basis:70%}.border-collapse{border-collapse:collapse}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:--radix-hover-card-content-transform-origin}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:--radix-popover-content-transform-origin}.origin-center{transform-origin:50%}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[calc\(50\%\+1px\)\]{--tw-translate-y:calc(calc(50% + 1px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[calc\(50\%-1\.5px\)\]{--tw-translate-y:calc(calc(50% - 1.5px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.touch-none{touch-action:none}.resize{resize:both}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.list-inside{list-style-position:inside}.list-inside\!{list-style-position:inside!important}.list-disc{list-style-type:disc}.\[appearance\:textfield\]{appearance:textfield}.grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.grid-cols-\[auto_0fr\]{grid-template-columns:auto 0fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[max-content_auto\]{grid-template-columns:max-content auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[0\.4rem\]{gap:.4rem}.gap-\[15px\]{gap:15px}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[8px\]{border-radius:8px}.rounded-\[16px\]{border-radius:16px}.rounded-\[var\(--radius\,0\.375rem\)\]{border-radius:var(--radius,.375rem)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-none\!{border-radius:0!important}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-s-md{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.rounded-s-none{border-start-start-radius:0;border-end-start-radius:0}.rounded-ss-md{border-start-start-radius:var(--radius-md)}.rounded-ss-none{border-start-start-radius:0}.rounded-e-md{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.rounded-e-none{border-start-end-radius:0;border-end-end-radius:0}.rounded-se-md{border-start-end-radius:var(--radius-md)}.rounded-se-none{border-start-end-radius:0}.rounded-ee-md{border-end-end-radius:var(--radius-md)}.rounded-ee-none{border-end-end-radius:0}.rounded-es-md{border-end-start-radius:var(--radius-md)}.rounded-es-none{border-end-start-radius:0}.rounded-r-none\!{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-r-xl{border-top-right-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-2\!{border-style:var(--tw-border-style)!important;border-width:2px!important}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-none\!{--tw-border-style:none!important;border-style:none!important}.border-\[\#F5F5F5\]{border-color:#f5f5f5}.border-\[\#F7F7F7\]{border-color:#f7f7f7}.border-alert-border{border-color:var(--color-alert-border)}.border-alert-danger-border{border-color:var(--color-alert-danger-border)}.border-alert-info-border{border-color:var(--color-alert-info-border)}.border-alert-success-border{border-color:var(--color-alert-success-border)}.border-alert-warning-border{border-color:var(--color-alert-warning-border)}.border-badge-outline-border{border-color:var(--color-badge-outline-border)}.border-border-primary{border-color:var(--color-border-primary)}.border-border-secondary{border-color:var(--color-border-secondary)}.border-button-danger{border-color:var(--color-button-danger)}.border-button-outline-border{border-color:var(--color-button-outline-border)}.border-button-outline-border--disabled{border-color:var(--color-button-outline-border--disabled)}.border-button-primary-border{border-color:var(--color-button-primary-border)}.border-button-primary-border--disabled{border-color:var(--color-button-primary-border--disabled)}.border-button-secondary-border{border-color:var(--color-button-secondary-border)}.border-button-secondary-border--disabled{border-color:var(--color-button-secondary-border--disabled)}.border-checkbox-border{border-color:var(--color-checkbox-border)}.border-danger-400{border-color:var(--color-danger-400)}.border-gray-200{border-color:var(--color-gray-200)}.border-input-border{border-color:var(--color-input-border)}.border-input-otp-border{border-color:var(--color-input-otp-border)}.border-input-otp-border--focus{border-color:var(--color-input-otp-border--focus)}.border-level-four{border-color:var(--color-level-four)}.border-level-one{border-color:var(--color-level-one)}.border-level-three{border-color:var(--color-level-three)}.border-slider-thumb-border{border-color:var(--color-slider-thumb-border)}.border-tabs-border{border-color:var(--color-tabs-border)}.border-toast-border{border-color:var(--color-toast-border)}.border-toast-danger-border{border-color:var(--color-toast-danger-border)}.border-toast-info-border{border-color:var(--color-toast-info-border)}.border-toast-success-border{border-color:var(--color-toast-success-border)}.border-toast-warning-border{border-color:var(--color-toast-warning-border)}.border-toggle-border{border-color:var(--color-toggle-border)}.border-toggle-outline-border{border-color:var(--color-toggle-outline-border)}.border-tooltip-outline-arrow{border-color:var(--color-tooltip-outline-arrow)}.border-tooltip-outline-border{border-color:var(--color-tooltip-outline-border)}.border-transparent{border-color:#0000}.border-warning-400{border-color:var(--color-warning-400)}.bg-\[\#4DAFFF\]{background-color:#4dafff}.bg-\[\#F0F2F4\]{background-color:#f0f2f4}.bg-\[\#F7F8F9\]{background-color:#f7f8f9}.bg-\[\#FF3F40\]{background-color:#ff3f40}.bg-\[\#FFF0F0\]{background-color:#fff0f0}.bg-accent\/20{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/20{background-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.bg-alert-bg{background-color:var(--color-alert-bg)}.bg-alert-danger-bg{background-color:var(--color-alert-danger-bg)}.bg-alert-info-bg{background-color:var(--color-alert-info-bg)}.bg-alert-success-bg{background-color:var(--color-alert-success-bg)}.bg-alert-warning-bg{background-color:var(--color-alert-warning-bg)}.bg-background{background-color:var(--color-background)}.bg-badge-destructive-bg{background-color:var(--color-badge-destructive-bg)}.bg-badge-primary-bg{background-color:var(--color-badge-primary-bg)}.bg-badge-secondary-bg{background-color:var(--color-badge-secondary-bg)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border-secondary{background-color:var(--color-border-secondary)}.bg-button-danger{background-color:var(--color-button-danger)}.bg-button-ghost-bg{background-color:var(--color-button-ghost-bg)}.bg-button-outline-bg{background-color:var(--color-button-outline-bg)}.bg-button-primary-bg{background-color:var(--color-button-primary-bg)}.bg-button-primary-bg--disabled{background-color:var(--color-button-primary-bg--disabled)}.bg-button-secondary-bg{background-color:var(--color-button-secondary-bg)}.bg-button-secondary-bg--disabled{background-color:var(--color-button-secondary-bg--disabled)}.bg-dialog-bg,.bg-dialog-bg\/85{background-color:var(--color-dialog-bg)}@supports (color:color-mix(in lab, red, red)){.bg-dialog-bg\/85{background-color:color-mix(in oklab, var(--color-dialog-bg) 85%, transparent)}}.bg-drawer-bg{background-color:var(--color-drawer-bg)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-input-bg{background-color:var(--color-input-bg)}.bg-input-bg--hover{background-color:var(--color-input-bg--hover)}.bg-input-bg--selected{background-color:var(--color-input-bg--selected)}.bg-input-border{background-color:var(--color-input-border)}.bg-input-otp-caret{background-color:var(--color-input-otp-caret)}.bg-input-primitive-border{background-color:var(--color-input-primitive-border)}.bg-kbd-bg{background-color:var(--color-kbd-bg)}.bg-level-four{background-color:var(--color-level-four)}.bg-level-one{background-color:var(--color-level-one)}.bg-level-three{background-color:var(--color-level-three)}.bg-level-two{background-color:var(--color-level-two)}.bg-level-zero{background-color:var(--color-level-zero)}.bg-overlay{background-color:var(--color-overlay)}.bg-popover-bg{background-color:var(--color-popover-bg)}.bg-radio-bg{background-color:var(--color-radio-bg)}.bg-radio-bg--selected{background-color:var(--color-radio-bg--selected)}.bg-red-500{background-color:var(--color-red-500)}.bg-slider-range{background-color:var(--color-slider-range)}.bg-slider-thumb-bg{background-color:var(--color-slider-thumb-bg)}.bg-slider-track{background-color:var(--color-slider-track)}.bg-switch-thumb--checked{background-color:var(--color-switch-thumb--checked)}.bg-tabs-enclosed-indicator{background-color:var(--color-tabs-enclosed-indicator)}.bg-tabs-group-bg{background-color:var(--color-tabs-group-bg)}.bg-text-secondary{background-color:var(--color-text-secondary)}.bg-toast-bg{background-color:var(--color-toast-bg)}.bg-toast-danger-bg{background-color:var(--color-toast-danger-bg)}.bg-toast-info-bg{background-color:var(--color-toast-info-bg)}.bg-toast-success-bg{background-color:var(--color-toast-success-bg)}.bg-toast-warning-bg{background-color:var(--color-toast-warning-bg)}.bg-toggle-bg{background-color:var(--color-toggle-bg)}.bg-tooltip-arrow{background-color:var(--color-tooltip-arrow)}.bg-tooltip-bg{background-color:var(--color-tooltip-bg)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-tooltip-arrow{fill:var(--color-tooltip-arrow)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\!{padding:calc(var(--spacing) * 0)!important}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.ps-11{padding-inline-start:calc(var(--spacing) * 11)}.pe-10{padding-inline-end:calc(var(--spacing) * 10)}.pe-12{padding-inline-end:calc(var(--spacing) * 12)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\!{padding-top:calc(var(--spacing) * 3)!important}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-start{text-align:start}.\[text-indent\:var\(--prefix-width\)\]{text-indent:var(--prefix-width)}.font-mono\!{font-family:var(--font-mono)!important}.font-sans\!{font-family:var(--font-sans)!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-base\!{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\!{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\!{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[19px\]{font-size:19px}.text-\[22px\]{font-size:22px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[24px\]{--tw-leading:24px;line-height:24px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-\[\#222222\]{color:#222}.text-\[\#999999\]{color:#999}.text-\[\#FF3F40\]{color:#ff3f40}.text-\[\#FFFFFF\]{color:#fff}.text-accent{color:var(--color-accent)}.text-alert-danger-text{color:var(--color-alert-danger-text)}.text-alert-info-text{color:var(--color-alert-info-text)}.text-alert-success-text{color:var(--color-alert-success-text)}.text-alert-text{color:var(--color-alert-text)}.text-alert-warning-text{color:var(--color-alert-warning-text)}.text-badge-secondary-text{color:var(--color-badge-secondary-text)}.text-button-danger{color:var(--color-button-danger)}.text-button-ghost-text{color:var(--color-button-ghost-text)}.text-button-ghost-text--disabled{color:var(--color-button-ghost-text--disabled)}.text-button-outline-text{color:var(--color-button-outline-text)}.text-button-outline-text--disabled{color:var(--color-button-outline-text--disabled)}.text-button-primary-text{color:var(--color-button-primary-text)}.text-button-primary-text--disabled{color:var(--color-button-primary-text--disabled)}.text-button-secondary-text{color:var(--color-button-secondary-text)}.text-button-secondary-text--disabled{color:var(--color-button-secondary-text--disabled)}.text-checkbox-indicator--checked{color:var(--color-checkbox-indicator--checked)}.text-current{color:currentColor}.text-danger-300{color:var(--color-danger-300)}.text-danger-400{color:var(--color-danger-400)}.text-danger-400\!{color:var(--color-danger-400)!important}.text-data-card-description{color:var(--color-data-card-description)}.text-gray-500{color:var(--color-gray-500)}.text-inherit{color:inherit}.text-input-text{color:var(--color-input-text)}.text-input-text\!{color:var(--color-input-text)!important}.text-input-text--disabled{color:var(--color-input-text--disabled)}.text-input-text-placeholder{color:var(--color-input-text-placeholder)}.text-input-text-prefix{color:var(--color-input-text-prefix)}.text-kbd-text{color:var(--color-kbd-text)}.text-neutral-200\!{color:var(--color-neutral-200)!important}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-400\!{color:var(--color-neutral-400)!important}.text-popover-text{color:var(--color-popover-text)}.text-success-400{color:var(--color-success-400)}.text-text-primary{color:var(--color-text-primary)}.text-text-primary\!{color:var(--color-text-primary)!important}.text-text-secondary{color:var(--color-text-secondary)}.text-text-secondary\!{color:var(--color-text-secondary)!important}.text-toast-danger-icon{color:var(--color-toast-danger-icon)}.text-toast-danger-text{color:var(--color-toast-danger-text)}.text-toast-info-icon{color:var(--color-toast-info-icon)}.text-toast-info-text{color:var(--color-toast-info-text)}.text-toast-success-icon{color:var(--color-toast-success-icon)}.text-toast-success-text{color:var(--color-toast-success-text)}.text-toast-text{color:var(--color-toast-text)}.text-toast-warning-icon{color:var(--color-toast-warning-icon)}.text-toast-warning-text{color:var(--color-toast-warning-text)}.text-toggle-text{color:var(--color-toggle-text)}.text-warning-400{color:var(--color-warning-400)}.text-warning-400\!{color:var(--color-warning-400)!important}.uppercase{text-transform:uppercase}.font-stretch-condensed{font-stretch:75%}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline\!{text-decoration-line:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[-20px_0_20px_var\(--color-black-40\)\]{--tw-shadow:-20px 0 20px var(--tw-shadow-color,var(--color-black-40));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_-20px_20px_var\(--color-black-40\)\]{--tw-shadow:0 -20px 20px var(--tw-shadow-color,var(--color-black-40));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_20px_20px_var\(--color-black-40\)\]{--tw-shadow:0 20px 20px var(--tw-shadow-color,var(--color-black-40));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[4px_0_10px_rgb\(0_0_0_\/_0\.18\)\]{--tw-shadow:4px 0 10px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[20px_0_20px_var\(--color-black-40\)\]{--tw-shadow:20px 0 20px var(--tw-shadow-color,var(--color-black-40));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-elevation-3{--tw-shadow:inset 0 1px 0 0 var(--tw-shadow-color,#ffffff12), 0 4px 8px 0 var(--tw-shadow-color,#00000080), 0 20px 40px -8px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0\!{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring-black{--tw-ring-color:var(--color-black)}.ring-slider-thumb-ring\/50{--tw-ring-color:var(--color-slider-thumb-ring)}@supports (color:color-mix(in lab, red, red)){.ring-slider-thumb-ring\/50{--tw-ring-color:color-mix(in oklab, var(--color-slider-thumb-ring) 50%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-0{outline-style:var(--tw-outline-style);outline-width:0}.outline-transparent{outline-color:#0000}.blur{--tw-blur:blur(8px);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,)}.blur-\[2px\]{--tw-blur:blur(2px);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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.filter{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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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,);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,transform\]{transition-property:background-color,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[filter\,opacity\,transform\]{transition-property:filter,opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-columns\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\,clip-path\]{transition-property:transform,opacity,clip-path;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\[clip-path\:inset\(0_0_0_0\)\]{clip-path:inset(0)}.\[clip-path\:inset\(0_100\%_0_0\)\]{clip-path:inset(0 100% 0 0)}.\[text-shadow\:0_0_5px_var\(--color-text-inverted\)\,0_0_5px_var\(--color-text-inverted\)\,0_0_10px_var\(--color-text-inverted\)\,0_0_10px_var\(--color-text-inverted\)\,0_0_16px_var\(--color-text-inverted\)\,0_0_16px_var\(--color-text-inverted\)\,0_0_22px_var\(--color-text-inverted\)\]{text-shadow:0 0 5px var(--color-text-inverted),0 0 5px var(--color-text-inverted),0 0 10px var(--color-text-inverted),0 0 10px var(--color-text-inverted),0 0 16px var(--color-text-inverted),0 0 16px var(--color-text-inverted),0 0 22px var(--color-text-inverted)}.duration-180{animation-duration:.18s}.duration-200{animation-duration:.2s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}:is(.\*\:box-border>*),:is(.\*\*\:box-border *){box-sizing:border-box}.not-last\:border-b:not(:last-child){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.group-active\:\[background-color\:var\(--color-toggle-border--active\)\]:is(:where(.group):active *),.group-aria-pressed\:\[background-color\:var\(--color-toggle-border--active\)\]:is(:where(.group)[aria-pressed=true] *),.group-data-\[state\=on\]\:\[background-color\:var\(--color-toggle-border--active\)\]:is(:where(.group)[data-state=on] *){background-color:var(--color-toggle-border--active)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:text-neutral-400:is(:where(.peer):disabled~*){color:var(--color-neutral-400)}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[state\=checked\]\:invisible:is(:where(.peer)[data-state=checked]~*){visibility:hidden}.peer-data-\[state\=checked\]\:-translate-x-full:is(:where(.peer)[data-state=checked]~*){--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-data-\[state\=checked\]\:text-background:is(:where(.peer)[data-state=checked]~*){color:var(--color-background)}.peer-data-\[state\=on\]\/spectral-split-menu\:border-toggle-border--active\!:is(:where(.peer\/spectral-split-menu)[data-state=on]~*){border-color:var(--color-toggle-border--active)!important}.peer-data-\[state\=on\]\/spectral-split-menu\:bg-toggle-bg--active:is(:where(.peer\/spectral-split-menu)[data-state=on]~*){background-color:var(--color-toggle-bg--active)}.peer-data-\[state\=on\]\/spectral-split-menu\:text-toggle-text--active:is(:where(.peer\/spectral-split-menu)[data-state=on]~*){color:var(--color-toggle-text--active)}.peer-data-\[state\=unchecked\]\:invisible:is(:where(.peer)[data-state=unchecked]~*){visibility:hidden}.peer-data-\[state\=unchecked\]\:translate-x-6:is(:where(.peer)[data-state=unchecked]~*){--tw-translate-x:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}.placeholder\:text-input-text\!::placeholder{color:var(--color-input-text)!important}.placeholder\:text-input-text-placeholder::placeholder{color:var(--color-input-text-placeholder)}.placeholder\:text-input-text-placeholder\!::placeholder{color:var(--color-input-text-placeholder)!important}.placeholder\:opacity-100::placeholder{opacity:1}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-2:before{content:var(--tw-content);inset-block:calc(var(--spacing) * 2)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-border-secondary\/6:before{content:var(--tw-content);background-color:var(--color-border-secondary)}@supports (color:color-mix(in lab, red, red)){.before\:bg-border-secondary\/6:before{background-color:color-mix(in oklab, var(--color-border-secondary) 6%, transparent)}}.before\:content-none:before{content:var(--tw-content);--tw-content:none;content:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing) * 0)}.after\:top-0:after{content:var(--tw-content);top:calc(var(--spacing) * 0)}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing) * 0)}.after\:left-0:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.after\:m-auto:after{content:var(--tw-content);margin:auto}.after\:h-2\.5:after{content:var(--tw-content);height:calc(var(--spacing) * 2.5)}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing) * 1)}.after\:w-2\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 2.5)}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:rounded-t-\[0\.3rem\]:after{content:var(--tw-content);border-top-left-radius:.3rem;border-top-right-radius:.3rem}.after\:rounded-l-\[0\.3rem\]:after{content:var(--tw-content);border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.after\:border-r-\[0\.3rem\]:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:.3rem}.after\:border-b-\[0\.3rem\]:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:.3rem}.after\:border-tabs-indicator:after{content:var(--tw-content);border-color:var(--color-tabs-indicator)}.after\:bg-radio-bg--selected:after{content:var(--tw-content);background-color:var(--color-radio-bg--selected)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-none:after{content:var(--tw-content);--tw-content:none;content:none}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.first\:rounded-s-md:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.first\:rounded-ss-md:first-child{border-start-start-radius:var(--radius-md)}.first\:rounded-se-md:first-child{border-start-end-radius:var(--radius-md)}.last\:me-0:last-child{margin-inline-end:calc(var(--spacing) * 0)}.last\:mbe-0:last-child{margin-block-end:calc(var(--spacing) * 0)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:rounded-e-md:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.last\:rounded-ee-md:last-child{border-end-end-radius:var(--radius-md)}.last\:rounded-es-md:last-child{border-end-start-radius:var(--radius-md)}.focus-within\:z-10:focus-within{z-index:10}.focus-within\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-100:hover{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-button-danger--hover:hover{border-color:var(--color-button-danger--hover)}.hover\:border-button-primary-border--hover:hover{border-color:var(--color-button-primary-border--hover)}.hover\:border-danger-500:hover{border-color:var(--color-danger-500)}.hover\:border-input-border--hover:hover{border-color:var(--color-input-border--hover)}.hover\:border-radio-border--hover:hover{border-color:var(--color-radio-border--hover)}.hover\:border-toggle-border:hover{border-color:var(--color-toggle-border)}.hover\:border-toggle-border--hover:hover{border-color:var(--color-toggle-border--hover)}.hover\:border-toggle-outline-border--hover:hover{border-color:var(--color-toggle-outline-border--hover)}.hover\:border-warning-400:hover{border-color:var(--color-warning-400)}.hover\:bg-button-danger--hover:hover{background-color:var(--color-button-danger--hover)}.hover\:bg-button-ghost-bg--hover:hover{background-color:var(--color-button-ghost-bg--hover)}.hover\:bg-button-outline-bg--hover:hover{background-color:var(--color-button-outline-bg--hover)}.hover\:bg-button-primary-bg--hover:hover{background-color:var(--color-button-primary-bg--hover)}.hover\:bg-button-secondary-bg--hover:hover{background-color:var(--color-button-secondary-bg--hover)}.hover\:bg-input-bg--hover:hover{background-color:var(--color-input-bg--hover)}.hover\:bg-level-four:hover{background-color:var(--color-level-four)}.hover\:bg-level-three:hover{background-color:var(--color-level-three)}.hover\:bg-level-two:hover{background-color:var(--color-level-two)}.hover\:bg-toggle-bg--hover:hover{background-color:var(--color-toggle-bg--hover)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-button-danger\/80:hover{color:var(--color-button-danger)}@supports (color:color-mix(in lab, red, red)){.hover\:text-button-danger\/80:hover{color:color-mix(in oklab, var(--color-button-danger) 80%, transparent)}}.hover\:text-button-ghost-text--hover:hover{color:var(--color-button-ghost-text--hover)}.hover\:text-button-outline-text--hover:hover{color:var(--color-button-outline-text--hover)}.hover\:text-button-primary-text--hover:hover{color:var(--color-button-primary-text--hover)}.hover\:text-button-secondary-text--hover:hover{color:var(--color-button-secondary-text--hover)}.hover\:text-neutral-100:hover{color:var(--color-neutral-100)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\:text-toggle-text--hover:hover{color:var(--color-toggle-text--hover)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-100\!:hover{opacity:1!important}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.peer-data-\[state\=on\]\/spectral-split-menu\:hover\:border-toggle-border--active\!:is(:where(.peer\/spectral-split-menu)[data-state=on]~*):hover{border-color:var(--color-toggle-border--active)!important}.peer-data-\[state\=on\]\/spectral-split-menu\:hover\:bg-toggle-bg--active\!:is(:where(.peer\/spectral-split-menu)[data-state=on]~*):hover{background-color:var(--color-toggle-bg--active)!important}.peer-data-\[state\=on\]\/spectral-split-menu\:hover\:text-toggle-text--active\!:is(:where(.peer\/spectral-split-menu)[data-state=on]~*):hover{color:var(--color-toggle-text--active)!important}}.focus\:z-10:focus{z-index:10}.focus\:scale-95:focus{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.focus\:border-danger-400:focus{border-color:var(--color-danger-400)}.focus\:border-input-border--focus:focus{border-color:var(--color-input-border--focus)}.focus\:border-warning-400:focus{border-color:var(--color-warning-400)}.focus\:text-text-primary:focus{color:var(--color-text-primary)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-accent:focus{--tw-ring-color:var(--color-accent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-accent:focus-visible{border-color:var(--color-accent)}.focus-visible\:border-input-border--focus:focus-visible{border-color:var(--color-input-border--focus)}.focus-visible\:bg-input-bg--hover:focus-visible{background-color:var(--color-input-bg--hover)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-accent:focus-visible{--tw-ring-color:var(--color-accent)}.focus-visible\:ring-black:focus-visible{--tw-ring-color:var(--color-black)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\:outline:focus-visible,.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-accent:focus-visible{outline-color:var(--color-accent)}.focus-visible\:outline-badge-destructive-border:focus-visible{outline-color:var(--color-badge-destructive-border)}.focus-visible\:outline-button-danger:focus-visible{outline-color:var(--color-button-danger)}.focus-visible\:outline-button-outline-border:focus-visible{outline-color:var(--color-button-outline-border)}.focus-visible\:outline-button-primary-border:focus-visible{outline-color:var(--color-button-primary-border)}.focus-visible\:outline-button-secondary-border:focus-visible{outline-color:var(--color-button-secondary-border)}.focus-visible\:outline-checkbox-border--focus:focus-visible{outline-color:var(--color-checkbox-border--focus)}.focus-visible\:outline-danger-400:focus-visible{outline-color:var(--color-danger-400)}.focus-visible\:outline-input-border--focus:focus-visible{outline-color:var(--color-input-border--focus)}.focus-visible\:outline-level-three:focus-visible{outline-color:var(--color-level-three)}.focus-visible\:outline-text-secondary:focus-visible{outline-color:var(--color-text-secondary)}.focus-visible\:outline-warning-400:focus-visible{outline-color:var(--color-warning-400)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-100:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.97\]:active{scale:.97}.active\:border-toggle-border--active:active{border-color:var(--color-toggle-border--active)}.active\:bg-accent:active{background-color:var(--color-accent)}.active\:bg-toggle-bg--active:active{background-color:var(--color-toggle-bg--active)}.active\:text-text-inverted:active{color:var(--color-text-inverted)}.active\:text-toggle-text--active:active{color:var(--color-toggle-text--active)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-button-outline-border--disabled:disabled{border-color:var(--color-button-outline-border--disabled)}.disabled\:border-button-primary-border--disabled:disabled{border-color:var(--color-button-primary-border--disabled)}.disabled\:border-button-secondary-border--disabled:disabled{border-color:var(--color-button-secondary-border--disabled)}.disabled\:border-input-border--disabled:disabled{border-color:var(--color-input-border--disabled)}.disabled\:bg-button-primary-bg--disabled:disabled{background-color:var(--color-button-primary-bg--disabled)}.disabled\:bg-button-secondary-bg--disabled:disabled{background-color:var(--color-button-secondary-bg--disabled)}.disabled\:bg-input-bg--disabled:disabled{background-color:var(--color-input-bg--disabled)}.disabled\:text-button-ghost-text--disabled:disabled{color:var(--color-button-ghost-text--disabled)}.disabled\:text-button-outline-text--disabled:disabled{color:var(--color-button-outline-text--disabled)}.disabled\:text-button-primary-text--disabled:disabled{color:var(--color-button-primary-text--disabled)}.disabled\:text-button-secondary-text--disabled:disabled{color:var(--color-button-secondary-text--disabled)}.disabled\:text-input-text--disabled:disabled{color:var(--color-input-text--disabled)}.disabled\:text-text-secondary:disabled{color:var(--color-text-secondary)}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:bg-level-one:disabled:hover{background-color:var(--color-level-one)}.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-text-primary:disabled:hover{color:var(--color-text-primary)}}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}:where([data-orientation=horizontal]) .in-data-\[orientation\=horizontal\]\:p-4{padding:calc(var(--spacing) * 4)}:where([data-slot=tooltip-content]) .in-data-\[slot\=tooltip-content\]\:bg-level-three{background-color:var(--color-level-three)}.has-\[\[data-slot\=dialog-footer\]\]\:pb-0:has([data-slot=dialog-footer]){padding-bottom:calc(var(--spacing) * 0)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:outline-0:has([data-slot=input-group-control]:focus-visible){outline-style:var(--tw-outline-style);outline-width:0}.has-\[disabled\]\:opacity-50:has(:is(disabled)){opacity:.5}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-danger-200[aria-invalid=true]{border-color:var(--color-danger-200)}.aria-invalid\:outline-danger-200\/20[aria-invalid=true]{outline-color:var(--color-danger-200)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:outline-danger-200\/20[aria-invalid=true]{outline-color:color-mix(in oklab, var(--color-danger-200) 20%, transparent)}}.aria-pressed\:border-toggle-border--active[aria-pressed=true]{border-color:var(--color-toggle-border--active)}.aria-pressed\:bg-toggle-bg--active[aria-pressed=true]{background-color:var(--color-toggle-bg--active)}.aria-pressed\:text-toggle-text--active[aria-pressed=true]{color:var(--color-toggle-text--active)}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-highlighted\:bg-input-bg--hover[data-highlighted]{background-color:var(--color-input-bg--hover)}.data-placeholder\:text-input-text-placeholder\![data-placeholder]{color:var(--color-input-text-placeholder)!important}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[expanded\=true\]\:w-full[data-expanded=true],.data-\[layout\=\'expanded\'\]\:w-full[data-layout=expanded]{width:100%}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:flex[data-orientation=vertical]{display:flex}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=lg\]\:min-w-7[data-size=lg]{min-width:calc(var(--spacing) * 7)}.data-\[size\=lg\]\:px-1\.5[data-size=lg]{padding-inline:calc(var(--spacing) * 1.5)}.data-\[size\=sm\]\:min-w-5[data-size=sm]{min-width:calc(var(--spacing) * 5)}.data-\[size\=sm\]\:px-0\.5[data-size=sm]{padding-inline:calc(var(--spacing) * .5)}.data-\[state\=active\]\:text-accent[data-state=active]{color:var(--color-accent)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-\[26px\][data-state=checked]{--tw-translate-x:26px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-checkbox-border--checked[data-state=checked]{border-color:var(--color-checkbox-border--checked)}.data-\[state\=checked\]\:border-radio-border--selected[data-state=checked]{border-color:var(--color-radio-border--selected)}.data-\[state\=checked\]\:bg-radio-bg[data-state=checked]{background-color:var(--color-radio-bg)}.data-\[state\=checked\]\:bg-switch-bg--checked[data-state=checked]{background-color:var(--color-switch-bg--checked)}.data-\[state\=checked\]\:bg-switch-thumb[data-state=checked]{background-color:var(--color-switch-thumb)}.data-\[state\=on\]\:border-toggle-border--active[data-state=on]{border-color:var(--color-toggle-border--active)}.data-\[state\=on\]\:bg-toggle-bg--active[data-state=on]{background-color:var(--color-toggle-bg--active)}.data-\[state\=on\]\:text-toggle-text--active[data-state=on]{color:var(--color-toggle-text--active)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-text-primary[data-state=open]{color:var(--color-text-primary)}.data-\[state\=unchecked\]\:bg-switch-bg[data-state=unchecked],.data-\[state\=unchecked\]\:bg-switch-bg\/50[data-state=unchecked]{background-color:var(--color-switch-bg)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=unchecked\]\:bg-switch-bg\/50[data-state=unchecked]{background-color:color-mix(in oklab, var(--color-switch-bg) 50%, transparent)}}.data-\[variant\=\'divided\'\]\:gap-0[data-variant=divided]{gap:calc(var(--spacing) * 0)}.data-\[variant\=\'divided\'\]\:\[--color-toggle-border\:var\(--color-toggle-outline-border\)\][data-variant=divided]{--color-toggle-border:var(--color-toggle-outline-border)}.data-\[variant\=\'outline\'\]\:gap-0[data-variant=outline]{gap:calc(var(--spacing) * 0)}.data-\[variant\=\'outline\'\]\:\[--color-toggle-border\:var\(--color-toggle-outline-border\)\][data-variant=outline]{--color-toggle-border:var(--color-toggle-outline-border)}.data-\[variant\=\'separated\'\]\:gap-1\.5[data-variant=separated]{gap:calc(var(--spacing) * 1.5)}.data-\[size\=\'lg\'\]\:data-\[variant\=\'separated\'\]\:gap-2[data-size=lg][data-variant=separated]{gap:calc(var(--spacing) * 2)}.data-\[size\=\'sm\'\]\:data-\[variant\=\'separated\'\]\:gap-1[data-size=sm][data-variant=separated]{gap:calc(var(--spacing) * 1)}.data-\[variant\=divided\]\:gap-0[data-variant=divided]{gap:calc(var(--spacing) * 0)}.data-\[variant\=divided\]\:border-toggle-border[data-variant=divided]{border-color:var(--color-toggle-border)}.data-\[variant\=divided\]\:\[--color-toggle-border\:var\(--color-toggle-outline-border\)\][data-variant=divided]{--color-toggle-border:var(--color-toggle-outline-border)}@media (hover:hover){.data-\[variant\=divided\]\:hover\:border-toggle-border[data-variant=divided]:hover{border-color:var(--color-toggle-border)}}.data-\[variant\=divided\]\:data-\[state\=on\]\:border-toggle-border--active[data-variant=divided][data-state=on]{border-color:var(--color-toggle-border--active)}@media (hover:hover){.data-\[variant\=divided\]\:data-\[state\=on\]\:hover\:border-toggle-border--active[data-variant=divided][data-state=on]:hover{border-color:var(--color-toggle-border--active)}}.data-\[variant\=outline\]\:gap-0[data-variant=outline]{gap:calc(var(--spacing) * 0)}.data-\[variant\=outline\]\:border-toggle-border[data-variant=outline]{border-color:var(--color-toggle-border)}.data-\[variant\=outline\]\:\[--color-toggle-border\:var\(--color-toggle-outline-border\)\][data-variant=outline]{--color-toggle-border:var(--color-toggle-outline-border)}@media (hover:hover){.data-\[variant\=outline\]\:hover\:border-toggle-border[data-variant=outline]:hover{border-color:var(--color-toggle-border)}}.data-\[variant\=outline\]\:data-\[state\=on\]\:border-toggle-border--active[data-variant=outline][data-state=on]{border-color:var(--color-toggle-border--active)}@media (hover:hover){.data-\[variant\=outline\]\:data-\[state\=on\]\:hover\:border-toggle-border--active[data-variant=outline][data-state=on]:hover{border-color:var(--color-toggle-border--active)}}.data-\[variant\=separated\]\:rounded-md[data-variant=separated]{border-radius:var(--radius-md)}.data-\[variant\=separated\]\:border-toggle-border[data-variant=separated]{border-color:var(--color-toggle-border)}@media (hover:hover){.data-\[variant\=separated\]\:hover\:border-toggle-border--hover[data-variant=separated]:hover{border-color:var(--color-toggle-border--hover)}}.data-\[variant\=separated\]\:data-\[state\=on\]\:border-toggle-border--active[data-variant=separated][data-state=on]{border-color:var(--color-toggle-border--active)}.data-\[variant\=separated\]\:data-\[state\=on\]\:bg-toggle-bg--active[data-variant=separated][data-state=on]{background-color:var(--color-toggle-bg--active)}@media (hover:hover){.data-\[variant\=separated\]\:data-\[state\=on\]\:hover\:border-toggle-border--active[data-variant=separated][data-state=on]:hover{border-color:var(--color-toggle-border--active)}.data-\[variant\=separated\]\:data-\[state\=on\]\:hover\:bg-toggle-bg--active[data-variant=separated][data-state=on]:hover{background-color:var(--color-toggle-bg--active)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-caret-blink{animation:var(--animate-caret-blink)}.motion-safe\:animate-pulse{animation:var(--animate-pulse)}.motion-safe\:animate-spin{animation:var(--animate-spin)}.motion-safe\:transition-\[left\,top\,opacity\,transform\]{transition-property:left,top,opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:transition-\[left\,top\,opacity\]{transition-property:left,top,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:duration-150{--tw-duration:.15s;transition-duration:.15s}.motion-safe\:duration-200{--tw-duration:.2s;transition-duration:.2s}.motion-safe\:duration-300{--tw-duration:.3s;transition-duration:.3s}.motion-safe\:ease-\[cubic-bezier\(0\.34\,1\.56\,0\.64\,1\)\]{--tw-ease:cubic-bezier(.34,1.56,.64,1);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.motion-safe\:animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.motion-safe\:duration-150{animation-duration:.15s}.motion-safe\:duration-200{animation-duration:.2s}.motion-safe\:duration-300{animation-duration:.3s}.motion-safe\:ease-\[cubic-bezier\(0\.34\,1\.56\,0\.64\,1\)\]{animation-timing-function:cubic-bezier(.34,1.56,.64,1)}.motion-safe\:fade-in,.motion-safe\:fade-in-0{--tw-enter-opacity:0}.motion-safe\:slide-in-from-top-2{--tw-enter-translate-y:-.5rem}.motion-safe\:slide-in-from-top-full{--tw-enter-translate-y:-100%}.motion-safe\:zoom-in-95{--tw-enter-scale:.95}.motion-safe\:data-closed\:animate-out[data-closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.motion-safe\:data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.motion-safe\:data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.motion-safe\:data-open\:animate-in[data-open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.motion-safe\:data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.motion-safe\:data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.motion-safe\:data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.motion-safe\:data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.motion-safe\:data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.motion-safe\:data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.motion-safe\:data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:var(--animate-accordion-up)}.motion-safe\:data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.motion-safe\:data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.motion-safe\:data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.motion-safe\:data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:var(--animate-accordion-down)}.motion-safe\:data-\[state\=open\]\:duration-200[data-state=open]{--tw-duration:.2s;transition-duration:.2s}.motion-safe\:data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.motion-safe\:data-\[state\=open\]\:duration-200[data-state=open]{animation-duration:.2s}.motion-safe\:data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.motion-safe\:data-\[state\=open\]\:slide-in-from-bottom-20[data-state=open]{--tw-enter-translate-y:5rem}.motion-safe\:data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.motion-safe\:data-\[state\=open\]\:zoom-in-100\![data-state=open]{--tw-enter-scale:1!important}}@media (prefers-reduced-motion:reduce){.motion-reduce\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:duration-0{--tw-duration:0s;transition-duration:0s;animation-duration:0s}}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}@media not all and (min-width:48rem){.sm\:max-md\:max-w-full{max-width:100%}}}@media (min-width:48rem){.md\:font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.md\:font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}}.peer-data-\[state\=checked\]\:rtl\:translate-x-full:is(:where(.peer)[data-state=checked]~*):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-data-\[state\=unchecked\]\:rtl\:-translate-x-6:is(:where(.peer)[data-state=unchecked]~*):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing) * -6);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:rtl\:-translate-x-4[data-state=checked]:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing) * -4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:rtl\:translate-x-\[-26px\][data-state=checked]:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-26px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&_\*\]\:min-w-0 *{min-width:calc(var(--spacing) * 0)}.data-\[variant\=\'divided\'\]\:\[\&_button\]\:border-y-0[data-variant=divided] button,.data-\[variant\=divided\]\:\[\&_button\]\:border-y-0[data-variant=divided] button{border-block-style:var(--tw-border-style);border-block-width:0}.\[\&_button\:first-of-type\]\:rounded-l-md button:first-of-type{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.data-\[variant\=\'divided\'\]\:\[\&_button\:first-of-type\]\:border-l-0[data-variant=divided] button:first-of-type,.data-\[variant\=divided\]\:\[\&_button\:first-of-type\]\:border-l-0[data-variant=divided] button:first-of-type{border-left-style:var(--tw-border-style);border-left-width:0}.\[\&_button\:last-of-type\]\:rounded-r-md button:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.data-\[variant\=\'divided\'\]\:\[\&_button\:last-of-type\]\:border-r-0[data-variant=divided] button:last-of-type,.data-\[variant\=divided\]\:\[\&_button\:last-of-type\]\:border-r-0[data-variant=divided] button:last-of-type{border-right-style:var(--tw-border-style);border-right-width:0}.data-\[variant\=\'divided\'\]\:\[\&_button\:not\(\:first-of-type\)\]\:border-l-0[data-variant=divided] button:not(:first-of-type),.data-\[variant\=\'outline\'\]\:\[\&_button\:not\(\:first-of-type\)\]\:border-l-0[data-variant=outline] button:not(:first-of-type){border-left-style:var(--tw-border-style);border-left-width:0}.data-\[variant\=\'divided\'\]\:\[\&_button\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-outline-divider\)\][data-variant=divided] button:not(:last-of-type),.data-\[variant\=\'outline\'\]\:\[\&_button\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-outline-divider\)\][data-variant=outline] button:not(:last-of-type),.data-\[variant\=divided\]\:\[\&_button\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-outline-divider\)\][data-variant=divided] button:not(:last-of-type),.data-\[variant\=outline\]\:\[\&_button\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-outline-divider\)\][data-variant=outline] button:not(:last-of-type){border-right-color:var(--color-toggle-outline-divider)}.data-\[variant\=\'divided\'\]\:\[\&_button\[data-state\=\'on\'\]\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-border--active\)\][data-variant=divided] button[data-state=on]:not(:last-of-type),.data-\[variant\=\'outline\'\]\:\[\&_button\[data-state\=\'on\'\]\:not\(\:last-of-type\)\]\:\[border-right-color\:var\(--color-toggle-border--active\)\][data-variant=outline] button[data-state=on]:not(:last-of-type){border-right-color:var(--color-toggle-border--active)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_p\]\:text-alert-danger-text p{color:var(--color-alert-danger-text)}.\[\&_p\]\:text-alert-info-text p{color:var(--color-alert-info-text)}.\[\&_p\]\:text-alert-success-text p{color:var(--color-alert-success-text)}.\[\&_p\]\:text-alert-text p{color:var(--color-alert-text)}.\[\&_p\]\:text-alert-warning-text p{color:var(--color-alert-warning-text)}.\[\&_span\]\:rounded-\[4px\] span{border-radius:4px}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\:not\(\[width\]\)\:not\(\[height\]\)\]\:size-3 svg:not([class*=size-]):not([width]):not([height]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\:not\(\[width\]\)\:not\(\[height\]\)\]\:size-4 svg:not([class*=size-]):not([width]):not([height]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\:not\(\[width\]\)\:not\(\[height\]\)\]\:size-5 svg:not([class*=size-]):not([width]):not([height]){width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\:not\(\:first-child\)\]\:border-l-0:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\]\:min-w-0>*{min-width:calc(var(--spacing) * 0)}.\[\&\>\*\]\:focus-visible\:relative>:focus-visible{position:relative}.\[\&\>\*\]\:focus-visible\:z-10>:focus-visible{z-index:10}.\[\&\>\*\:last-child\]\:-ms-0\.5>:last-child{margin-inline-start:calc(var(--spacing) * -.5)}.\[\&\>\*\:last-child\]\:-mt-0\.5>:last-child{margin-top:calc(var(--spacing) * -.5)}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\]\:border-y-0[data-variant=divided]>[data-slot=button-group-item]{border-block-style:var(--tw-border-style);border-block-width:0}.data-\[orientation\=\'vertical\'\]\:data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\]\:border-x-0[data-orientation=vertical][data-variant=divided]>[data-slot=button-group-item]{border-inline-style:var(--tw-border-style);border-inline-width:0}.data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\:first-of-type\]\:border-l-0[data-variant=divided]>[data-slot=button-group-item]:first-of-type{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[orientation\=\'vertical\'\]\:data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\:first-of-type\]\:border-t-0[data-orientation=vertical][data-variant=divided]>[data-slot=button-group-item]:first-of-type{border-top-style:var(--tw-border-style);border-top-width:0}.data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\:last-of-type\]\:border-r-0[data-variant=divided]>[data-slot=button-group-item]:last-of-type{border-right-style:var(--tw-border-style);border-right-width:0}.data-\[orientation\=\'vertical\'\]\:data-\[variant\=\'divided\'\]\:\[\&\>\[data-slot\=button-group-item\]\:last-of-type\]\:border-b-0[data-orientation=vertical][data-variant=divided]>[data-slot=button-group-item]:last-of-type{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.\[\&\>input\]\:flex-1>input{flex:1}.\[\&\>span\]\:block>span{display:block}.\[\&\>span\]\:min-w-0>span{min-width:calc(var(--spacing) * 0)}.\[\&\>span\]\:overflow-hidden>span{overflow:hidden}.\[\&\>span\]\:text-ellipsis>span{text-overflow:ellipsis}.\[\&\>span\]\:whitespace-nowrap>span{white-space:nowrap}.\[\&\>span\[data-placeholder\]\]\:text-input-text-placeholder\!>span[data-placeholder]{color:var(--color-input-text-placeholder)!important}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-6>svg{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--color-accent)}a.\[a\&\]\:hover\:bg-badge-primary-bg--hover:hover{background-color:var(--color-badge-primary-bg--hover)}a.\[a\&\]\:hover\:bg-danger-400:hover{background-color:var(--color-danger-400)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);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))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);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))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
4
4
|
}
|