{"version":3,"sources":["../src/components/forward-ref.ts","../src/components/memo.ts","../src/pseudos.ts","../src/config/index.ts","../src/config/animation.ts","../src/config/utils.ts","../src/config/at-rule.ts","../src/config/calc.ts","../src/config/color-mix.ts","../src/config/filter.ts","../src/config/function.ts","../src/config/gradient.ts","../src/config/grid.ts","../src/config/styles.ts","../src/config/token.ts","../src/config/transform.ts","../src/config/vars.ts","../src/constant.ts","../src/styles.ts","../src/components/should-forward-prop.ts","../src/components/use-component-style.tsx","../src/css/breakpoint.ts","../src/css/css.ts","../src/css/use-css.ts","../src/css/use-var.ts","../src/css/var.ts","../src/providers/color-mode-script.tsx","../src/providers/color-mode-manager.ts","../src/providers/color-mode-provider.tsx","../src/providers/environment-provider.tsx","../src/providers/provider-utils.ts","../src/providers/color-mode-utils.ts","../src/providers/i18n-cache.ts","../src/providers/i18n-provider.tsx","../src/providers/theme-script.tsx","../src/providers/theme-manager.ts","../src/providers/theme-provider.tsx","../src/theme.ts","../src/styled.ts","../src/factory.ts"],"sourcesContent":["import type { Merge } from \"@yamada-ui/utils\"\nimport type { As, Component, WithoutAs } from \"./component.types\"\nimport * as React from \"react\"\n\nexport function forwardRef<Y extends object, M extends As>(\n  render: React.ForwardRefRenderFunction<\n    any,\n    { as?: As } & Merge<React.ComponentPropsWithoutRef<M>, WithoutAs<Y>>\n  >,\n) {\n  return React.forwardRef(\n    render as React.ForwardRefRenderFunction<any>,\n  ) as unknown as Component<M, Y>\n}\n","import type { ComponentArgs } from \"./component.types\"\nimport * as React from \"react\"\n\nexport function memo<Y extends object>(\n  Component: React.FunctionComponent<Y>,\n  propsAreEqual?: (prevProps: Readonly<Y>, nextProps: Readonly<Y>) => boolean,\n): ComponentArgs & React.NamedExoticComponent<Y>\n\nexport function memo<Y extends React.ComponentType<any>>(\n  Component: Y,\n  propsAreEqual?: (\n    prevProps: Readonly<React.ComponentProps<Y>>,\n    nextProps: Readonly<React.ComponentProps<Y>>,\n  ) => boolean,\n) {\n  return React.memo<Y>(Component, propsAreEqual) as unknown as ComponentArgs &\n    React.MemoExoticComponent<Y>\n}\n","import type { Length, Replace } from \"@yamada-ui/utils\"\nimport type { CSSUIObject } from \"./css\"\n\ntype ReplaceSelectors<\n  Y extends string[],\n  M extends string,\n  D extends string,\n  H extends string,\n> = Y extends [infer R extends string, ...infer T extends string[]]\n  ? `${Replace<Replace<M, D, R>, \",\", `${H},`>}${Length<T> extends 0 ? \"\" : `${H}, `}${ReplaceSelectors<T, M, D, H>}`\n  : H\n\nconst toGroup = <Y extends string>(selectors: Y) =>\n  [\"[role=group]\", \"[data-group]\", \".group\"]\n    .map((prefix) => merge(parse(selectors), prefix, \" &\"))\n    .join(\", \") as ReplaceSelectors<\n    [\"[role=group]\", \"[data-group]\", \".group\"],\n    Y,\n    \"&\",\n    \" &\"\n  >\n\nconst toPeer = <Y extends string>(selectors: Y) =>\n  [\"[data-peer]\", \".peer\"]\n    .map((prefix) => merge(parse(selectors), prefix, \" ~ &\"))\n    .join(\", \") as ReplaceSelectors<[\"[data-peer]\", \".peer\"], Y, \"&\", \" ~ &\">\n\nconst parse = (selectors: string) =>\n  selectors.split(\",\").map((selector) => selector.trim().slice(1))\n\nconst merge = (selectors: string[], prefix = \"&\", suffix = \"\") =>\n  selectors.map((selector) => `${prefix}${selector}${suffix}`).join(\", \")\n\nexport const attributes = {\n  /**\n   * The CSS `[data-accept]` attribute selector.\n   */\n  _accept: \"&[data-accept]\",\n  /**\n   * The CSS `[data-between]` attribute selector.\n   */\n  _between: \"&[data-between]\",\n  /**\n   * The CSS `[data-end]` attribute selector.\n   */\n  _end: \"&[data-end]\",\n  /**\n   * The CSS `[aria-selected=true]` attribute selector.\n   *\n   * - `[aria-expanded=true]`\n   * - `[data-expanded]`\n   */\n  _expanded: \"&[data-expanded], &[aria-expanded=true]\",\n  /**\n   * The CSS `[data-filled]` attribute selector.\n   */\n  _filled: \"&[data-filled]\",\n  /**\n   * The CSS `[data-grabbed]` attribute selector.\n   *\n   * - `[data-grabbed]`\n   * - `[aria-grabbed=true]`\n   */\n  _grabbed: \"&[data-grabbed], &[aria-grabbed=true]\",\n  /**\n   * The CSS `[data-grid]` attribute selector.\n   */\n  _grid: \"[role=grid], &[data-grid]\",\n  /**\n   * The CSS `[hidden]` attribute selector.\n   *\n   * - `[hidden]`\n   * - `[data-hidden]`\n   */\n  _hidden: \"&[hidden], &[data-hidden]\",\n  /**\n   * The CSS `[data-holiday]` attribute selector.\n   */\n  _holiday: \"&[data-holiday]\",\n  /**\n   * The CSS `[data-idle]` attribute selector.\n   */\n  _idle: \"&[data-idle]\",\n  /**\n   * The CSS `[data-loaded]` attribute selector.\n   */\n  _loaded: \"&[data-loaded]\",\n  /**\n   * The CSS `[aria-busy=true]` attribute selector.\n   *\n   * - `[data-loading]`\n   * - `[aria-busy=true]`\n   */\n  _loading: \"&[data-loading], &[aria-busy=true]\",\n  /**\n   * The CSS `[hidden]` attribute selector.\n   */\n  _nativeHidden: \"&[hidden]\",\n  /**\n   * The CSS `[data-not-allowed]` attribute selector.\n   *\n   * - `[data-not-allowed]`\n   */\n  _notAllowed: \"&[data-not-allowed]\",\n  /**\n   * The CSS `:not(:selected)` attribute selector.\n   *\n   * - `:not([data-selected])`\n   * - `:not([aria-selected=true])`\n   */\n  _notSelected: \"&:not([data-selected]):not([aria-selected=true])\",\n  /**\n   * The CSS `:where([data-outside])` attribute selector.\n   */\n  _outside: \"&:where([data-outside])\",\n  /**\n   * The CSS `[data-pressed]` attribute selector.\n   *\n   * - `[data-pressed]`\n   * - `[aria-pressed=true]`\n   */\n  _pressed: \"&[data-pressed], &[aria-pressed=true]\",\n  /**\n   * The CSS `[data-reject]` attribute selector.\n   */\n  _reject: \"&[data-reject]\",\n  _ripple: \"& .ui-ripple\",\n  /**\n   * The CSS `:selected` attribute selector.\n   *\n   * - `[data-selected]`\n   * - `[aria-selected=true]`\n   */\n  _selected: \"&[data-selected], &[aria-selected=true]\",\n  /**\n   * The CSS `[data-start]` attribute selector.\n   */\n  _start: \"&[data-start]\",\n  /**\n   * The CSS `[data-today]` attribute selector.\n   */\n  _today: \"&[data-today]\",\n  /**\n   * The CSS `:where([data-weekend])` attribute selector.\n   */\n  _weekend: \"&:where([data-weekend])\",\n} as const\n\nexport type Attributes = typeof attributes\nexport type AttributeProperty = keyof Attributes\nexport type AttributeSelector = Attributes[AttributeProperty]\nexport type AttributeProps = {\n  [K in AttributeProperty]?: CSSUIObject\n}\n\nexport const attributeProperties = Object.keys(\n  attributes,\n) as AttributeProperty[]\nexport const attributeSelectors = Object.values(attributes)\n\nexport const pseudoElements = {\n  /**\n   * The CSS `::after` pseudo-element.\n   */\n  _after: \"&::after\",\n  /**\n   * The CSS `::backdrop` pseudo-element.\n   */\n  _backdrop: \"&::backdrop\",\n  /**\n   * The CSS `::before` pseudo-element.\n   */\n  _before: \"&::before\",\n  /**\n   * The CSS `::cue` pseudo-element.\n   */\n  _cue: \"&::cue\",\n  /**\n   * The CSS `::cue-region` pseudo-element.\n   */\n  _cueRegion: \"&::cue-region\",\n  /**\n   * The CSS `::file-selector-button` pseudo-element.\n   */\n  _fileSelector: \"&::file-selector-button\",\n  /**\n   * The CSS `::first-letter` pseudo-element.\n   */\n  _firstLetter: \"&::first-letter\",\n  /**\n   * The CSS `::first-line` pseudo-element.\n   */\n  _firstLine: \"&::first-line\",\n  /**\n   * The CSS `::marker` pseudo-element.\n   */\n  _marker: \"&::marker\",\n  /**\n   * The CSS `::placeholder` pseudo-element.\n   *\n   * - `::placeholder`\n   * - `[data-placeholder]`\n   */\n  _placeholder: \"&::placeholder, &[data-placeholder]\",\n  /**\n   * The CSS `::-webkit-scrollbar` pseudo-element.\n   *\n   * - `::-webkit-scrollbar`\n   * - `[data-scrollbar]`\n   */\n  _scrollbar: \"&::-webkit-scrollbar, &[data-scrollbar]\",\n  /**\n   * The CSS `::-webkit-scrollbar-button` pseudo-element.\n   */\n  _scrollbarButton: \"&::-webkit-scrollbar-button\",\n  /**\n   * The CSS `::-webkit-scrollbar-corner` pseudo-element.\n   */\n  _scrollbarCorner: \"&::-webkit-scrollbar-corner\",\n  /**\n   * The CSS `::-webkit-scrollbar-thumb` pseudo-element.\n   */\n  _scrollbarThumb: \"&::-webkit-scrollbar-thumb\",\n  /**\n   * The CSS `::-webkit-scrollbar-track` pseudo-element.\n   */\n  _scrollbarTrack: \"&::-webkit-scrollbar-track\",\n  /**\n   * The CSS `::-webkit-scrollbar-track-piece` pseudo-element.\n   */\n  _scrollbarTrackPiece: \"&::-webkit-scrollbar-track-piece\",\n  /**\n   * The CSS `::selection` pseudo-element.\n   */\n  _selection: \"&::selection\",\n} as const\n\nexport type PseudoElements = typeof pseudoElements\nexport type PseudoElementProperty = keyof PseudoElements\nexport type PseudoElementSelector = PseudoElements[PseudoElementProperty]\nexport type PseudoElementProps = {\n  [K in PseudoElementProperty]?: CSSUIObject\n}\n\nexport const pseudoElementProperties = Object.keys(\n  pseudoElements,\n) as PseudoElementProperty[]\nexport const pseudoElementSelectors = Object.values(pseudoElements)\n\nexport const pseudoClasses = {\n  /**\n   * The CSS `:active` pseudo-class.\n   *\n   * - `:active`\n   * - `[data-active]`\n   */\n  _active: \"&:active, &[data-active]\",\n  /**\n   * The CSS `:any-link` pseudo-class.\n   *\n   * - `:any-link`\n   * - `[data-any-link]`\n   */\n  _anyLink: \"&:any-link, &[data-any-link]\",\n  /**\n   * The CSS `:autofill` pseudo-class.\n   */\n  _autofill: \"&:autofill, &:-webkit-autofill\",\n  /**\n   * The CSS `:blank` pseudo-class.\n   *\n   * - `:blank`\n   * - `[data-blank]`\n   */\n  _blank: \"&:blank, &[data-blank]\",\n  /**\n   * The CSS `:checked` pseudo-class.\n   *\n   * - `:checked`\n   * - `[data-checked]`\n   * - `[aria-checked=true]`\n   */\n  _checked: \"&:checked, &[data-checked], &[aria-checked=true]\",\n  /**\n   * The CSS `> *` child combinator selector.\n   */\n  _child: \"& > *\",\n  /**\n   * The CSS `:default` pseudo-class.\n   */\n  _default: \"&:default\",\n  /**\n   * The CSS `:disabled` pseudo-class.\n   *\n   * - `:disabled`\n   * - `[disabled]`\n   * - `[aria-disabled=true]`\n   * - `[data-disabled]`\n   */\n  _disabled: \"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]\",\n  /**\n   * The CSS `:empty` pseudo-class.\n   */\n  _empty: \"&:empty\",\n  /**\n   * The CSS `:enabled` pseudo-class.\n   */\n  _enabled: \"&:enabled, &[data-enabled]\",\n  /**\n   * The CSS `:nth-of-type(even)` pseudo-class.\n   */\n  _even: \"&:nth-of-type(even)\",\n  /**\n   * The CSS `:first-of-type` pseudo-class.\n   */\n  _first: \"&:first-of-type\",\n  /**\n   * The CSS `:first-child` pseudo-class.\n   */\n  _firstChild: \"& > *:first-child\",\n  /**\n   * The CSS `:focus` pseudo-class.\n   *\n   * - `:focus`\n   * - `[data-focus]`\n   */\n  _focus: \"&:focus, &[data-focus]\",\n  /**\n   * The CSS `:focus-visible` pseudo-class.\n   *\n   * - `:focus-visible`\n   * - `[data-focus-visible]`\n   */\n  _focusVisible: \"&:focus-visible, &[data-focus-visible]\",\n  /**\n   * The CSS `:focus-within` pseudo-class.\n   *\n   * - `:focus-within`\n   * - `[data-focus-within]`\n   */\n  _focusWithin: \"&:focus-within, &[data-focus-within]\",\n  /**\n   * The CSS `:fullscreen` pseudo-class.\n   */\n  _fullScreen: \"&:fullscreen\",\n  /**\n   * The CSS `:horizontal` pseudo-class.\n   *\n   * - `[aria-orientation=horizontal]`\n   * - `[data-orientation=horizontal]`\n   */\n  _horizontal: \"&[data-orientation=horizontal], &[aria-orientation=horizontal]\",\n  /**\n   * The CSS `:hover` pseudo-class.\n   *\n   * - `:hover`\n   * - `[data-hover]`\n   */\n  _hover: \"&:hover, &[data-hover]\",\n  /**\n   * The CSS `:indeterminate` pseudo-class.\n   *\n   * - `:indeterminate`\n   * - `[aria-checked=mixed]`\n   * - `[data-indeterminate]`\n   */\n  _indeterminate:\n    \"&:indeterminate, &[data-indeterminate], &[aria-checked=mixed]\",\n  /**\n   * The CSS `:in-range` pseudo-class.\n   *\n   * - `:in-range`\n   * - `[data-in-range]`\n   */\n  _inRange: \"&:in-range, &[data-in-range]\",\n  /**\n   * The CSS `:invalid` attribute selector.\n   *\n   * - `[data-invalid]`\n   * - `[aria-invalid=true]`\n   */\n  _invalid: \"&[data-invalid], &[aria-invalid=true]\",\n  /**\n   * The CSS `:last-of-type` pseudo-class.\n   */\n  _last: \"&:last-of-type\",\n  /**\n   * The CSS `:last-child` pseudo-class.\n   */\n  _lastChild: \"& > *:last-child\",\n  /**\n   * The CSS `:link` pseudo-class.\n   *\n   * - `:link`\n   * - `[data-link]`\n   */\n  _link: \"&:link, &[data-link]\",\n  /**\n   * The CSS `:modal` pseudo-class.\n   */\n  _modal: \"&:modal\",\n  /**\n   * The CSS `:active` pseudo-class.\n   */\n  _nativeActive: \"&:active\",\n  /**\n   * The CSS `:checked` pseudo-class.\n   */\n  _nativeChecked: \"&:checked\",\n  /**\n   * The CSS `:disabled` pseudo-class.\n   *\n   * - `:disabled`\n   * - `[disabled]`\n   */\n  _nativeDisabled: \"&:disabled, &[disabled]\",\n  /**\n   * The CSS `:focus` pseudo-class.\n   */\n  _nativeFocus: \"&:focus\",\n  /**\n   * The CSS `:focus-visible` pseudo-class.\n   */\n  _nativeFocusVisible: \"&:focus-visible\",\n  /**\n   * The CSS `:focus-within` pseudo-class.\n   */\n  _nativeFocusWithin: \"&:focus-within\",\n  /**\n   * The CSS `:hover` pseudo-class.\n   */\n  _nativeHover: \"&:hover\",\n  /**\n   * The CSS `:read-only` pseudo-class.\n   *\n   * - `[readonly]`\n   * - `[aria-readonly=true]`\n   */\n  _nativeReadOnly: \"&[readonly], &[aria-readonly=true]\",\n  /**\n   * The CSS `:target` pseudo-class.\n   */\n  _nativeTarget: \"&:target\",\n  /**\n   * The CSS `:valid` pseudo-class.\n   */\n  _nativeValid: \"&:valid\",\n  /**\n   * The CSS `:checked` pseudo-class.\n   *\n   * - `:not(:checked)`\n   * - `:not([data-checked])`\n   * - `:not([aria-checked=true])`\n   */\n  _notChecked: \"&:not(:checked):not([data-checked]):not([aria-checked=true])\",\n  /**\n   * The CSS `:not(:first-of-type)` pseudo-class.\n   */\n  _notFirst: \"&:not(:first-of-type)\",\n  /**\n   * The CSS `:not(:first-child)` pseudo-class.\n   */\n  _notFirstChild: \"& > *:not(:first-child)\",\n  /**\n   * The CSS `:not(:last-of-type)` pseudo-class.\n   */\n  _notLast: \"&:not(:last-of-type)\",\n  /**\n   * The CSS `:not(:last-child)` pseudo-class.\n   */\n  _notLastChild: \"& > *:not(:last-child)\",\n  /**\n   * The CSS `:not(:target)` pseudo-class.\n   */\n  _notTarget: \"&:not(:target)\",\n  /**\n   * The CSS `:nth-of-type(odd)` pseudo-class.\n   */\n  _odd: \"&:nth-of-type(odd)\",\n  /**\n   * The CSS `:only-of-type` pseudo-class.\n   */\n  _only: \"&:only-of-type\",\n  /**\n   * The CSS `:optional` pseudo-class.\n   *\n   * - `:optional`\n   * - `[data-optional]`\n   */\n  _optional: \"&:optional, &[data-optional]\",\n  /**\n   * The CSS `:out-of-range` pseudo-class.\n   *\n   * - `:out-of-range`\n   * - `[data-out-of-range]`\n   */\n  _outRange: \"&:out-of-range, &[data-out-of-range]\",\n  /**\n   * The CSS `:paused` pseudo-class.\n   *\n   * - `:paused`\n   * - `[data-paused]`\n   */\n  _paused: \"&:paused, &[data-paused]\",\n  /**\n   * The CSS `:picture-in-picture` pseudo-class.\n   */\n  _picture: \"&:picture-in-picture\",\n  /**\n   * The CSS `:placeholder-shown` pseudo-class.\n   */\n  _placeholderShown: \"&:placeholder-shown\",\n  /**\n   * The CSS `:playing` pseudo-class.\n   *\n   * - `:playing`\n   * - `[data-playing]`\n   */\n  _playing: \"&:playing, &[data-playing]\",\n  /**\n   * The CSS `:read-only` pseudo-class.\n   *\n   * - `[readonly]`\n   * - `[aria-readonly=true]`\n   * - `[data-readonly]`\n   */\n  _readOnly: \"&[readonly], &[data-readonly], &[aria-readonly=true]\",\n  /**\n   * The CSS `:read-write` pseudo-class.\n   *\n   * - `:read-write`\n   * - `[data-read-write]`\n   */\n  _readWrite: \"&:read-write, &[data-read-write]\",\n  /**\n   * The CSS `:required` pseudo-class.\n   *\n   * - `:required`\n   * - `[required]`\n   */\n  _required: \"&:required, &[required]\",\n  /**\n   * The CSS `:target` pseudo-class.\n   *\n   * - `:target`\n   * - `[data-target]`\n   */\n  _target: \"&:target, &[data-target]\",\n  /**\n   * The CSS `:user-invalid` pseudo-class.\n   *\n   * - `:user-invalid`\n   * - `[data-user-invalid]`\n   */\n  _userInvalid: \"&:user-invalid, &[data-user-invalid]\",\n  /**\n   * The CSS `:valid` pseudo-class.\n   *\n   * - `:valid`\n   * - `[data-valid]`\n   */\n  _valid: \"&:valid, &[data-valid]\",\n  /**\n   * The CSS `:vertical` pseudo-class.\n   *\n   * - `[aria-orientation=vertical]`\n   * - `[data-orientation=vertical]`\n   */\n  _vertical: \"&[data-orientation=vertical], &[aria-orientation=vertical]\",\n  /**\n   * The CSS `:visited` pseudo-class.\n   */\n  _visited: \"&:visited\",\n} as const\n\nexport type PseudoClasses = typeof pseudoClasses\nexport type PseudoClassProperty = keyof PseudoClasses\nexport type PseudoClassSelector = PseudoClasses[PseudoClassProperty]\nexport type PseudoClassProps = {\n  [K in PseudoClassProperty]?: CSSUIObject\n}\n\nexport const pseudoClassProperties = Object.keys(\n  pseudoClasses,\n) as PseudoClassProperty[]\nexport const pseudoClassSelectors = Object.values(pseudoClasses)\n\nexport const atRules = {\n  /**\n   * Styles for when `data-mode` is applied to any parent of this component or element.\n   */\n  _dark:\n    \".ui-dark &:not([data-mode]), [data-mode=dark] &:not([data-mode]), &[data-mode=dark]\",\n  /**\n   * The CSS `@media (orientation: landscape)` media query.\n   */\n  _landscape: \"@media (orientation: landscape)\",\n  /**\n   * Styles for when `data-mode` is applied to any parent of this component or element.\n   */\n  _light:\n    \".ui-light &:not([data-mode]), [data-mode=light] &:not([data-mode]), &[data-mode=light]\",\n  /**\n   * The CSS `@media (prefers-color-scheme: dark)` media query.\n   */\n  _mediaDark: \"@media (prefers-color-scheme: dark)\",\n  /**\n   * The CSS `@media (prefers-color-scheme: light)` media query.\n   */\n  _mediaLight: \"@media (prefers-color-scheme: light)\",\n  /**\n   * The CSS `@media (prefers-reduced-motion: reduce)` media query.\n   */\n  _mediaReduceMotion: \"@media (prefers-reduced-motion: reduce)\",\n  /**\n   * The CSS `@media (orientation: portrait)` media query.\n   */\n  _portrait: \"@media (orientation: portrait)\",\n  /**\n   * The CSS `@media print` media query.\n   */\n  _print: \"@media print\",\n} as const\n\nexport type AtRules = typeof atRules\nexport type AtRuleProperty = keyof AtRules\nexport type AtRuleSelector = AtRules[AtRuleProperty]\nexport type AtRuleProps = {\n  [K in keyof AtRules]?: CSSUIObject\n}\n\nexport const atRuleProperties = Object.keys(atRules) as AtRuleProperty[]\nexport const atRuleSelectors = Object.values(atRules)\n\nexport const groupAttributes = {\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is accepted.\n   */\n  _groupAccept: toGroup(attributes._accept),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is active.\n   */\n  _groupActive: toGroup(pseudoClasses._active),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is blank.\n   */\n  _groupBlank: toGroup(pseudoClasses._blank),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is checked.\n   */\n  _groupChecked: toGroup(pseudoClasses._checked),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is disabled.\n   */\n  _groupDisabled: toGroup(pseudoClasses._disabled),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is enabled.\n   */\n  _groupEnabled: toGroup(pseudoClasses._enabled),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is expanded.\n   */\n  _groupExpanded: toGroup(attributes._expanded),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is focused.\n   */\n  _groupFocus: toGroup(pseudoClasses._focus),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is focused-visible.\n   */\n  _groupFocusVisible: toGroup(pseudoClasses._focusVisible),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is focus-within.\n   */\n  _groupFocusWithin: toGroup(pseudoClasses._focusWithin),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is grabbed.\n   */\n  _groupGrabbed: toGroup(attributes._grabbed),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is horizontal.\n   */\n  _groupHorizontal: toGroup(pseudoClasses._horizontal),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is hovered.\n   */\n  _groupHover: toGroup(pseudoClasses._hover),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is idle.\n   */\n  _groupIdle: toGroup(attributes._idle),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is invalid.\n   */\n  _groupInvalid: toGroup(pseudoClasses._invalid),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is loaded.\n   */\n  _groupLoaded: toGroup(attributes._loaded),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is loading.\n   */\n  _groupLoading: toGroup(attributes._loading),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is optional.\n   */\n  _groupOptional: toGroup(pseudoClasses._optional),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` has a placeholder shown.\n   */\n  _groupPlaceholderShown: toGroup(pseudoClasses._placeholderShown),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is pressed.\n   */\n  _groupPressed: toGroup(attributes._pressed),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is read-only.\n   */\n  _groupReadOnly: toGroup(pseudoClasses._readOnly),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is read-write.\n   */\n  _groupReadWrite: toGroup(pseudoClasses._readWrite),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is rejected.\n   */\n  _groupReject: toGroup(attributes._reject),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is required.\n   */\n  _groupRequired: toGroup(pseudoClasses._required),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is selected.\n   */\n  _groupSelected: toGroup(attributes._selected),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is user-invalid.\n   */\n  _groupUserInvalid: toGroup(pseudoClasses._userInvalid),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is valid.\n   */\n  _groupValid: toGroup(pseudoClasses._valid),\n  /**\n   * Styles to apply when a parent element with `role=group`, `data-group` or `.group` is vertical.\n   */\n  _groupVertical: toGroup(pseudoClasses._vertical),\n} as const\n\nexport type GroupAttributes = typeof groupAttributes\nexport type GroupAttributeProperty = keyof GroupAttributes\nexport type GroupAttributeSelector = GroupAttributes[GroupAttributeProperty]\nexport type GroupAttributeProps = {\n  [K in GroupAttributeProperty]?: CSSUIObject\n}\n\nexport const groupAttributeProperties = Object.keys(\n  groupAttributes,\n) as GroupAttributeProperty[]\nexport const groupAttributeSelectors = Object.values(groupAttributes)\n\nexport const peerAttributes = {\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is accepted.\n   */\n  _peerAccept: toPeer(attributes._accept),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is active.\n   */\n  _peerActive: toPeer(pseudoClasses._active),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is blank.\n   */\n  _peerBlank: toPeer(pseudoClasses._blank),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is checked.\n   */\n  _peerChecked: toPeer(pseudoClasses._checked),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is disabled.\n   */\n  _peerDisabled: toPeer(pseudoClasses._disabled),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is enabled.\n   */\n  _peerEnabled: toPeer(pseudoClasses._enabled),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is expanded.\n   */\n  _peerExpanded: toPeer(attributes._expanded),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is focused.\n   */\n  _peerFocus: toPeer(pseudoClasses._focus),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is focused-visible.\n   */\n  _peerFocusVisible: toPeer(pseudoClasses._focusVisible),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is focus-within.\n   */\n  _peerFocusWithin: toPeer(pseudoClasses._focusWithin),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is grabbed.\n   */\n  _peerGrabbed: toPeer(attributes._grabbed),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is horizontal.\n   */\n  _peerHorizontal: toPeer(pseudoClasses._horizontal),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is hovered.\n   */\n  _peerHover: toPeer(pseudoClasses._hover),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is idle.\n   */\n  _peerIdle: toPeer(attributes._idle),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is invalid.\n   */\n  _peerInvalid: toPeer(pseudoClasses._invalid),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is loaded.\n   */\n  _peerLoaded: toPeer(attributes._loaded),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is loading.\n   */\n  _peerLoading: toPeer(attributes._loading),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is optional.\n   */\n  _peerOptional: toPeer(pseudoClasses._optional),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` has a placeholder shown.\n   */\n  _peerPlaceholderShown: toPeer(pseudoClasses._placeholderShown),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is pressed.\n   */\n  _peerPressed: toPeer(attributes._pressed),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is read-only.\n   */\n  _peerReadOnly: toPeer(pseudoClasses._readOnly),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is read-write.\n   */\n  _peerReadWrite: toPeer(pseudoClasses._readWrite),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is rejected.\n   */\n  _peerReject: toPeer(attributes._reject),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is required.\n   */\n  _peerRequired: toPeer(pseudoClasses._required),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is selected.\n   */\n  _peerSelected: toPeer(attributes._selected),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is user-invalid.\n   */\n  _peerUserInvalid: toPeer(pseudoClasses._userInvalid),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is valid.\n   */\n  _peerValid: toPeer(pseudoClasses._valid),\n  /**\n   * Styles to apply when a parent element with `data-peer` or `.peer` is vertical.\n   */\n  _peerVertical: toPeer(pseudoClasses._vertical),\n} as const\n\nexport type PeerAttributes = typeof peerAttributes\nexport type PeerAttributeProperty = keyof PeerAttributes\nexport type PeerAttributeSelector = PeerAttributes[PeerAttributeProperty]\nexport type PeerAttributeProps = {\n  [K in PeerAttributeProperty]?: CSSUIObject\n}\n\nexport const peerAttributeProperties = Object.keys(\n  peerAttributes,\n) as PeerAttributeProperty[]\nexport const peerAttributeSelectors = Object.values(peerAttributes)\n\nexport const pseudos = {\n  ...pseudoElements,\n  ...attributes,\n  ...pseudoClasses,\n  ...atRules,\n  ...groupAttributes,\n  ...peerAttributes,\n} as const\n\nexport type Pseudos = typeof pseudos\nexport type PseudoProperty = keyof Pseudos\nexport type PseudoSelector = Pseudos[PseudoProperty]\nexport type PseudoProps = {\n  [K in keyof Pseudos]?: CSSUIObject\n}\n\nexport const pseudoProperties = Object.keys(pseudos) as PseudoProperty[]\nexport const pseudoSelectors = Object.values(pseudos)\n","import type { CSSObject } from \"@emotion/react\"\nimport type { Union } from \"@yamada-ui/utils\"\nimport type * as CSS from \"csstype\"\nimport type { ThemeToken } from \"../theme\"\nimport type { StyledTheme } from \"../theme.types\"\nimport type { Transform } from \"./utils\"\nimport { isNumber, isObject } from \"@yamada-ui/utils\"\nimport { animation } from \"./animation\"\nimport { generateAtRule } from \"./at-rule\"\nimport { generateCalc } from \"./calc\"\nimport { colorMix } from \"./color-mix\"\nimport { generateFilter } from \"./filter\"\nimport { generateFunction } from \"./function\"\nimport { gradient } from \"./gradient\"\nimport { grid } from \"./grid\"\nimport { generateStyles } from \"./styles\"\nimport { generateToken } from \"./token\"\nimport { transform } from \"./transform\"\nimport { analyzeCSSValue, isCSSVar, keyframes, mode } from \"./utils\"\nimport { vars } from \"./vars\"\n\nexport { animation, gradient, keyframes, mode }\n\ntype CSSProperties = Union<\n  | keyof CSS.ObsoleteProperties\n  | keyof CSS.StandardProperties\n  | keyof CSS.SvgProperties\n>\n\nexport interface StyleConfig {\n  isProcessResult?: boolean\n  isProcessSkip?: boolean\n  properties?:\n    | ((theme: StyledTheme) => CSSProperties)\n    | CSSProperties\n    | CSSProperties[]\n  static?: CSSObject\n  token?: ThemeToken\n  transform?: Transform\n}\n\nexport interface StyleConfigs {\n  [key: string]: StyleConfig | true\n}\n\nexport const transforms = {\n  animation,\n  bgClip: (value: any) => {\n    if (value === \"text\") {\n      return { backgroundClip: \"text\", color: \"transparent\" }\n    } else {\n      return { backgroundClip: value }\n    }\n  },\n  calc: generateCalc,\n  colorMix,\n  container: generateAtRule(\"container\"),\n  content: (value: any) => {\n    if (isObject(value)) {\n      return { content: \"''\", ...value }\n    } else {\n      return value\n    }\n  },\n  deg: (value: any) => {\n    if (isCSSVar(value) || value == null) return value\n\n    const isUnitless = typeof value === \"string\" && !value.endsWith(\"deg\")\n\n    return isUnitless || isNumber(value) ? `${value}deg` : value\n  },\n  filter: generateFilter,\n  fraction: (value: any) => {\n    if (isNumber(value) && value <= 1) value = `${value * 100}%`\n\n    return value\n  },\n  function: generateFunction,\n  gradient,\n  grid,\n  isTruncated: (value: boolean) => {\n    if (value) {\n      return {\n        overflow: \"hidden\",\n        textOverflow: \"ellipsis\",\n        whiteSpace: \"nowrap\",\n      }\n    }\n  },\n  media: generateAtRule(\"media\"),\n  px: (value: any) => {\n    if (value == null) return value\n\n    const { isUnitless } = analyzeCSSValue(value)\n\n    return isUnitless || isNumber(value) ? `${value}px` : value\n  },\n  styles: generateStyles,\n  supports: generateAtRule(\"supports\"),\n  token: generateToken,\n  transform,\n  vars,\n}\n\nexport type Transforms = keyof typeof transforms\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { CSSFunction } from \"../css\"\nimport type { StyledTheme } from \"../theme.types\"\nimport { keyframes as emotionKeyframes } from \"@emotion/react\"\nimport { StyleSheet } from \"@emotion/sheet\"\nimport { createdDom, isObject } from \"@yamada-ui/utils\"\nimport { globalValues, tokenToVar } from \"./utils\"\n\nconst styleSheet = createdDom()\n  ? new StyleSheet({ key: \"css\", container: document.head })\n  : undefined\n\nfunction transformAnimationValue(value: Dict) {\n  return Object.entries(value).reduce<Dict>((prev, [key, value]) => {\n    if (key === \"duration\") {\n      prev.animationDuration = value\n    } else if (key === \"timingFunction\") {\n      prev.animationTimingFunction = value\n    } else {\n      prev[key] = value\n    }\n\n    return prev\n  }, {})\n}\n\nexport function animation(\n  value: any,\n  theme: StyledTheme,\n  css: CSSFunction,\n  _prev?: Dict,\n) {\n  if (value == null || globalValues.has(value)) return value\n\n  if (isObject(value)) {\n    const {\n      animationDuration = \"0s\",\n      animationTimingFunction = \"ease\",\n      delay = \"0s\",\n      direction = \"normal\",\n      fillMode = \"none\",\n      iterationCount = \"1\",\n      keyframes,\n      playState = \"running\",\n    } = css(transformAnimationValue(value))(theme)\n    const { name, styles } = emotionKeyframes(keyframes)\n\n    styleSheet?.insert(styles)\n\n    return `${name} ${animationDuration} ${animationTimingFunction} ${delay} ${iterationCount} ${direction} ${fillMode} ${playState}`\n  } else if (value.includes(\",\")) {\n    value = value\n      .split(\",\")\n      .map((value: string) => {\n        value = value.trim()\n\n        value = tokenToVar(\"animations\", value)(theme)\n\n        return value\n      })\n      .join(\",\")\n\n    return value\n  } else {\n    value = tokenToVar(\"animations\", value)(theme)\n\n    return value\n  }\n}\n","import type { CSSObject, Keyframes } from \"@emotion/react\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ColorMode, CSSFunction } from \"../css\"\nimport type { ThemeToken } from \"../theme\"\nimport type { StyledTheme } from \"../theme.types\"\nimport { keyframes as emotionKeyframes } from \"@emotion/react\"\nimport { isObject, isString, isUndefined } from \"@yamada-ui/utils\"\n\nexport type Transform = (\n  value: any,\n  theme: StyledTheme,\n  css: CSSFunction,\n  prev?: Dict,\n) => any\n\nexport const globalValues = new Set([\n  \"-moz-initial\",\n  \"inherit\",\n  \"initial\",\n  \"none\",\n  \"revert\",\n  \"unset\",\n])\n\nexport function isCSSFunction(value: any) {\n  return isString(value) && value.includes(\"(\") && value.includes(\")\")\n}\n\nexport function getCSSFunction(value: any) {\n  const regex = /(^[a-z-A-Z]+)\\((.*)\\)/g\n  const [, type, values] = regex.exec(value) ?? []\n\n  return { type, values }\n}\n\nexport function splitValues(\n  values: string,\n  cb: (\n    current: string,\n    prev: string | undefined,\n    next: string | undefined,\n  ) => boolean = (current) => current === \",\",\n  addSeparator = false,\n) {\n  const result = []\n\n  let value = \"\"\n  let depth = 0\n\n  for (let i = 0; i < values.length; i++) {\n    const current = values[i]\n    const prev = values[i - 1]\n    const next = values[i + 1]\n\n    if (current === \"(\") depth++\n    if (current === \")\") depth--\n\n    if (!isUndefined(current) && cb(current, prev, next) && depth === 0) {\n      if (value) result.push(value.trim())\n\n      if (addSeparator) result.push(current)\n\n      value = \"\"\n    } else {\n      value += current\n    }\n  }\n\n  if (value) result.push(value.trim())\n\n  return result.filter(Boolean)\n}\n\nexport function isCSSVar(value: string) {\n  return /^var\\(--.+\\)$/.test(value)\n}\n\nexport function analyzeCSSValue(value: any) {\n  let n = parseFloat(value.toString())\n  const unit = value.toString().replace(String(n), \"\")\n\n  return { isUnitless: !unit, unit, value }\n}\n\nexport function tokenToVar(token: ThemeToken, value: any) {\n  return function (theme: StyledTheme) {\n    const match = isString(value)\n      ? value.match(/fallback\\(([^,)]+),?\\s*([^]+)?\\)/)\n      : null\n\n    const [, resolvedValue, fallbackValue] = match ?? []\n\n    if (resolvedValue) value = resolvedValue\n\n    const resolvedToken = `${token}.${value}`\n\n    if (isObject(theme.__cssMap) && resolvedToken in theme.__cssMap) {\n      return theme.__cssMap[resolvedToken]?.ref\n    } else {\n      return fallbackValue ?? value\n    }\n  }\n}\n\nexport function mode<L, D>(light: L, dark: D) {\n  return function (colorMode: ColorMode | undefined = \"light\"): D | L {\n    return colorMode === \"light\" ? light : dark\n  }\n}\n\nexport function keyframes(...arg: CSSObject[]): Keyframes {\n  return emotionKeyframes(...arg)\n}\n\nfunction combineFunctions(a: Transform, b: Transform): Transform {\n  return function (value, ...args) {\n    return b(a(value, ...args), ...args)\n  }\n}\n\nexport function pipe(...transformers: Transform[]) {\n  return transformers.reduce(combineFunctions)\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { Transform } from \"./utils\"\nimport { filterUndefined, isArray, toKebabCase } from \"@yamada-ui/utils\"\nimport { tokenToVar } from \"./utils\"\n\nexport const generateAtRule =\n  (identifier: string): Transform =>\n  (values, theme) => {\n    if (!isArray(values)) return values\n\n    return values.reduce<Dict>(\n      (\n        prev,\n        {\n          type,\n          name,\n          css,\n          h,\n          height,\n          maxH,\n          maxHeight,\n          maxW,\n          maxWidth,\n          minH,\n          minHeight,\n          minW,\n          minWidth,\n          query,\n          w,\n          width,\n          ...rest\n        },\n      ) => {\n        width ??= w\n        minWidth ??= minW\n        maxWidth ??= maxW\n        height ??= h\n        minHeight ??= minH\n        maxHeight ??= maxH\n\n        if (!query) {\n          const resolvedRest = filterUndefined({\n            height,\n            maxHeight,\n            maxWidth,\n            minHeight,\n            minWidth,\n            width,\n            ...rest,\n          })\n\n          query = Object.entries(resolvedRest)\n            .map(([key, value]) => {\n              value = tokenToVar(\"sizes\", value)(theme)\n\n              return `(${toKebabCase(key)}: ${value})`\n            })\n            .join(\" and \")\n        }\n\n        const condition = `@${identifier} ${type ?? name ?? \"\"} ${query}`\n\n        prev[condition] = css\n\n        return prev\n      },\n      {},\n    )\n  }\n","import type { ThemeToken } from \"../theme\"\nimport type { Transform } from \"./utils\"\nimport { isNumeric } from \"@yamada-ui/utils\"\nimport {\n  getCSSFunction,\n  globalValues,\n  isCSSFunction,\n  splitValues,\n} from \"./utils\"\n\nconst OPERATORS = [\"+\", \"-\", \"*\", \"/\"]\n\nfunction getValue(value: string | undefined, fallbackValue = \"\"): Transform {\n  return function (token, theme, ...rest) {\n    if (!value) return fallbackValue\n\n    const prevent = isCSSFunction(value)\n\n    if (prevent) {\n      return generateCalc(token)(value, theme, ...rest)\n    } else {\n      if (isNumeric(value)) return value\n\n      const resolvedToken = `${token}.${value}`\n\n      return theme.__cssMap && resolvedToken in theme.__cssMap\n        ? theme.__cssMap[resolvedToken]?.ref\n        : value\n    }\n  }\n}\n\nfunction isOperator(value: string) {\n  return new RegExp(`\\\\s[${OPERATORS.join(\"\\\\\")}]\\\\s`).test(value)\n}\n\nexport function generateCalc(token: ThemeToken): Transform {\n  return function (value, theme, ...rest) {\n    if (value == null || globalValues.has(value)) return value\n\n    const prevent = isCSSFunction(value)\n\n    if (!prevent) return value\n\n    let { type, values } = getCSSFunction(value)\n\n    if (!type || !values) return value\n\n    switch (type) {\n      case \"calc\": {\n        const computedValues = splitValues(\n          values,\n          (char, prev, next) => isOperator(`${prev}${char}${next}`),\n          true,\n        ).map((value) => {\n          if (value && OPERATORS.includes(value)) return value\n\n          return getValue(value)(token, theme, ...rest)\n        })\n\n        return `calc(${computedValues.join(\" \")})`\n      }\n\n      case \"min\":\n      case \"max\": {\n        let [firstValue, secondValue, ...otherValues] = splitValues(values)\n\n        firstValue = getValue(firstValue, \"100%\")(token, theme, ...rest)\n        secondValue = getValue(secondValue, \"100%\")(token, theme, ...rest)\n        otherValues = otherValues.map((value) =>\n          getValue(value)(token, theme, ...rest),\n        )\n\n        return (\n          `${type}(` +\n          `${firstValue}, ${secondValue}` +\n          (otherValues.length ? `, ${otherValues.join(\", \")}` : \"\") +\n          \")\"\n        )\n      }\n\n      case \"clamp\": {\n        let [min, preferred, max] = splitValues(values)\n\n        if (!max) {\n          max = preferred\n          preferred = \"\"\n        }\n\n        min = getValue(min)(token, theme, ...rest)\n        preferred = getValue(preferred, \"100%\")(token, theme, ...rest)\n        max = getValue(max)(token, theme, ...rest)\n\n        return `clamp(${min}, ${preferred}, ${max})`\n      }\n\n      case \"minmax\": {\n        let [min, max] = splitValues(values)\n\n        min = getValue(min)(token, theme, ...rest)\n        max = getValue(max)(token, theme, ...rest)\n\n        return `minmax(${min}, ${max})`\n      }\n\n      case \"fit-content\": {\n        let [value] = splitValues(values)\n\n        value = getValue(value)(token, theme, ...rest)\n\n        return `fit-content(${value})`\n      }\n\n      default:\n        return value\n    }\n  }\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { CSSFunction } from \"../css\"\nimport type { StyledTheme } from \"../theme.types\"\nimport {\n  getCSSFunction,\n  globalValues,\n  isCSSFunction,\n  splitValues,\n} from \"./utils\"\n\nconst DEFAULT_METHOD = \"in srgb\"\n\nconst methods: { [key: string]: string } = {\n  \"a98-rgb\": \"in a98-rgb\",\n  \"display-p3\": \"in display-p3\",\n  lab: \"in lab\",\n  oklab: \"in oklab\",\n  \"prophoto-rgb\": \"in prophoto-rgb\",\n  rec2020: \"in rec2020\",\n  srgb: \"in srgb\",\n  \"srgb-linear\": \"in srgb-linear\",\n  xyz: \"in xyz\",\n  \"xyz-d50\": \"in xyz-d50\",\n  \"xyz-d65\": \"in xyz-d65\",\n}\n\nfunction getColor(value: string | undefined, theme: StyledTheme) {\n  if (!value) return \"\"\n\n  let [color, percent, ...rest] = value.split(\" \").filter(Boolean)\n\n  if (rest.length) return value\n\n  const token = `colors.${color}`\n\n  color =\n    theme.__cssMap && token in theme.__cssMap\n      ? theme.__cssMap[token]?.ref\n      : color\n\n  if (percent && !percent.endsWith(\"%\")) percent = `${percent}%`\n\n  return !percent ? color : `${color} ${percent}`\n}\n\nexport function colorMix(\n  value: any,\n  theme: StyledTheme,\n  _css?: CSSFunction,\n  _prev?: Dict,\n) {\n  if (value == null || globalValues.has(value)) return value\n\n  const prevent = isCSSFunction(value)\n\n  if (!prevent) return value\n\n  const { type, values } = getCSSFunction(value)\n\n  if (!values) return value\n\n  switch (type) {\n    case \"mix\":\n    case \"color-mix\": {\n      let [color2, color1, method] = splitValues(values).reverse()\n\n      if (method) {\n        method = method in methods ? methods[method] : method\n      } else {\n        method = DEFAULT_METHOD\n      }\n\n      color1 = getColor(color1, theme)\n      color2 = getColor(color2, theme)\n\n      return (\n        `color-mix(${method}` +\n        (color1 ? `, ${color1}` : \"\") +\n        (color2 ? `, ${color2}` : \"\") +\n        \")\"\n      )\n    }\n\n    case \"tint\":\n    case \"shade\":\n    case \"transparentize\": {\n      const [color, percent] = splitValues(values)\n\n      const color1 = getColor(`${color} ${percent}`, theme)\n      const color2 =\n        type === \"transparentize\"\n          ? \"transparent\"\n          : type === \"tint\"\n            ? \"#fff\"\n            : \"#000\"\n\n      return `color-mix(${DEFAULT_METHOD}, ${color1}, ${color2})`\n    }\n\n    case \"tone\": {\n      const [color, tone] = splitValues(values)\n\n      const color1 = getColor(color, theme)\n\n      if (!tone) return color1\n\n      let ratio = parseInt(tone) || 500\n\n      if (ratio < 50 && 950 < ratio) ratio = 500\n\n      if (ratio === 500) return color1\n\n      const color2 = ratio < 500 ? \"#fff\" : \"#000\"\n\n      const percent = `${100 - (Math.abs(ratio - 500) * 2) / 10}%`\n\n      return `color-mix(${DEFAULT_METHOD}, ${color1} ${percent}, ${color2})`\n    }\n\n    default:\n      return value\n  }\n}\n","import type { Transform } from \"./utils\"\n\nexport function generateFilter(\n  type: \"backdrop\" | \"filter\" = \"filter\",\n): Transform {\n  return function (value) {\n    if (value !== \"auto\") return value\n\n    if (type === \"filter\") {\n      return [\n        \"var(--ui-blur, /*!*/ /*!*/)\",\n        \"var(--ui-brightness, /*!*/ /*!*/)\",\n        \"var(--ui-contrast, /*!*/ /*!*/)\",\n        \"var(--ui-drop-shadow, /*!*/ /*!*/)\",\n        \"var(--ui-grayscale, /*!*/ /*!*/)\",\n        \"var(--ui-hue-rotate, /*!*/ /*!*/)\",\n        \"var(--ui-invert, /*!*/ /*!*/)\",\n        \"var(--ui-opacity, /*!*/ /*!*/)\",\n        \"var(--ui-saturate, /*!*/ /*!*/)\",\n        \"var(--ui-sepia, /*!*/ /*!*/)\",\n      ].join(\" \")\n    } else {\n      return [\n        \"var(--ui-backdrop-blur, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-brightness, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-contrast, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-drop-shadow, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-grayscale, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-hue-rotate, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-invert, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-opacity, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-saturate, /*!*/ /*!*/)\",\n        \"var(--ui-backdrop-sepia, /*!*/ /*!*/)\",\n      ].join(\" \")\n    }\n  }\n}\n","import type { Transform } from \"./utils\"\n\nexport function generateFunction(func: string): Transform {\n  return function (value) {\n    return `${func}(${value})`\n  }\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { CSSFunction } from \"../css\"\nimport type { StyledTheme } from \"../theme.types\"\nimport { isArray, isUndefined } from \"@yamada-ui/utils\"\nimport {\n  getCSSFunction,\n  globalValues,\n  isCSSFunction,\n  splitValues,\n} from \"./utils\"\n\nconst directions: { [key: string]: string } = {\n  \"to-b\": \"to bottom\",\n  \"to-bl\": \"to bottom left\",\n  \"to-br\": \"to bottom right\",\n  \"to-l\": \"to left\",\n  \"to-r\": \"to right\",\n  \"to-t\": \"to top\",\n  \"to-tl\": \"to top left\",\n  \"to-tr\": \"to top right\",\n}\n\nconst directionValues = new Set(Object.values(directions))\n\nexport function gradient(\n  value: any,\n  theme: StyledTheme,\n  _css?: CSSFunction,\n  _prev?: Dict,\n) {\n  if (value == null || globalValues.has(value)) return value\n\n  const prevent = isCSSFunction(value)\n\n  if (!prevent) return `url('${value}')`\n\n  let { type, values } = getCSSFunction(value)\n\n  if (!type || !values) return value\n\n  type = type.includes(\"-gradient\") ? type : `${type}-gradient`\n\n  const [maybeDirection, ...colors] = splitValues(values)\n\n  if (!colors.length) return value\n\n  const direction =\n    maybeDirection && maybeDirection in directions\n      ? directions[maybeDirection]\n      : maybeDirection\n\n  if (!isUndefined(direction)) colors.unshift(direction)\n\n  const computedValues = colors.map((_color) => {\n    if (isUndefined(_color)) return _color\n\n    if (directionValues.has(_color)) return _color\n\n    const i = _color.indexOf(\" \")\n\n    let [color, _ratio] =\n      i !== -1 ? [_color.slice(0, i), _color.slice(i + 1)] : [_color]\n\n    const ratio = isCSSFunction(_ratio) ? _ratio : _ratio?.split(\" \")\n\n    const token = `colors.${color}`\n\n    color =\n      theme.__cssMap && token in theme.__cssMap\n        ? (theme.__cssMap[token]?.ref ?? color)\n        : color\n\n    if (ratio) {\n      return [color, ...(isArray(ratio) ? ratio : [ratio])].join(\" \")\n    } else {\n      return color\n    }\n  })\n\n  return `${type}(${computedValues.join(\", \")})`\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { CSSFunction } from \"../css\"\nimport type { StyledTheme } from \"../theme.types\"\nimport { generateCalc } from \"./calc\"\nimport {\n  getCSSFunction,\n  globalValues,\n  isCSSFunction,\n  splitValues,\n} from \"./utils\"\n\nconst repeats: { [key: string]: string } = {\n  fill: \"auto-fill\",\n  fit: \"auto-fit\",\n}\n\nexport function grid(\n  value: any,\n  theme: StyledTheme,\n  css: CSSFunction,\n  prev?: Dict,\n) {\n  if (value == null || globalValues.has(value)) return value\n\n  const values = splitValues(value, (current) => current === \" \")\n\n  if (!values.length) return value\n\n  const computedValues = values.map((value): string => {\n    const prevent = isCSSFunction(value)\n\n    if (!prevent) {\n      const token = `sizes.${value}`\n\n      return theme.__cssMap && token in theme.__cssMap\n        ? (theme.__cssMap[token]?.ref ?? value)\n        : value\n    }\n\n    const { type, values } = getCSSFunction(value)\n\n    if (!type || !values) return value\n\n    if (type === \"repeat\") {\n      let [repeat, tracks] = splitValues(values)\n\n      repeat = repeat && repeat in repeats ? repeats[repeat] : repeat\n      tracks = grid(tracks, theme, css, prev)\n\n      return `repeat(${repeat}, ${tracks})`\n    } else {\n      return generateCalc(\"sizes\")(value, theme, css, prev)\n    }\n  })\n\n  return computedValues.join(\" \")\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { Transform } from \"./utils\"\nimport { getMemoizedObject as get } from \"@yamada-ui/utils\"\n\nexport function generateStyles(prefix?: string): Transform {\n  return function (value, theme, _css, prev = {}) {\n    const resolvedCSS: Dict = {}\n\n    const style = get<Dict>(\n      theme,\n      prefix ? `styles.${prefix}.${value}` : `styles.${value}`,\n      {},\n    )\n\n    for (const prop in style) {\n      const done = prop in prev && prev[prop] != null\n\n      if (!done) resolvedCSS[prop] = style[prop]\n    }\n\n    return resolvedCSS\n  }\n}\n","import type { ThemeToken } from \"../theme\"\nimport type { Transform } from \"./utils\"\nimport { tokenToVar } from \"./utils\"\n\nexport function generateToken(token: ThemeToken): Transform {\n  return function (value, theme) {\n    return tokenToVar(token, value)(theme)\n  }\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { CSSFunction } from \"../css\"\nimport type { StyledTheme } from \"../theme.types\"\n\nconst transformValues = [\n  \"rotate(var(--ui-rotate, 0))\",\n  \"scaleX(var(--ui-scale-x, 1))\",\n  \"scaleY(var(--ui-scale-y, 1))\",\n  \"skewX(var(--ui-skew-x, 0))\",\n  \"skewY(var(--ui-skew-y, 0))\",\n]\n\nexport function transform(\n  value: any,\n  _theme: StyledTheme,\n  _css?: CSSFunction,\n  _prev?: Dict,\n) {\n  if (value === \"auto\")\n    return [\n      \"translateX(var(--ui-translate-x, 0))\",\n      \"translateY(var(--ui-translate-y, 0))\",\n      ...transformValues,\n    ].join(\" \")\n\n  if (value === \"auto-3d\")\n    return [\n      \"translate3d(var(--ui-translate-x, 0), var(--ui-translate-y, 0), 0)\",\n      ...transformValues,\n    ].join(\" \")\n\n  return value\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { CSSFunction } from \"../css\"\nimport type { ThemeToken } from \"../theme\"\nimport type { StyledTheme } from \"../theme.types\"\nimport { flattenObject, isArray, isObject, isUndefined } from \"@yamada-ui/utils\"\nimport { DEFAULT_VAR_PREFIX } from \"../constant\"\nimport { tokenToVar } from \"./utils\"\n\nfunction insertObject(obj: Dict, segments: string[], value: any): any {\n  if (segments.length === 0) return value\n\n  const [head, ...rest] = segments\n\n  if (!isUndefined(head)) obj[head] = insertObject(obj[head] ?? {}, rest, value)\n\n  return obj\n}\n\nfunction valueToToken(token: ThemeToken, value: Dict) {\n  return function (theme: StyledTheme) {\n    const flattedObj = flattenObject(value)\n\n    return Object.entries(flattedObj).reduce<Dict>((prev, [path, value]) => {\n      const segments = path.split(\".\")\n\n      if (isArray(value)) {\n        value = value.map((value) => tokenToVar(token, value)(theme))\n      } else {\n        value = tokenToVar(token, value)(theme)\n      }\n\n      insertObject(prev, segments, value)\n\n      return prev\n    }, {})\n  }\n}\n\nfunction replaceValue(token: ThemeToken | undefined, value: any) {\n  return function (theme: StyledTheme) {\n    if (!token) return value\n\n    if (isObject(value)) {\n      value = Object.entries(value).reduce<Dict>((prev, [key, value]) => {\n        if (isObject(value)) {\n          prev[key] = valueToToken(token, value)(theme)\n        } else if (isArray(value)) {\n          prev[key] = value.map((value) => {\n            if (isObject(value)) {\n              return valueToToken(token, value)(theme)\n            } else {\n              return tokenToVar(token, value)(theme)\n            }\n          })\n        } else {\n          prev[key] = tokenToVar(token, value)(theme)\n        }\n\n        return prev\n      }, {})\n    } else if (isArray(value)) {\n      value = value.map((value) => {\n        if (isObject(value)) {\n          return valueToToken(token, value)(theme)\n        } else {\n          return tokenToVar(token, value)(theme)\n        }\n      })\n    } else {\n      value = tokenToVar(token, value)(theme)\n    }\n\n    return value\n  }\n}\n\nexport function vars(\n  values: any,\n  theme: StyledTheme,\n  _css?: CSSFunction,\n  _prev?: Dict,\n) {\n  if (!isArray(values)) return values\n\n  return values.reduce<Dict>((prev, { name, token, value, __prefix }) => {\n    const prefix = __prefix ?? theme.__config?.var?.prefix ?? DEFAULT_VAR_PREFIX\n\n    name = `--${prefix}-${name}`\n\n    prev[name] = replaceValue(token, value)(theme)\n\n    return prev\n  }, {})\n}\n","export const DEFAULT_VAR_PREFIX = \"ui\"\nexport const DEFAULT_LOCALE = \"en-US\"\nexport const DEFAULT_DIRECTION = \"ltr\"\n","import type { StringLiteral } from \"@yamada-ui/utils\"\nimport type * as CSS from \"csstype\"\nimport type { StyleConfigs } from \"./config\"\nimport type { CSSUIObject, Token } from \"./css\"\nimport type { ThemeToken } from \"./theme\"\nimport type { Theme } from \"./theme.types\"\nimport { transforms } from \"./config\"\nimport { pipe } from \"./config/utils\"\n\nexport type StandardStyleProperty = keyof typeof standardStyles\n\nexport const standardStyles = {\n  accentColor: {\n    properties: \"accentColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  alignContent: true,\n  alignItems: true,\n  alignmentBaseline: true,\n  alignSelf: true,\n  all: true,\n  animation: {\n    properties: \"animation\",\n    token: \"animations\",\n    transform: pipe(transforms.token(\"animations\"), transforms.animation),\n  },\n  animationComposition: true,\n  animationDelay: true,\n  animationDirection: true,\n  animationDuration: {\n    properties: \"animationDuration\",\n    token: \"transitions.duration\",\n    transform: transforms.token(\"transitions.duration\"),\n  },\n  animationFillMode: true,\n  animationIterationCount: true,\n  animationName: true,\n  animationPlayState: true,\n  animationRange: true,\n  animationRangeEnd: true,\n  animationRangeStart: true,\n  animationTimeline: true,\n  animationTimingFunction: {\n    properties: \"animationTimingFunction\",\n    token: \"transitions.easing\",\n    transform: transforms.token(\"transitions.easing\"),\n  },\n  appearance: true,\n  aspectRatio: true,\n  azimuth: true,\n  backdropBlur: {\n    properties: \"--ui-backdrop-blur\",\n    token: \"blurs\",\n    transform: pipe(transforms.token(\"blurs\"), transforms.function(\"blur\")),\n  },\n  backdropBrightness: {\n    properties: \"--ui-backdrop-brightness\",\n    transform: transforms.function(\"brightness\"),\n  },\n  backdropContrast: {\n    properties: \"--ui-backdrop-contrast\",\n    transform: transforms.function(\"contrast\"),\n  },\n  backdropDropShadow: {\n    properties: \"--ui-backdrop-drop-shadow\",\n    token: \"shadows\",\n    transform: pipe(\n      transforms.token(\"shadows\"),\n      transforms.function(\"drop-shadow\"),\n    ),\n  },\n  backdropFilter: { transform: transforms.filter(\"backdrop\") },\n  backdropGrayscale: {\n    properties: \"--ui-backdrop-grayscale\",\n    transform: transforms.function(\"grayscale\"),\n  },\n  backdropHueRotate: {\n    properties: \"--ui-backdrop-hue-rotate\",\n    transform: pipe(transforms.deg, transforms.function(\"hue-rotate\")),\n  },\n  backdropInvert: {\n    properties: \"--ui-backdrop-invert\",\n    transform: transforms.function(\"invert\"),\n  },\n  backdropSaturate: {\n    properties: \"--ui-backdrop-saturate\",\n    transform: transforms.function(\"saturate\"),\n  },\n  backdropSepia: {\n    properties: \"--ui-backdrop-sepia\",\n    transform: transforms.function(\"sepia\"),\n  },\n  backfaceVisibility: {\n    properties: \"backfaceVisibility\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  background: {\n    properties: \"background\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  backgroundAttachment: true,\n  backgroundBlendMode: true,\n  backgroundClip: {\n    properties: \"backgroundClip\",\n    transform: transforms.bgClip,\n  },\n  backgroundColor: {\n    properties: \"backgroundColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  backgroundImage: {\n    properties: \"backgroundImage\",\n    token: \"gradients\",\n    transform: pipe(transforms.token(\"gradients\"), transforms.gradient),\n  },\n  backgroundOrigin: true,\n  backgroundPosition: true,\n  backgroundPositionX: true,\n  backgroundPositionY: true,\n  backgroundRepeat: true,\n  backgroundSize: true,\n  baselineShift: true,\n  blockSize: {\n    properties: \"blockSize\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  blur: {\n    properties: \"--ui-blur\",\n    token: \"blurs\",\n    transform: pipe(transforms.token(\"blurs\"), transforms.function(\"blur\")),\n  },\n  border: {\n    properties: \"border\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderBlock: {\n    properties: \"borderBlock\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderBlockColor: {\n    properties: \"borderBlockColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderBlockEnd: {\n    properties: \"borderBlockEnd\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderBlockEndColor: {\n    properties: \"borderBlockEndColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderBlockEndStyle: true,\n  borderBlockEndWidth: {\n    properties: \"borderBlockEndWidth\",\n    transform: transforms.px,\n  },\n  borderBlockStart: {\n    properties: \"borderBlockStart\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderBlockStartColor: {\n    properties: \"borderBlockStartColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderBlockStartStyle: true,\n  borderBlockStartWidth: {\n    properties: \"borderBlockStartWidth\",\n    transform: transforms.px,\n  },\n  borderBlockStyle: true,\n  borderBlockWidth: {\n    properties: \"borderBlockWidth\",\n    transform: transforms.px,\n  },\n  borderBottom: {\n    properties: \"borderBottom\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderBottomColor: {\n    properties: \"borderBottomColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderBottomLeftRadius: {\n    properties: \"borderBottomLeftRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderBottomRadius: {\n    properties: [\"borderBottomLeftRadius\", \"borderBottomRightRadius\"],\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderBottomRightRadius: {\n    properties: \"borderBottomRightRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderBottomStyle: true,\n  borderBottomWidth: {\n    properties: \"borderBottomWidth\",\n    transform: transforms.px,\n  },\n  borderCollapse: true,\n  borderColor: {\n    properties: \"borderColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderEndEndRadius: {\n    properties: \"borderEndEndRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderEndStartRadius: {\n    properties: \"borderEndStartRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderImage: {\n    properties: \"borderImage\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderImageOutset: true,\n  borderImageRepeat: true,\n  borderImageSlice: true,\n  borderImageSource: {\n    properties: \"borderImageSource\",\n    token: \"gradients\",\n    transform: pipe(transforms.token(\"gradients\"), transforms.gradient),\n  },\n  borderImageWidth: {\n    properties: \"borderImageWidth\",\n    transform: transforms.px,\n  },\n  borderInline: {\n    properties: \"borderInline\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderInlineColor: {\n    properties: \"borderInlineColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderInlineEnd: {\n    properties: \"borderInlineEnd\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderInlineEndColor: {\n    properties: \"borderInlineEndColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderInlineEndRadius: {\n    properties: [\"borderEndStartRadius\", \"borderEndEndRadius\"],\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderInlineEndStyle: true,\n  borderInlineEndWidth: {\n    properties: \"borderInlineEndWidth\",\n    transform: transforms.px,\n  },\n  borderInlineStart: {\n    properties: \"borderInlineStart\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderInlineStartColor: {\n    properties: \"borderInlineStartColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderInlineStartRadius: {\n    properties: [\"borderStartStartRadius\", \"borderStartEndRadius\"],\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderInlineStartStyle: true,\n  borderInlineStartWidth: {\n    properties: \"borderInlineStartWidth\",\n    transform: transforms.px,\n  },\n  borderInlineStyle: true,\n  borderInlineWidth: {\n    properties: \"borderInlineWidth\",\n    transform: transforms.px,\n  },\n  borderLeft: {\n    properties: \"borderLeft\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderLeftColor: {\n    properties: \"borderLeftColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderLeftRadius: {\n    properties: [\"borderTopLeftRadius\", \"borderBottomLeftRadius\"],\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderLeftStyle: true,\n  borderLeftWidth: { properties: \"borderLeftWidth\", transform: transforms.px },\n  borderRadius: {\n    properties: \"borderRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderRight: {\n    properties: \"borderRight\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderRightColor: {\n    properties: \"borderRightColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderRightRadius: {\n    properties: [\"borderTopRightRadius\", \"borderBottomRightRadius\"],\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderRightStyle: true,\n  borderRightWidth: {\n    properties: \"borderRightWidth\",\n    transform: transforms.px,\n  },\n  borderSpacing: true,\n  borderStartEndRadius: {\n    properties: \"borderStartEndRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderStartStartRadius: {\n    properties: \"borderStartStartRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderStyle: true,\n  borderTop: {\n    properties: \"borderTop\",\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderTopColor: {\n    properties: \"borderTopColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  borderTopLeftRadius: {\n    properties: \"borderTopLeftRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderTopRadius: {\n    properties: [\"borderTopLeftRadius\", \"borderTopRightRadius\"],\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderTopRightRadius: {\n    properties: \"borderTopRightRadius\",\n    token: \"radii\",\n    transform: pipe(\n      transforms.token(\"radii\"),\n      transforms.px,\n      transforms.calc(\"radii\"),\n    ),\n  },\n  borderTopStyle: true,\n  borderTopWidth: { properties: \"borderTopWidth\", transform: transforms.px },\n  borderWidth: { properties: \"borderWidth\", transform: transforms.px },\n  borderX: {\n    properties: [\"borderLeft\", \"borderRight\"],\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  borderY: {\n    properties: [\"borderTop\", \"borderBottom\"],\n    token: \"borders\",\n    transform: pipe(transforms.token(\"borders\"), transforms.px),\n  },\n  bottom: {\n    properties: \"bottom\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  boxAlign: true,\n  boxDecorationBreak: true,\n  boxDirection: true,\n  boxFlex: true,\n  boxFlexGroup: true,\n  boxLines: true,\n  boxOrdinalGroup: true,\n  boxOrient: true,\n  boxPack: true,\n  boxShadow: {\n    properties: \"boxShadow\",\n    token: \"shadows\",\n    transform: transforms.token(\"shadows\"),\n  },\n  boxSize: {\n    properties: [\"width\", \"height\"],\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  boxSizing: true,\n  breakAfter: true,\n  breakBefore: true,\n  breakInside: true,\n  brightness: {\n    properties: \"--ui-brightness\",\n    transform: transforms.function(\"brightness\"),\n  },\n  captionSide: true,\n  caretColor: {\n    properties: \"caretColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  clear: true,\n  clip: true,\n  clipPath: true,\n  clipRule: true,\n  color: {\n    properties: \"color\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  colorInterpolation: true,\n  colorMode: { properties: \"colorScheme\" },\n  columnCount: true,\n  columnFill: true,\n  columnGap: {\n    properties: \"columnGap\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  columnRule: { properties: \"columnRule\", transform: transforms.px },\n  columnRuleColor: {\n    properties: \"columnRuleColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  columnRuleStyle: true,\n  columnRuleWidth: { properties: \"columnRuleWidth\", transform: transforms.px },\n  columns: true,\n  columnSpan: true,\n  columnWidth: {\n    properties: \"columnWidth\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  contain: true,\n  container: true,\n  containerName: true,\n  containerType: true,\n  containIntrinsicBlockSize: true,\n  containIntrinsicHeight: true,\n  containIntrinsicInlineSize: true,\n  containIntrinsicSize: true,\n  containIntrinsicWidth: {\n    properties: \"containIntrinsicWidth\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  content: true,\n  contentVisibility: true,\n  contrast: {\n    properties: \"--ui-contrast\",\n    transform: transforms.function(\"contrast\"),\n  },\n  counterIncrement: true,\n  counterReset: true,\n  counterSet: true,\n  cursor: true,\n  direction: true,\n  display: true,\n  dominantBaseline: true,\n  dropShadow: {\n    properties: \"--ui-drop-shadow\",\n    token: \"shadows\",\n    transform: pipe(\n      transforms.token(\"shadows\"),\n      transforms.function(\"drop-shadow\"),\n    ),\n  },\n  emptyCells: true,\n  fill: {\n    properties: \"fill\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  fillOpacity: true,\n  fillRule: true,\n  filter: { transform: transforms.filter() },\n  flex: true,\n  flexBasis: {\n    properties: \"flexBasis\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  flexDirection: true,\n  flexFlow: true,\n  flexGrow: true,\n  flexShrink: true,\n  flexWrap: true,\n  float: true,\n  floodColor: {\n    properties: \"floodColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  floodOpacity: true,\n  font: true,\n  fontFamily: {\n    properties: \"fontFamily\",\n    token: \"fonts\",\n    transform: transforms.token(\"fonts\"),\n  },\n  fontFeatureSettings: true,\n  fontKerning: true,\n  fontLanguageOverride: true,\n  fontOpticalSizing: true,\n  fontPalette: true,\n  fontSize: {\n    properties: \"fontSize\",\n    token: \"fontSizes\",\n    transform: pipe(\n      transforms.token(\"fontSizes\"),\n      transforms.px,\n      transforms.calc(\"fontSizes\"),\n    ),\n  },\n  fontSizeAdjust: true,\n  fontSmooth: true,\n  fontStretch: true,\n  fontStyle: true,\n  fontSynthesis: true,\n  fontSynthesisPosition: true,\n  fontSynthesisSmallCaps: true,\n  fontSynthesisStyle: true,\n  fontSynthesisWeight: true,\n  fontVariant: true,\n  fontVariantAlternates: true,\n  fontVariantCaps: true,\n  fontVariantEastAsian: true,\n  fontVariantEmoji: true,\n  fontVariantLigatures: true,\n  fontVariantNumeric: true,\n  fontVariantPosition: true,\n  fontVariationSettings: true,\n  fontWeight: {\n    properties: \"fontWeight\",\n    token: \"fontWeights\",\n    transform: transforms.token(\"fontWeights\"),\n  },\n  forcedColorAdjust: true,\n  gap: {\n    properties: \"gap\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  glyphOrientationVertical: true,\n  grayscale: {\n    properties: \"--ui-grayscale\",\n    transform: transforms.function(\"grayscale\"),\n  },\n  grid: true,\n  gridArea: true,\n  gridAutoColumns: {\n    properties: \"gridAutoColumns\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.grid,\n    ),\n  },\n  gridAutoFlow: true,\n  gridAutoRows: {\n    properties: \"gridAutoRows\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.grid,\n    ),\n  },\n  gridColumn: true,\n  gridColumnEnd: true,\n  gridColumnStart: true,\n  gridRow: true,\n  gridRowEnd: true,\n  gridRowStart: true,\n  gridTemplate: true,\n  gridTemplateAreas: true,\n  gridTemplateColumns: {\n    properties: \"gridTemplateColumns\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.grid,\n    ),\n  },\n  gridTemplateRows: {\n    properties: \"gridTemplateRows\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.grid,\n    ),\n  },\n  hangingPunctuation: true,\n  height: {\n    properties: \"height\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  hueRotate: {\n    properties: \"--ui-hue-rotate\",\n    transform: pipe(transforms.deg, transforms.function(\"hue-rotate\")),\n  },\n  hyphenateCharacter: true,\n  hyphenateLimitChars: true,\n  hyphens: true,\n  imageOrientation: true,\n  imageRendering: true,\n  imageResolution: true,\n  initialLetter: true,\n  inlineSize: {\n    properties: \"inlineSize\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  inset: {\n    properties: \"inset\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  insetBlock: {\n    properties: \"insetBlock\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  insetBlockEnd: {\n    properties: \"insetBlockEnd\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  insetBlockStart: {\n    properties: \"insetBlockStart\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  insetInline: {\n    properties: \"insetInline\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  insetInlineEnd: {\n    properties: \"insetInlineEnd\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  insetInlineStart: {\n    properties: \"insetInlineStart\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  insetX: {\n    properties: [\"left\", \"right\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  insetY: {\n    properties: [\"top\", \"bottom\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  invert: {\n    properties: \"--ui-invert\",\n    transform: transforms.function(\"invert\"),\n  },\n  isolation: true,\n  justifyContent: true,\n  justifyItems: true,\n  justifySelf: true,\n  left: {\n    properties: \"left\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  letterSpacing: {\n    properties: \"letterSpacing\",\n    token: \"letterSpacings\",\n    transform: transforms.token(\"letterSpacings\"),\n  },\n  lightingColor: {\n    properties: \"lightingColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  lineBreak: true,\n  lineHeight: {\n    properties: \"lineHeight\",\n    token: \"lineHeights\",\n    transform: transforms.token(\"lineHeights\"),\n  },\n  lineHeightStep: true,\n  listStyle: true,\n  listStyleImage: {\n    properties: \"listStyleImage\",\n    token: \"gradients\",\n    transform: pipe(transforms.token(\"gradients\"), transforms.gradient),\n  },\n  listStylePosition: true,\n  listStyleType: true,\n  margin: {\n    properties: \"margin\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginBlock: {\n    properties: \"marginBlock\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginBlockEnd: {\n    properties: \"marginBlockEnd\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginBlockStart: {\n    properties: \"marginBlockStart\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginBottom: {\n    properties: \"marginBottom\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginInline: {\n    properties: \"marginInline\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginInlineEnd: {\n    properties: \"marginInlineEnd\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginInlineStart: {\n    properties: \"marginInlineStart\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginLeft: {\n    properties: \"marginLeft\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginRight: {\n    properties: \"marginRight\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginTop: {\n    properties: \"marginTop\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginTrim: true,\n  marginX: {\n    properties: [\"marginInlineStart\", \"marginInlineEnd\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marginY: {\n    properties: [\"marginTop\", \"marginBottom\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  marker: true,\n  markerEnd: true,\n  markerMid: true,\n  markerStart: true,\n  mask: true,\n  maskBorder: true,\n  maskBorderMode: true,\n  maskBorderOutset: true,\n  maskBorderRepeat: true,\n  maskBorderSlice: true,\n  maskBorderSource: true,\n  maskBorderWidth: { properties: \"maskBorderWidth\", transform: transforms.px },\n  maskClip: true,\n  maskComposite: true,\n  maskImage: {\n    properties: \"maskImage\",\n    token: \"gradients\",\n    transform: pipe(transforms.token(\"gradients\"), transforms.gradient),\n  },\n  maskMode: true,\n  maskOrigin: true,\n  maskPosition: true,\n  maskRepeat: true,\n  maskSize: true,\n  maskType: true,\n  masonryAutoFlow: true,\n  mathDepth: true,\n  mathShift: true,\n  mathStyle: true,\n  maxBlockSize: {\n    properties: \"maxBlockSize\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  maxBoxSize: {\n    properties: [\"maxWidth\", \"maxHeight\"],\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  maxHeight: {\n    properties: \"maxHeight\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  maxInlineSize: {\n    properties: \"maxInlineSize\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  maxWidth: {\n    properties: \"maxWidth\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  minBlockSize: {\n    properties: \"minBlockSize\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  minBoxSize: {\n    properties: [\"minWidth\", \"minHeight\"],\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  minHeight: {\n    properties: \"minHeight\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  minInlineSize: {\n    properties: \"minInlineSize\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  minWidth: {\n    properties: \"minWidth\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  mixBlendMode: true,\n  objectFit: true,\n  objectPosition: true,\n  offset: true,\n  offsetAnchor: true,\n  offsetDistance: true,\n  offsetPath: true,\n  offsetPosition: true,\n  offsetRotate: true,\n  opacity: true,\n  order: true,\n  orphans: true,\n  outline: true,\n  outlineColor: {\n    properties: \"outlineColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  outlineOffset: true,\n  outlineStyle: true,\n  outlineWidth: { properties: \"outlineWidth\", transform: transforms.px },\n  overflow: true,\n  overflowAnchor: true,\n  overflowBlock: true,\n  overflowClipMargin: true,\n  overflowInline: true,\n  overflowWrap: true,\n  overflowX: true,\n  overflowY: true,\n  overlay: true,\n  overscrollBehavior: true,\n  overscrollBehaviorBlock: true,\n  overscrollBehaviorInline: true,\n  overscrollBehaviorX: true,\n  overscrollBehaviorY: true,\n  padding: {\n    properties: \"padding\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingBlock: {\n    properties: \"paddingBlock\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingBlockEnd: {\n    properties: \"paddingBlockEnd\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingBlockStart: {\n    properties: \"paddingBlockStart\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingBottom: {\n    properties: \"paddingBottom\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingInline: {\n    properties: \"paddingInline\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingInlineEnd: {\n    properties: \"paddingInlineEnd\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingInlineStart: {\n    properties: \"paddingInlineStart\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingLeft: {\n    properties: \"paddingLeft\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingRight: {\n    properties: \"paddingRight\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingTop: {\n    properties: \"paddingTop\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingX: {\n    properties: [\"paddingInlineStart\", \"paddingInlineEnd\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  paddingY: {\n    properties: [\"paddingTop\", \"paddingBottom\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  page: true,\n  pageBreakAfter: true,\n  pageBreakBefore: true,\n  pageBreakInside: true,\n  paintOrder: true,\n  perspective: true,\n  perspectiveOrigin: true,\n  placeContent: true,\n  placeItems: true,\n  placeSelf: true,\n  pointerEvents: true,\n  position: true,\n  printColorAdjust: true,\n  quotes: true,\n  resize: true,\n  right: {\n    properties: \"right\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  rotate: { properties: \"--ui-rotate\", transform: transforms.deg },\n  rowGap: {\n    properties: \"rowGap\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  rubyAlign: true,\n  rubyPosition: true,\n  saturate: {\n    properties: \"--ui-saturate\",\n    transform: transforms.function(\"saturate\"),\n  },\n  scale: { properties: [\"--ui-scale-x\", \"--ui-scale-y\"] },\n  scaleX: { properties: \"--ui-scale-x\" },\n  scaleY: { properties: \"--ui-scale-y\" },\n  scrollbarColor: {\n    properties: \"scrollbarColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  scrollbarGutter: true,\n  scrollbarWidth: { properties: \"scrollbarWidth\", transform: transforms.px },\n  scrollBehavior: true,\n  scrollMargin: {\n    properties: \"scrollMargin\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollMarginBlock: true,\n  scrollMarginBlockEnd: true,\n  scrollMarginBlockStart: true,\n  scrollMarginBottom: {\n    properties: \"scrollMarginBottom\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollMarginInline: true,\n  scrollMarginInlineEnd: true,\n  scrollMarginInlineStart: true,\n  scrollMarginLeft: {\n    properties: \"scrollMarginLeft\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollMarginRight: {\n    properties: \"scrollMarginRight\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollMarginTop: {\n    properties: \"scrollMarginTop\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollMarginX: {\n    properties: [\"scrollMarginLeft\", \"scrollMarginRight\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollMarginY: {\n    properties: [\"scrollMarginTop\", \"scrollMarginBottom\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollPadding: {\n    properties: \"scrollPadding\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollPaddingBlock: true,\n  scrollPaddingBlockEnd: true,\n  scrollPaddingBlockStart: true,\n  scrollPaddingBottom: {\n    properties: \"scrollPaddingBottom\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollPaddingInline: true,\n  scrollPaddingInlineEnd: true,\n  scrollPaddingInlineStart: true,\n  scrollPaddingLeft: {\n    properties: \"scrollPaddingLeft\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollPaddingRight: {\n    properties: \"scrollPaddingRight\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollPaddingTop: {\n    properties: \"scrollPaddingTop\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollPaddingX: {\n    properties: [\"scrollPaddingLeft\", \"scrollPaddingRight\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollPaddingY: {\n    properties: [\"scrollPaddingTop\", \"scrollPaddingBottom\"],\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  scrollSnapAlign: true,\n  scrollSnapStop: true,\n  scrollSnapType: true,\n  scrollTimeline: true,\n  scrollTimelineAxis: true,\n  scrollTimelineName: true,\n  sepia: { properties: \"--ui-sepia\", transform: transforms.function(\"sepia\") },\n  shapeImageThreshold: true,\n  shapeMargin: true,\n  shapeOutside: true,\n  shapeRendering: true,\n  skewX: { properties: \"--ui-skew-x\", transform: transforms.deg },\n  skewY: { properties: \"--ui-skew-y\", transform: transforms.deg },\n  stopColor: true,\n  stopOpacity: true,\n  stroke: {\n    properties: \"stroke\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  strokeDasharray: true,\n  strokeDashoffset: true,\n  strokeLinecap: true,\n  strokeLinejoin: true,\n  strokeMiterlimit: true,\n  strokeOpacity: true,\n  strokeWidth: { properties: \"strokeWidth\", transform: transforms.px },\n  tableLayout: true,\n  tabSize: true,\n  textAlign: true,\n  textAlignLast: true,\n  textAnchor: true,\n  textCombineUpright: true,\n  textDecoration: true,\n  textDecorationColor: {\n    properties: \"textDecorationColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  textDecorationLine: true,\n  textDecorationSkip: true,\n  textDecorationSkipInk: true,\n  textDecorationStyle: true,\n  textDecorationThickness: true,\n  textEmphasis: true,\n  textEmphasisColor: {\n    properties: \"textEmphasisColor\",\n    token: \"colors\",\n    transform: pipe(transforms.token(\"colors\"), transforms.colorMix),\n  },\n  textEmphasisPosition: true,\n  textEmphasisStyle: true,\n  textIndent: true,\n  textJustify: true,\n  textOrientation: true,\n  textOverflow: true,\n  textRendering: true,\n  textShadow: {\n    properties: \"textShadow\",\n    token: \"shadows\",\n    transform: transforms.token(\"shadows\"),\n  },\n  textSizeAdjust: true,\n  textTransform: true,\n  textUnderlineOffset: true,\n  textUnderlinePosition: true,\n  textWrap: true,\n  timelineScope: true,\n  top: {\n    properties: \"top\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  touchAction: true,\n  transform: { properties: \"transform\", transform: transforms.transform },\n  transformBox: true,\n  transformOrigin: true,\n  transformStyle: true,\n  transition: true,\n  transitionBehavior: true,\n  transitionDelay: true,\n  transitionDuration: {\n    properties: \"transitionDuration\",\n    token: \"transitions.duration\",\n    transform: transforms.token(\"transitions.duration\"),\n  },\n  transitionProperty: {\n    properties: \"transitionProperty\",\n    token: \"transitions.property\",\n    transform: transforms.token(\"transitions.property\"),\n  },\n  transitionTimingFunction: {\n    properties: \"transitionTimingFunction\",\n    token: \"transitions.easing\",\n    transform: transforms.token(\"transitions.easing\"),\n  },\n  translate: true,\n  translateX: {\n    properties: \"--ui-translate-x\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  translateY: {\n    properties: \"--ui-translate-y\",\n    token: \"spaces\",\n    transform: pipe(\n      transforms.token(\"spaces\"),\n      transforms.px,\n      transforms.calc(\"spaces\"),\n    ),\n  },\n  unicodeBidi: true,\n  userSelect: true,\n  vectorEffect: true,\n  verticalAlign: true,\n  viewTimeline: true,\n  viewTimelineAxis: true,\n  viewTimelineInset: true,\n  viewTimelineName: true,\n  viewTransitionName: true,\n  visibility: true,\n  whiteSpace: true,\n  whiteSpaceCollapse: true,\n  widows: true,\n  width: {\n    properties: \"width\",\n    token: \"sizes\",\n    transform: pipe(\n      transforms.token(\"sizes\"),\n      transforms.fraction,\n      transforms.px,\n      transforms.calc(\"sizes\"),\n    ),\n  },\n  willChange: true,\n  wordBreak: true,\n  wordSpacing: true,\n  writingMode: true,\n  zIndex: {\n    properties: \"zIndex\",\n    token: \"zIndices\",\n    transform: transforms.token(\"zIndices\"),\n  },\n  zoom: true,\n} as const satisfies StyleConfigs\n\nexport type ShorthandStyleProperty = keyof typeof shorthandStyles\n\nexport const shorthandStyles = {\n  accent: standardStyles.accentColor,\n  bg: standardStyles.background,\n  bgAttachment: { properties: \"backgroundAttachment\" },\n  bgBlendMode: { properties: \"backgroundBlendMode\" },\n  bgClip: standardStyles.backgroundClip,\n  bgColor: standardStyles.backgroundColor,\n  bgGradient: standardStyles.backgroundImage,\n  bgImage: standardStyles.backgroundImage,\n  bgImg: standardStyles.backgroundImage,\n  bgOrigin: { properties: \"backgroundOrigin\" },\n  bgPosition: { properties: \"backgroundPosition\" },\n  bgPositionX: { properties: \"backgroundPositionX\" },\n  bgPositionY: { properties: \"backgroundPositionY\" },\n  bgPosX: { properties: \"backgroundPositionX\" },\n  bgPosY: { properties: \"backgroundPositionY\" },\n  bgRepeat: { properties: \"backgroundRepeat\" },\n  bgSize: { properties: \"backgroundSize\" },\n  blendMode: { properties: \"mixBlendMode\" },\n  borderBottomEndRadius: standardStyles.borderEndEndRadius,\n  borderBottomStartRadius: standardStyles.borderEndStartRadius,\n  borderEnd: standardStyles.borderInlineEnd,\n  borderEndColor: standardStyles.borderInlineEndColor,\n  borderEndRadius: standardStyles.borderInlineEndRadius,\n  borderEndStyle: { properties: \"borderInlineEndStyle\" },\n  borderEndWidth: standardStyles.borderInlineEndWidth,\n  borderStart: standardStyles.borderInlineStart,\n  borderStartColor: standardStyles.borderInlineStartColor,\n  borderStartRadius: standardStyles.borderInlineStartRadius,\n  borderStartStyle: { properties: \"borderInlineStartStyle\" },\n  borderStartWidth: standardStyles.borderInlineStartWidth,\n  borderTopEndRadius: standardStyles.borderStartEndRadius,\n  borderTopStartRadius: standardStyles.borderStartStartRadius,\n  caret: standardStyles.caretColor,\n  flexDir: { properties: \"flexDirection\" },\n  g: standardStyles.gap,\n  gapX: standardStyles.columnGap,\n  gapY: standardStyles.rowGap,\n  gx: standardStyles.columnGap,\n  gy: standardStyles.rowGap,\n  h: standardStyles.height,\n  insetEnd: standardStyles.insetInlineEnd,\n  insetStart: standardStyles.insetInlineStart,\n  leading: standardStyles.lineHeight,\n  listStyleImg: standardStyles.listStyleImage,\n  listStylePos: { properties: \"listStylePosition\" },\n  m: standardStyles.margin,\n  marginEnd: standardStyles.marginInlineEnd,\n  marginStart: standardStyles.marginInlineStart,\n  maxH: standardStyles.maxHeight,\n  maxW: standardStyles.maxWidth,\n  mb: standardStyles.marginBottom,\n  me: standardStyles.marginInlineEnd,\n  minH: standardStyles.minHeight,\n  minW: standardStyles.minWidth,\n  ml: standardStyles.marginLeft,\n  mr: standardStyles.marginRight,\n  ms: standardStyles.marginInlineStart,\n  mt: standardStyles.marginTop,\n  mx: standardStyles.marginX,\n  my: standardStyles.marginY,\n  overscroll: { properties: \"overscrollBehavior\" },\n  overscrollX: { properties: \"overscrollBehaviorX\" },\n  overscrollY: { properties: \"overscrollBehaviorY\" },\n  p: standardStyles.padding,\n  paddingEnd: standardStyles.paddingInlineEnd,\n  paddingStart: standardStyles.paddingInlineStart,\n  pb: standardStyles.paddingBottom,\n  pe: standardStyles.paddingInlineEnd,\n  pl: standardStyles.paddingLeft,\n  pos: { properties: \"position\" },\n  pr: standardStyles.paddingRight,\n  ps: standardStyles.paddingInlineStart,\n  pt: standardStyles.paddingTop,\n  px: standardStyles.paddingX,\n  py: standardStyles.paddingY,\n  rounded: standardStyles.borderRadius,\n  roundedBottom: standardStyles.borderBottomRadius,\n  roundedBottomEnd: standardStyles.borderEndEndRadius,\n  roundedBottomLeft: standardStyles.borderBottomLeftRadius,\n  roundedBottomRight: standardStyles.borderBottomRightRadius,\n  roundedBottomStart: standardStyles.borderEndStartRadius,\n  roundedEnd: standardStyles.borderInlineEndRadius,\n  roundedLeft: standardStyles.borderLeftRadius,\n  roundedRight: standardStyles.borderRightRadius,\n  roundedStart: standardStyles.borderInlineStartRadius,\n  roundedTop: standardStyles.borderTopRadius,\n  roundedTopEnd: standardStyles.borderStartEndRadius,\n  roundedTopLeft: standardStyles.borderTopLeftRadius,\n  roundedTopRight: standardStyles.borderTopRightRadius,\n  roundedTopStart: standardStyles.borderStartStartRadius,\n  shadow: standardStyles.boxShadow,\n  text: standardStyles.fontSize,\n  textColor: standardStyles.color,\n  textDecor: { properties: \"textDecoration\" },\n  tracking: standardStyles.letterSpacing,\n  w: standardStyles.width,\n  z: standardStyles.zIndex,\n} as const satisfies StyleConfigs\n\nexport type PseudoStyleProperty = keyof typeof pseudoStyles\n\nexport const pseudoStyles = {\n  \"&::after\": { properties: \"&::after\", transform: transforms.content },\n  \"&::before\": { properties: \"&::before\", transform: transforms.content },\n} as const satisfies StyleConfigs\n\nexport type UIStyleProperty = keyof typeof uiStyles\n\nexport const uiStyles = {\n  apply: { isProcessResult: true, transform: transforms.styles() },\n  layerStyle: {\n    isProcessResult: true,\n    transform: transforms.styles(\"layerStyles\"),\n  },\n  textStyle: {\n    isProcessResult: true,\n    transform: transforms.styles(\"textStyles\"),\n  },\n  isTruncated: { transform: transforms.isTruncated },\n  lineClamp: {\n    properties: \"--ui-line-clamp\",\n    static: {\n      display: \"-webkit-box\",\n      overflow: \"hidden\",\n      textOverflow: \"ellipsis\",\n      WebkitBoxOrient: \"vertical\",\n      WebkitLineClamp: \"var(--ui-line-clamp)\",\n    },\n  },\n  vars: { isProcessSkip: true, transform: transforms.vars },\n} as const satisfies StyleConfigs\n\nexport type AtRuleStyleProperty = keyof typeof atRuleStyles\n\nexport const atRuleStyles = {\n  _container: { isProcessSkip: true, transform: transforms.container },\n  _media: { isProcessSkip: true, transform: transforms.media },\n  _supports: { isProcessSkip: true, transform: transforms.supports },\n} as const satisfies StyleConfigs\n\nexport type Styles = typeof styles\n\nexport const styles = {\n  ...standardStyles,\n  ...shorthandStyles,\n  ...pseudoStyles,\n  ...uiStyles,\n  ...atRuleStyles,\n} as const satisfies StyleConfigs\n\nexport type StyleProperty = keyof typeof styles\n\nexport const styleProperties = Object.keys(styles) as StyleProperty[]\n\nexport type ProcessSkipProperty = (typeof processSkipProperties)[number]\n\nexport const processSkipProperties = [\n  \"vars\",\n  \"_media\",\n  \"_container\",\n  \"_supports\",\n] as const\n\nexport type AnimationProperty = (typeof animationProperties)[number]\n\nexport const animationProperties = [\"animation\"] as const\n\nexport type BlurProperty = (typeof blurProperties)[number]\n\nexport const blurProperties = [\"blur\", \"backdropBlur\"] as const\n\nexport type BorderProperty = (typeof borderProperties)[number]\n\nexport const borderProperties = [\n  \"border\",\n  \"borderBlock\",\n  \"borderBlockEnd\",\n  \"borderBlockStart\",\n  \"borderBottom\",\n  \"borderImage\",\n  \"borderInline\",\n  \"borderInlineEnd\",\n  \"borderEnd\",\n  \"borderInlineStart\",\n  \"borderStart\",\n  \"borderLeft\",\n  \"borderRight\",\n  \"borderTop\",\n  \"borderY\",\n  \"borderX\",\n] as const\n\nexport type ColorProperty = (typeof colorProperties)[number]\n\nexport const colorProperties = [\n  \"accentColor\",\n  \"accent\",\n  \"background\",\n  \"bg\",\n  \"backgroundColor\",\n  \"bgColor\",\n  \"borderBlockColor\",\n  \"borderBlockEndColor\",\n  \"borderBlockStartColor\",\n  \"borderBottomColor\",\n  \"borderColor\",\n  \"borderInlineColor\",\n  \"borderInlineEndColor\",\n  \"borderEndColor\",\n  \"borderInlineStartColor\",\n  \"borderStartColor\",\n  \"borderLeftColor\",\n  \"borderRightColor\",\n  \"borderTopColor\",\n  \"caretColor\",\n  \"caret\",\n  \"color\",\n  \"textColor\",\n  \"columnRuleColor\",\n  \"fill\",\n  \"outlineColor\",\n  \"scrollbarColor\",\n  \"stroke\",\n  \"textDecorationColor\",\n  \"textEmphasisColor\",\n  \"floodColor\",\n  \"lightingColor\",\n] as const\n\nexport type FontProperty = (typeof fontProperties)[number]\n\nexport const fontProperties = [\n  \"fontFamily\",\n  \"fontSize\",\n  \"text\",\n  \"fontWeight\",\n  \"lineHeight\",\n  \"leading\",\n  \"letterSpacing\",\n  \"tracking\",\n] as const\n\nexport type GradientProperty = (typeof gradientProperties)[number]\n\nexport const gradientProperties = [\n  \"backgroundImage\",\n  \"bgImage\",\n  \"bgImg\",\n  \"bgGradient\",\n  \"borderImageSource\",\n  \"listStyleImage\",\n  \"listStyleImg\",\n  \"maskImage\",\n] as const\n\nexport type RadiusProperty = (typeof radiusProperties)[number]\n\nexport const radiusProperties = [\n  \"borderBottomLeftRadius\",\n  \"roundedBottomLeft\",\n  \"borderBottomRightRadius\",\n  \"roundedBottomRight\",\n  \"borderEndEndRadius\",\n  \"borderBottomEndRadius\",\n  \"roundedBottomEnd\",\n  \"borderEndStartRadius\",\n  \"borderBottomStartRadius\",\n  \"roundedBottomStart\",\n  \"borderRadius\",\n  \"rounded\",\n  \"borderStartEndRadius\",\n  \"borderTopEndRadius\",\n  \"roundedTopEnd\",\n  \"borderStartStartRadius\",\n  \"borderTopStartRadius\",\n  \"roundedTopStart\",\n  \"borderTopLeftRadius\",\n  \"roundedTopLeft\",\n  \"borderTopRightRadius\",\n  \"roundedTopRight\",\n  \"borderTopRadius\",\n  \"roundedTop\",\n  \"borderBottomRadius\",\n  \"roundedBottom\",\n  \"borderRightRadius\",\n  \"roundedRight\",\n  \"borderLeftRadius\",\n  \"roundedLeft\",\n  \"borderInlineStartRadius\",\n  \"borderStartRadius\",\n  \"roundedStart\",\n  \"borderInlineEndRadius\",\n  \"borderEndRadius\",\n  \"roundedEnd\",\n] as const\n\nexport type ShadowProperty = (typeof shadowProperties)[number]\n\nexport const shadowProperties = [\n  \"boxShadow\",\n  \"shadow\",\n  \"textShadow\",\n  \"dropShadow\",\n  \"backdropDropShadow\",\n] as const\n\nexport type SizeProperty = (typeof sizeProperties)[number]\n\nexport const sizeProperties = [\n  \"backfaceVisibility\",\n  \"blockSize\",\n  \"columnWidth\",\n  \"containIntrinsicWidth\",\n  \"flexBasis\",\n  \"gridAutoColumns\",\n  \"gridAutoRows\",\n  \"gridTemplateColumns\",\n  \"gridTemplateRows\",\n  \"height\",\n  \"h\",\n  \"inlineSize\",\n  \"maxBlockSize\",\n  \"maxHeight\",\n  \"maxH\",\n  \"maxInlineSize\",\n  \"maxWidth\",\n  \"maxW\",\n  \"minBlockSize\",\n  \"minHeight\",\n  \"minH\",\n  \"minInlineSize\",\n  \"minWidth\",\n  \"minW\",\n  \"width\",\n  \"w\",\n  \"boxSize\",\n  \"minBoxSize\",\n  \"maxBoxSize\",\n] as const\n\nexport type SpaceProperty = (typeof spaceProperties)[number]\n\nexport const spaceProperties = [\n  \"bottom\",\n  \"columnGap\",\n  \"gx\",\n  \"gapX\",\n  \"gap\",\n  \"g\",\n  \"inset\",\n  \"insetBlock\",\n  \"insetBlockEnd\",\n  \"insetBlockStart\",\n  \"insetInline\",\n  \"insetInlineEnd\",\n  \"insetEnd\",\n  \"insetInlineStart\",\n  \"insetStart\",\n  \"left\",\n  \"margin\",\n  \"m\",\n  \"marginBlock\",\n  \"marginBlockEnd\",\n  \"marginBlockStart\",\n  \"marginBottom\",\n  \"mb\",\n  \"marginInline\",\n  \"marginInlineEnd\",\n  \"me\",\n  \"marginEnd\",\n  \"marginInlineStart\",\n  \"ms\",\n  \"marginStart\",\n  \"marginLeft\",\n  \"ml\",\n  \"marginRight\",\n  \"mr\",\n  \"marginTop\",\n  \"mt\",\n  \"padding\",\n  \"p\",\n  \"paddingBlock\",\n  \"paddingBlockEnd\",\n  \"paddingBlockStart\",\n  \"paddingBottom\",\n  \"pb\",\n  \"paddingInline\",\n  \"paddingInlineEnd\",\n  \"pe\",\n  \"paddingEnd\",\n  \"paddingInlineStart\",\n  \"ps\",\n  \"paddingStart\",\n  \"paddingLeft\",\n  \"pl\",\n  \"paddingRight\",\n  \"pr\",\n  \"paddingTop\",\n  \"pt\",\n  \"right\",\n  \"rowGap\",\n  \"gy\",\n  \"gapY\",\n  \"scrollMargin\",\n  \"scrollMarginBottom\",\n  \"scrollMarginLeft\",\n  \"scrollMarginRight\",\n  \"scrollMarginTop\",\n  \"scrollPadding\",\n  \"scrollPaddingBottom\",\n  \"scrollPaddingLeft\",\n  \"scrollPaddingRight\",\n  \"scrollPaddingTop\",\n  \"top\",\n  \"marginX\",\n  \"mx\",\n  \"marginY\",\n  \"my\",\n  \"paddingX\",\n  \"px\",\n  \"paddingY\",\n  \"py\",\n  \"scrollMarginX\",\n  \"scrollMarginY\",\n  \"scrollPaddingX\",\n  \"scrollPaddingY\",\n  \"insetX\",\n  \"insetY\",\n  \"translateX\",\n  \"translateY\",\n] as const\n\nexport type TransitionProperty = (typeof transitionProperties)[number]\n\nexport const transitionProperties = [\n  \"transitionProperty\",\n  \"animationTimingFunction\",\n  \"transitionTimingFunction\",\n  \"animationDuration\",\n  \"transitionDuration\",\n] as const\n\nexport type ZIndexProperty = (typeof zIndexProperties)[number]\n\nexport const zIndexProperties = [\"zIndex\", \"z\"] as const\n\nexport type LayoutStyleProperty = (typeof layoutStyleProperties)[number]\n\nexport const layoutStyleProperties = [\n  \"width\",\n  \"inlineSize\",\n  \"height\",\n  \"backfaceVisibility\",\n  \"blockSize\",\n  \"boxSize\",\n  \"minWidth\",\n  \"minInlineSize\",\n  \"minHeight\",\n  \"minBlockSize\",\n  \"maxWidth\",\n  \"maxInlineSize\",\n  \"maxHeight\",\n  \"maxBlockSize\",\n  \"overflow\",\n  \"overflowX\",\n  \"overflowY\",\n  \"overscrollBehavior\",\n  \"overscroll\",\n  \"overscrollX\",\n  \"textDecor\",\n  \"overscrollBehaviorY\",\n  \"overscrollY\",\n  \"display\",\n  \"aspectRatio\",\n  \"verticalAlign\",\n  \"boxSizing\",\n  \"boxDecorationBreak\",\n  \"float\",\n  \"objectFit\",\n  \"objectPosition\",\n  \"visibility\",\n  \"isolation\",\n  \"w\",\n  \"h\",\n  \"minW\",\n  \"maxW\",\n  \"minH\",\n  \"maxH\",\n  \"position\",\n  \"pos\",\n  \"zIndex\",\n  \"inset\",\n  \"insetX\",\n  \"insetInline\",\n  \"insetY\",\n  \"insetBlock\",\n  \"top\",\n  \"insetBlockStart\",\n  \"bottom\",\n  \"insetBlockEnd\",\n  \"left\",\n  \"insetInlineStart\",\n  \"right\",\n  \"insetInlineEnd\",\n  \"insetStart\",\n  \"insetEnd\",\n  \"margin\",\n  \"marginTop\",\n  \"marginBlockStart\",\n  \"marginRight\",\n  \"marginInlineEnd\",\n  \"marginBottom\",\n  \"marginBlockEnd\",\n  \"marginLeft\",\n  \"marginInlineStart\",\n  \"marginX\",\n  \"marginInline\",\n  \"marginY\",\n  \"marginBlock\",\n  \"padding\",\n  \"paddingTop\",\n  \"paddingBlockStart\",\n  \"paddingRight\",\n  \"paddingBottom\",\n  \"paddingBlockEnd\",\n  \"paddingLeft\",\n  \"paddingInlineStart\",\n  \"paddingInlineEnd\",\n  \"paddingX\",\n  \"paddingInline\",\n  \"paddingY\",\n  \"paddingBlock\",\n  \"m\",\n  \"mt\",\n  \"mr\",\n  \"me\",\n  \"marginEnd\",\n  \"mb\",\n  \"ml\",\n  \"ms\",\n  \"marginStart\",\n  \"mx\",\n  \"my\",\n  \"p\",\n  \"pt\",\n  \"py\",\n  \"px\",\n  \"pb\",\n  \"pl\",\n  \"ps\",\n  \"paddingStart\",\n  \"pr\",\n  \"pe\",\n  \"paddingEnd\",\n  \"alignItems\",\n  \"alignContent\",\n  \"justifyItems\",\n  \"justifyContent\",\n  \"flexWrap\",\n  \"flexDirection\",\n  \"flexDir\",\n  \"flex\",\n  \"flexFlow\",\n  \"flexGrow\",\n  \"flexShrink\",\n  \"flexBasis\",\n  \"justifySelf\",\n  \"alignSelf\",\n  \"order\",\n  \"placeItems\",\n  \"placeContent\",\n  \"placeSelf\",\n  \"gap\",\n  \"rowGap\",\n  \"columnGap\",\n  \"grid\",\n  \"gridColumn\",\n  \"gridRow\",\n  \"gridAutoFlow\",\n  \"gridAutoColumns\",\n  \"gridColumnStart\",\n  \"gridColumnEnd\",\n  \"gridRowStart\",\n  \"gridRowEnd\",\n  \"gridAutoRows\",\n  \"gridTemplate\",\n  \"gridTemplateColumns\",\n  \"gridTemplateRows\",\n  \"gridTemplateAreas\",\n  \"gridArea\",\n] as const\n\nexport interface StyleProps {\n  /**\n   * Apply other styles defined in `theme.styles`.\n   *\n   * @example\n   * ```jsx\n   * <Box apply='mdx.h1'>Box</Box>\n   * ```\n   *\n   * This will apply styles defined in `theme.styles.mdx.h1`\n   */\n  apply?: Token<StringLiteral>\n  /**\n   * Apply layer styles defined in `theme.layerStyles`.\n   */\n  layerStyle?: Token<StringLiteral, \"layerStyles\">\n  /**\n   * Apply text styles defined in `theme.textStyles`.\n   */\n  textStyle?: Token<StringLiteral, \"textStyles\">\n  /**\n   * The CSS `accent-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/accent-color\n   */\n  accent?: Token<CSS.Property.AccentColor, \"colors\">\n  /**\n   * The CSS `accent-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/accent-color\n   */\n  accentColor?: Token<CSS.Property.AccentColor, \"colors\">\n  /**\n   * The CSS `align-content` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/align-content\n   */\n  alignContent?: Token<CSS.Property.AlignContent>\n  /**\n   * The CSS `align-items` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/align-items\n   */\n  alignItems?: Token<CSS.Property.AlignItems>\n  /**\n   * The CSS `alignment-baseline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/alignment-baseline\n   */\n  alignmentBaseline?: Token<CSS.Property.AlignmentBaseline>\n  /**\n   * The CSS `align-self` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/align-self\n   */\n  alignSelf?: Token<CSS.Property.AlignSelf>\n  /**\n   * The CSS `all` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/all\n   */\n  all?: Token<CSS.Globals>\n  /**\n   * The CSS `animation` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation\n   */\n  animation?: Token<CSS.Property.Animation, \"animations\">\n  /**\n   * The CSS `animation-composition` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-composition\n   */\n  animationComposition?: Token<CSS.Property.AnimationComposition>\n  /**\n   * The CSS `animation-delay` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-delay\n   */\n  animationDelay?: Token<CSS.Property.AnimationDelay>\n  /**\n   * The CSS `animation-direction` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-direction\n   */\n  animationDirection?: Token<CSS.Property.AnimationDirection>\n  /**\n   * The CSS `animation-duration` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-duration\n   */\n  animationDuration?: Token<\n    CSS.Property.AnimationDuration,\n    \"transitionDuration\"\n  >\n  /**\n   * The CSS `animation-fill-mode` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-fill-mode\n   */\n  animationFillMode?: Token<CSS.Property.AnimationFillMode>\n  /**\n   * The CSS `animation-iteration-count` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-iteration-count\n   */\n  animationIterationCount?: Token<CSS.Property.AnimationIterationCount>\n  /**\n   * The CSS `animation-name` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-name\n   */\n  animationName?: Token<CSS.Property.AnimationName>\n  /**\n   * The CSS `animation-play-state` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-play-state\n   */\n  animationPlayState?: Token<CSS.Property.AnimationPlayState>\n  /**\n   * The CSS `animation-range` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-range\n   */\n  animationRange?: Token<CSS.Property.AnimationRange>\n  /**\n   * The CSS `animation-range-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-range-end\n   */\n  animationRangeEnd?: Token<CSS.Property.AnimationRangeEnd>\n  /**\n   * The CSS `animation-range-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-range-start\n   */\n  animationRangeStart?: Token<CSS.Property.AnimationRangeStart>\n  /**\n   * The CSS `animation-timeline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-timeline\n   */\n  animationTimeline?: Token<CSS.Property.AnimationTimeline>\n  /**\n   * The CSS `animation-timing-function` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/animation-timing-function\n   */\n  animationTimingFunction?: Token<\n    CSS.Property.AnimationTimingFunction,\n    \"transitionEasing\"\n  >\n  /**\n   * The CSS `appearance` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/appearance\n   */\n  appearance?: Token<CSS.Property.Appearance>\n  /**\n   * The CSS `aspect-ratio` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio\n   */\n  aspectRatio?: Token<CSS.Property.AspectRatio>\n  /**\n   * The CSS `azimuth` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/azimuth\n   *\n   * @deprecated\n   */\n  azimuth?: Token<CSS.Property.Azimuth>\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-blur`.\n   */\n  backdropBlur?: Token<StringLiteral, \"blurs\">\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-brightness`.\n   */\n  backdropBrightness?: Token<StringLiteral>\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-contrast`.\n   */\n  backdropContrast?: Token<StringLiteral>\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-drop-shadow`.\n   */\n  backdropDropShadow?: Token<StringLiteral, \"shadows\">\n  /**\n   * The CSS `backdrop-filter` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter\n   */\n  backdropFilter?: Token<\"auto\" | CSS.Property.BackdropFilter>\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-grayscale`.\n   */\n  backdropGrayscale?: Token<StringLiteral>\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-hue-rotate`.\n   */\n  backdropHueRotate?: Token<StringLiteral>\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-invert`.\n   */\n  backdropInvert?: Token<StringLiteral>\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-saturate`.\n   */\n  backdropSaturate?: Token<StringLiteral>\n  /**\n   * If `backdropBlur=auto`, sets the value of `--ui-backdrop-sepia`.\n   */\n  backdropSepia?: Token<StringLiteral>\n  /**\n   * The CSS `backface-visibility` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/backface-visibility\n   */\n  backfaceVisibility?: Token<CSS.Property.BackfaceVisibility | number, \"sizes\">\n  /**\n   * The CSS `background` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background\n   */\n  background?: Token<CSS.Property.Background, \"colors\">\n  /**\n   * The CSS `background-attachment` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment\n   */\n  backgroundAttachment?: Token<CSS.Property.BackgroundAttachment>\n  /**\n   * The CSS `background-blend-mode` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-blend-mode\n   */\n  backgroundBlendMode?: Token<CSS.Property.BackgroundBlendMode>\n  /**\n   * The CSS `background-clip` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip\n   */\n  backgroundClip?: Token<CSS.Property.BackgroundClip>\n  /**\n   * The CSS `background-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-color\n   */\n  backgroundColor?: Token<CSS.Property.BackgroundColor, \"colors\">\n  /**\n   * The CSS `background-image` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-image\n   */\n  backgroundImage?: Token<CSS.Property.BackgroundImage, \"gradients\">\n  /**\n   * The CSS `background-origin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin\n   */\n  backgroundOrigin?: Token<CSS.Property.BackgroundOrigin>\n  /**\n   * The CSS `background-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-position\n   */\n  backgroundPosition?: Token<CSS.Property.BackgroundPosition>\n  /**\n   * The CSS `background-position-x` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-position-x\n   */\n  backgroundPositionX?: Token<CSS.Property.BackgroundPositionX>\n  /**\n   * The CSS `background-position-y` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-position-y\n   */\n  backgroundPositionY?: Token<CSS.Property.BackgroundPositionY>\n  /**\n   * The CSS `background-repeat` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat\n   */\n  backgroundRepeat?: Token<CSS.Property.BackgroundRepeat>\n  /**\n   * The CSS `background-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-size\n   */\n  backgroundSize?: Token<CSS.Property.BackgroundSize>\n  /**\n   * The CSS `baseline-shift` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseline-shift\n   */\n  baselineShift?: Token<CSS.Property.BaselineShift>\n  /**\n   * The CSS `background` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background\n   */\n  bg?: Token<CSS.Property.Background, \"colors\">\n  /**\n   * The CSS `background-attachment` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment\n   */\n  bgAttachment?: Token<CSS.Property.BackgroundAttachment>\n  /**\n   * The CSS `background-blend-mode` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-blend-mode\n   */\n  bgBlendMode?: Token<CSS.Property.BackgroundBlendMode>\n  /**\n   * The CSS `background-clip` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip\n   */\n  bgClip?: Token<CSS.Property.BackgroundClip>\n  /**\n   * The CSS `background-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-color\n   */\n  bgColor?: Token<CSS.Property.BackgroundColor, \"colors\">\n  /**\n   * The CSS `background-image` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-image\n   */\n  bgGradient?: Token<CSS.Property.BackgroundImage, \"gradients\">\n  /**\n   * The CSS `background-image` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-image\n   */\n  bgImage?: Token<CSS.Property.BackgroundImage, \"gradients\">\n  /**\n   * The CSS `background-image` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-image\n   */\n  bgImg?: Token<CSS.Property.BackgroundImage, \"gradients\">\n  /**\n   * The CSS `background-origin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin\n   */\n  bgOrigin?: Token<CSS.Property.BackgroundOrigin>\n  /**\n   * The CSS `background-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-position\n   */\n  bgPosition?: Token<CSS.Property.BackgroundPosition>\n  /**\n   * The CSS `background-position-x` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-position-x\n   */\n  bgPositionX?: Token<CSS.Property.BackgroundPositionX>\n  /**\n   * The CSS `background-position-y` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-position-y\n   */\n  bgPositionY?: Token<CSS.Property.BackgroundPositionY>\n  /**\n   * The CSS `background-position-x` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-position-x\n   */\n  bgPosX?: Token<CSS.Property.BackgroundPositionX>\n  /**\n   * The CSS `background-position-y` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-position-y\n   */\n  bgPosY?: Token<CSS.Property.BackgroundPositionY>\n  /**\n   * The CSS `background-repeat` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat\n   */\n  bgRepeat?: Token<CSS.Property.BackgroundRepeat>\n  /**\n   * The CSS `background-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/background-size\n   */\n  bgSize?: Token<CSS.Property.BackgroundSize>\n  /**\n   * The CSS `mix-blend-mode` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode\n   */\n  blendMode?: Token<CSS.Property.MixBlendMode>\n  /**\n   * The CSS `block-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/block-size\n   */\n  blockSize?: Token<CSS.Property.BlockSize | number, \"sizes\">\n  /**\n   * If `filter=auto`, sets the value of `--ui-blur`.\n   */\n  blur?: Token<StringLiteral, \"blurs\">\n  /**\n   * The CSS `border` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border\n   */\n  border?: Token<CSS.Property.Border | number, \"borders\">\n  /**\n   * The CSS `border-block` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block\n   */\n  borderBlock?: Token<CSS.Property.BorderBlock | number, \"borders\">\n  /**\n   * The CSS `border-block-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-color\n   */\n  borderBlockColor?: Token<CSS.Property.BorderBlockColor, \"colors\">\n  /**\n   * The CSS `border-block-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-end\n   */\n  borderBlockEnd?: Token<CSS.Property.BorderBlockEnd | number, \"borders\">\n  /**\n   * The CSS `border-block-end-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-end-color\n   */\n  borderBlockEndColor?: Token<CSS.Property.BorderBlockEndColor, \"colors\">\n  /**\n   * The CSS `border-block-end-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-end-style\n   */\n  borderBlockEndStyle?: Token<CSS.Property.BorderBlockEndStyle>\n  /**\n   * The CSS `border-block-end-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-end-width\n   */\n  borderBlockEndWidth?: Token<CSS.Property.BorderBlockEndWidth | number>\n  /**\n   * The CSS `border-block-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-start\n   */\n  borderBlockStart?: Token<CSS.Property.BorderBlockStart | number, \"borders\">\n  /**\n   * The CSS `border-block-start-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-start-color\n   */\n  borderBlockStartColor?: Token<CSS.Property.BorderBlockStartColor, \"colors\">\n  /**\n   * The CSS `border-block-start-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-start-style\n   */\n  borderBlockStartStyle?: Token<CSS.Property.BorderBlockStartStyle>\n  /**\n   * The CSS `border-block-start-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-start-width\n   */\n  borderBlockStartWidth?: Token<CSS.Property.BorderBlockStartWidth | number>\n  /**\n   * The CSS `border-block-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-style\n   */\n  borderBlockStyle?: Token<CSS.Property.BorderBlockStyle>\n  /**\n   * The CSS `border-block-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-block-width\n   */\n  borderBlockWidth?: Token<CSS.Property.BorderBlockWidth | number>\n  /**\n   * The CSS `border-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom\n   */\n  borderBottom?: Token<CSS.Property.BorderBottom | number, \"borders\">\n  /**\n   * The CSS `border-bottom-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-color\n   */\n  borderBottomColor?: Token<CSS.Property.BorderBottomColor, \"colors\">\n  /**\n   * The CSS `border-end-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-end-radius\n   */\n  borderBottomEndRadius?: Token<\n    CSS.Property.BorderEndEndRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-bottom-left-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius\n   */\n  borderBottomLeftRadius?: Token<\n    CSS.Property.BorderBottomLeftRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-bottom-left-radius` and `border-bottom-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\n   */\n  borderBottomRadius?: Token<\n    | CSS.Property.BorderBottomLeftRadius\n    | CSS.Property.BorderBottomRightRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-bottom-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\n   */\n  borderBottomRightRadius?: Token<\n    CSS.Property.BorderBottomRightRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-end-start-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-start-radius\n   */\n  borderBottomStartRadius?: Token<\n    CSS.Property.BorderEndStartRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-bottom-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-style\n   */\n  borderBottomStyle?: Token<CSS.Property.BorderBottomStyle>\n  /**\n   * The CSS `border-bottom-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-width\n   */\n  borderBottomWidth?: Token<CSS.Property.BorderBottomWidth | number>\n  /**\n   * The CSS `border-collapse` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-collapse\n   */\n  borderCollapse?: Token<CSS.Property.BorderCollapse>\n  /**\n   * The CSS `border-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-color\n   */\n  borderColor?: Token<CSS.Property.BorderColor, \"colors\">\n  /**\n   * The CSS `border-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-end\n   */\n  borderEnd?: Token<CSS.Property.BorderInlineEnd | number, \"borders\">\n  /**\n   * The CSS `border-inline-end-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-end-color\n   */\n  borderEndColor?: Token<CSS.Property.BorderInlineEndColor, \"colors\">\n  /**\n   * The CSS `border-end-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-end-radius\n   */\n  borderEndEndRadius?: Token<CSS.Property.BorderEndEndRadius | number, \"radii\">\n  /**\n   * The CSS `border-end-start-radius` and `border-end-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-end-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-start-radius\n   */\n  borderEndRadius?: Token<\n    | CSS.Property.BorderEndEndRadius\n    | CSS.Property.BorderEndStartRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-end-start-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-start-radius\n   */\n  borderEndStartRadius?: Token<\n    CSS.Property.BorderEndStartRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-inline-end-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-end-style\n   */\n  borderEndStyle?: Token<CSS.Property.BorderInlineEndStyle>\n  /**\n   * The CSS `border-inline-end-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-end-width\n   */\n  borderEndWidth?: Token<CSS.Property.BorderInlineEndWidth | number>\n  /**\n   * The CSS `border-image` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-image\n   */\n  borderImage?: Token<CSS.Property.BorderImage | number, \"borders\">\n  /**\n   * The CSS `border-image-outset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-outset\n   */\n  borderImageOutset?: Token<CSS.Property.BorderImageOutset>\n  /**\n   * The CSS `border-image-repeat` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-repeat\n   */\n  borderImageRepeat?: Token<CSS.Property.BorderImageRepeat>\n  /**\n   * The CSS `border-image-slice` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-slice\n   */\n  borderImageSlice?: Token<CSS.Property.BorderImageSlice>\n  /**\n   * The CSS `border-image-source` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-source\n   */\n  borderImageSource?: Token<CSS.Property.BorderImageSource, \"gradients\">\n  /**\n   * The CSS `border-image-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-width\n   */\n  borderImageWidth?: Token<CSS.Property.BorderImageWidth | number>\n  /**\n   * The CSS `border-inline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline\n   */\n  borderInline?: Token<CSS.Property.BorderInline | number, \"borders\">\n  /**\n   * The CSS `border-inline-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-color\n   */\n  borderInlineColor?: Token<CSS.Property.BorderInlineColor, \"colors\">\n  /**\n   * The CSS `border-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-end\n   */\n  borderInlineEnd?: Token<CSS.Property.BorderInlineEnd | number, \"borders\">\n  /**\n   * The CSS `border-inline-end-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-end-color\n   */\n  borderInlineEndColor?: Token<CSS.Property.BorderInlineEndColor, \"colors\">\n  /**\n   * The CSS `border-end-start-radius` and `border-end-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-end-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-start-radius\n   */\n  borderInlineEndRadius?: Token<\n    | CSS.Property.BorderEndEndRadius\n    | CSS.Property.BorderEndStartRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-inline-end-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-end-style\n   */\n  borderInlineEndStyle?: Token<CSS.Property.BorderInlineEndStyle>\n  /**\n   * The CSS `border-inline-end-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-end-width\n   */\n  borderInlineEndWidth?: Token<CSS.Property.BorderInlineEndWidth | number>\n  /**\n   * The CSS `border-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-start\n   */\n  borderInlineStart?: Token<CSS.Property.BorderInlineStart | number, \"borders\">\n  /**\n   * The CSS `border-inline-start-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-start-color\n   */\n  borderInlineStartColor?: Token<CSS.Property.BorderInlineStartColor, \"colors\">\n  /**\n   * The CSS `border-start-start-radius` and `border-start-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-end-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-start-radius\n   */\n  borderInlineStartRadius?: Token<\n    | CSS.Property.BorderStartEndRadius\n    | CSS.Property.BorderStartStartRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-inline-start-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-start-style\n   */\n  borderInlineStartStyle?: Token<CSS.Property.BorderInlineStartStyle>\n  /**\n   * The CSS `border-inline-start-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-start-width\n   */\n  borderInlineStartWidth?: Token<CSS.Property.BorderInlineStartWidth | number>\n  /**\n   * The CSS `border-inline-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-style\n   */\n  borderInlineStyle?: Token<CSS.Property.BorderInlineStyle>\n  /**\n   * The CSS `border-inline-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-width\n   */\n  borderInlineWidth?: Token<CSS.Property.BorderInlineWidth | number>\n  /**\n   * The CSS `border-left` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-left\n   */\n  borderLeft?: Token<CSS.Property.BorderLeft | number, \"borders\">\n  /**\n   * The CSS `border-left-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-color\n   */\n  borderLeftColor?: Token<CSS.Property.BorderLeftColor, \"colors\">\n  /**\n   * The CSS `border-top-left-radius` and `border-bottom-left-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius\n   */\n  borderLeftRadius?: Token<\n    | CSS.Property.BorderBottomLeftRadius\n    | CSS.Property.BorderTopLeftRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-left-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-style\n   */\n  borderLeftStyle?: Token<CSS.Property.BorderLeftStyle>\n  /**\n   * The CSS `border-left-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-width\n   */\n  borderLeftWidth?: Token<CSS.Property.BorderLeftWidth | number>\n  /**\n   * The CSS `border-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius\n   */\n  borderRadius?: Token<CSS.Property.BorderRadius | number, \"radii\">\n  /**\n   * The CSS `border-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-right\n   */\n  borderRight?: Token<CSS.Property.BorderRight | number, \"borders\">\n  /**\n   * The CSS `border-right-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-color\n   */\n  borderRightColor?: Token<CSS.Property.BorderRightColor, \"colors\">\n  /**\n   * The CSS `border-top-right-radius` and `border-bottom-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-right-radius\n   */\n  borderRightRadius?: Token<\n    | CSS.Property.BorderBottomRightRadius\n    | CSS.Property.BorderTopRightRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-right-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-style\n   */\n  borderRightStyle?: Token<CSS.Property.BorderRightStyle>\n  /**\n   * The CSS `border-right-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-width\n   */\n  borderRightWidth?: Token<CSS.Property.BorderRightWidth | number>\n  /**\n   * The CSS `border-spacing` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-spacing\n   */\n  borderSpacing?: Token<CSS.Property.BorderSpacing>\n  /**\n   * The CSS `border-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-start\n   */\n  borderStart?: Token<CSS.Property.BorderInlineStart | number, \"borders\">\n  /**\n   * The CSS `border-inline-start-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-start-color\n   */\n  borderStartColor?: Token<CSS.Property.BorderInlineStartColor, \"colors\">\n  /**\n   * The CSS `border-start-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-end-radius\n   */\n  borderStartEndRadius?: Token<\n    CSS.Property.BorderStartEndRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-start-start-radius` and `border-start-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-end-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-start-radius\n   */\n  borderStartRadius?: Token<\n    | CSS.Property.BorderStartEndRadius\n    | CSS.Property.BorderStartStartRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-start-start-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-start-radius\n   */\n  borderStartStartRadius?: Token<\n    CSS.Property.BorderStartStartRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-inline-start-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-start-style\n   */\n  borderStartStyle?: Token<CSS.Property.BorderInlineStartStyle>\n  /**\n   * The CSS `border-inline-start-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-inline-start-width\n   */\n  borderStartWidth?: Token<CSS.Property.BorderInlineStartWidth | number>\n  /**\n   * The CSS `border-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n   */\n  borderStyle?: Token<CSS.Property.BorderStyle>\n  /**\n   * The CSS `border-top` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top\n   */\n  borderTop?: Token<CSS.Property.BorderTop | number, \"borders\">\n  /**\n   * The CSS `border-top-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-color\n   */\n  borderTopColor?: Token<CSS.Property.BorderTopColor, \"colors\">\n  /**\n   * The CSS `border-start-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-end-radius\n   */\n  borderTopEndRadius?: Token<\n    CSS.Property.BorderStartEndRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-top-left-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius\n   */\n  borderTopLeftRadius?: Token<\n    CSS.Property.BorderTopLeftRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-top-left-radius` and `border-top-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-right-radius\n   */\n  borderTopRadius?: Token<\n    | CSS.Property.BorderTopLeftRadius\n    | CSS.Property.BorderTopRightRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-top-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-right-radius\n   */\n  borderTopRightRadius?: Token<\n    CSS.Property.BorderTopRightRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-start-start-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-start-radius\n   */\n  borderTopStartRadius?: Token<\n    CSS.Property.BorderStartStartRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-top-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-style\n   */\n  borderTopStyle?: Token<CSS.Property.BorderTopStyle>\n  /**\n   * The CSS `border-top-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-width\n   */\n  borderTopWidth?: Token<CSS.Property.BorderTopWidth | number>\n  /**\n   * The CSS `border-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-width\n   */\n  borderWidth?: Token<CSS.Property.BorderWidth | number>\n  /**\n   * The CSS `border-left` and `border-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-left\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-right\n   */\n  borderX?: Token<\n    CSS.Property.BorderLeft | CSS.Property.BorderRight | number,\n    \"borders\"\n  >\n  /**\n   * The CSS `border-top` and `border-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top\n   */\n  borderY?: Token<\n    CSS.Property.BorderBottom | CSS.Property.BorderTop | number,\n    \"borders\"\n  >\n  /**\n   * The CSS `bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/bottom\n   */\n  bottom?: Token<CSS.Property.Bottom | number, \"spaces\">\n  /**\n   * The CSS `box-align` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-align\n   *\n   * @deprecated\n   */\n  boxAlign?: Token<CSS.Property.BoxAlign>\n  /**\n   * The CSS `box-decoration-break` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-decoration-break\n   */\n  boxDecorationBreak?: Token<CSS.Property.BoxDecorationBreak>\n  /**\n   * The CSS `box-direction` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-direction\n   *\n   * @deprecated\n   */\n  boxDirection?: Token<CSS.Property.BoxDirection>\n  /**\n   * The CSS `box-flex` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-flex\n   *\n   * @deprecated\n   */\n  boxFlex?: Token<CSS.Property.BoxFlex>\n  /**\n   * The CSS `box-flex-group` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-flex-group\n   *\n   * @deprecated\n   */\n  boxFlexGroup?: Token<CSS.Property.BoxFlexGroup>\n  /**\n   * The CSS `box-lines` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-lines\n   *\n   * @deprecated\n   */\n  boxLines?: Token<CSS.Property.BoxLines>\n  /**\n   * The CSS `box-ordinal-group` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-ordinal-group\n   *\n   * @deprecated\n   */\n  boxOrdinalGroup?: Token<CSS.Property.BoxOrdinalGroup>\n  /**\n   * The CSS `box-orient` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-orient\n   *\n   * @deprecated\n   */\n  boxOrient?: Token<CSS.Property.BoxOrient>\n  /**\n   * The CSS `box-pack` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-pack\n   *\n   * @deprecated\n   */\n  boxPack?: Token<CSS.Property.BoxPack>\n  /**\n   * The CSS `box-shadow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n   */\n  boxShadow?: Token<CSS.Property.BoxShadow, \"shadows\">\n  /**\n   * The CSS `width` and `height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/height\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/width\n   */\n  boxSize?: Token<CSS.Property.Height | CSS.Property.Width | number, \"sizes\">\n  /**\n   * The CSS `box-sizing` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing\n   */\n  boxSizing?: Token<CSS.Property.BoxSizing>\n  /**\n   * The CSS `break-after` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/break-after\n   */\n  breakAfter?: Token<CSS.Property.BreakAfter>\n  /**\n   * The CSS `break-before` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/break-before\n   */\n  breakBefore?: Token<CSS.Property.BreakBefore>\n  /**\n   * The CSS `break-inside` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/break-inside\n   */\n  breakInside?: Token<CSS.Property.BreakInside>\n  /**\n   * If `filter=auto`, sets the value of `--ui-brightness`.\n   */\n  brightness?: Token<StringLiteral>\n  /**\n   * The CSS `caption-side` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/caption-side\n   */\n  captionSide?: Token<CSS.Property.CaptionSide>\n  /**\n   * The CSS `caret-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/caret-color\n   */\n  caret?: Token<CSS.Property.CaretColor, \"colors\">\n  /**\n   * The CSS `caret-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/caret-color\n   */\n  caretColor?: Token<CSS.Property.CaretColor, \"colors\">\n  /**\n   * The CSS `clear` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/clear\n   */\n  clear?: Token<CSS.Property.Clear>\n  /**\n   * The CSS `clip` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/clip\n   */\n  clip?: Token<CSS.Property.Clip>\n  /**\n   * The CSS `clip-path` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/clip-path\n   */\n  clipPath?: Token<CSS.Property.ClipPath>\n  /**\n   * The CSS `clip-rule` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/clip-rule\n   */\n  clipRule?: Token<CSS.Property.ClipRule>\n  /**\n   * The CSS `color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/color\n   */\n  color?: Token<CSS.Property.Color, \"colors\">\n  /**\n   * The CSS `color-interpolation` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/color-interpolation\n   */\n  colorInterpolation?: Token<CSS.Property.ColorInterpolation>\n  /**\n   * The CSS `color-scheme` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme\n   */\n  colorMode?: Token<CSS.Property.ColorScheme>\n  /**\n   * The CSS `column-count` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-count\n   */\n  columnCount?: Token<CSS.Property.ColumnCount>\n  /**\n   * The CSS `column-fill` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-fill\n   */\n  columnFill?: Token<CSS.Property.ColumnFill>\n  /**\n   * The CSS `column-gap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-gap\n   */\n  columnGap?: Token<CSS.Property.ColumnGap | number, \"spaces\">\n  /**\n   * The CSS `column-rule` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule\n   */\n  columnRule?: Token<CSS.Property.ColumnRule | number>\n  /**\n   * The CSS `column-rule-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule-color\n   */\n  columnRuleColor?: Token<CSS.Property.ColumnRuleColor, \"colors\">\n  /**\n   * The CSS `column-rule-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule-style\n   */\n  columnRuleStyle?: Token<CSS.Property.ColumnRuleStyle>\n  /**\n   * The CSS `column-rule-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule-width\n   */\n  columnRuleWidth?: Token<CSS.Property.ColumnRuleWidth | number>\n  /**\n   * The CSS `columns` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/columns\n   */\n  columns?: Token<CSS.Property.Columns>\n  /**\n   * The CSS `column-span` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-span\n   */\n  columnSpan?: Token<CSS.Property.ColumnSpan>\n  /**\n   * The CSS `column-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-width\n   */\n  columnWidth?: Token<CSS.Property.ColumnWidth | number, \"sizes\">\n  /**\n   * The CSS `contain` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/contain\n   */\n  contain?: Token<CSS.Property.Contain>\n  /**\n   * The CSS `container` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/container\n   */\n  container?: Token<CSS.Property.Container>\n  /**\n   * The CSS `container-name` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/container-name\n   */\n  containerName?: Token<CSS.Property.ContainerName>\n  /**\n   * The CSS `container-type` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/container-type\n   */\n  containerType?: Token<CSS.Property.ContainerType>\n  /**\n   * The CSS `contain-intrinsic-block-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/contain-intrinsic-block-size\n   */\n  containIntrinsicBlockSize?: Token<CSS.Property.ContainIntrinsicBlockSize>\n  /**\n   * The CSS `contain-intrinsic-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/contain-intrinsic-height\n   */\n  containIntrinsicHeight?: Token<CSS.Property.ContainIntrinsicHeight>\n  /**\n   * The CSS `contain-intrinsic-inline-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/contain-intrinsic-inline-size\n   */\n  containIntrinsicInlineSize?: Token<CSS.Property.ContainIntrinsicInlineSize>\n  /**\n   * The CSS `contain-intrinsic-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/contain-intrinsic-size\n   */\n  containIntrinsicSize?: Token<CSS.Property.ContainIntrinsicSize>\n  /**\n   * The CSS `contain-intrinsic-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/contain-intrinsic-width\n   */\n  containIntrinsicWidth?: Token<\n    CSS.Property.ContainIntrinsicWidth | number,\n    \"sizes\"\n  >\n  /**\n   * The CSS `content` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/content\n   */\n  content?: Token<CSS.Property.Content>\n  /**\n   * The CSS `content-visibility` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/content-visibility\n   */\n  contentVisibility?: Token<CSS.Property.ContentVisibility>\n  /**\n   * If `filter=auto`, sets the value of `--ui-contrast`.\n   */\n  contrast?: Token<StringLiteral>\n  /**\n   * The CSS `counter-increment` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/counter-increment\n   */\n  counterIncrement?: Token<CSS.Property.CounterIncrement>\n  /**\n   * The CSS `counter-reset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/counter-reset\n   */\n  counterReset?: Token<CSS.Property.CounterReset>\n  /**\n   * The CSS `counter-set` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/counter-set\n   */\n  counterSet?: Token<CSS.Property.CounterSet>\n  /**\n   * The CSS `cursor` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/cursor\n   */\n  cursor?: Token<CSS.Property.Cursor>\n  /**\n   * The CSS `direction` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/direction\n   */\n  direction?: Token<CSS.Property.Direction>\n  /**\n   * The CSS `display` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/display\n   */\n  display?: Token<CSS.Property.Display>\n  /**\n   * The CSS `dominant-baseline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/dominant-baseline\n   */\n  dominantBaseline?: Token<CSS.Property.DominantBaseline>\n  /**\n   * If `filter=auto`, sets the value of `--ui-drop-shadow`.\n   */\n  dropShadow?: Token<StringLiteral, \"shadows\">\n  /**\n   * The CSS `empty-cells` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/empty-cells\n   */\n  emptyCells?: Token<CSS.Property.EmptyCells>\n  /**\n   * The CSS `fill` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/fill\n   */\n  fill?: Token<CSS.Property.Fill, \"colors\">\n  /**\n   * The CSS `fill-opacity` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/fill-opacity\n   */\n  fillOpacity?: Token<CSS.Property.FillOpacity>\n  /**\n   * The CSS `fill-rule` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/fill-rule\n   */\n  fillRule?: Token<CSS.Property.FillRule>\n  /**\n   * The CSS `filter` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/filter\n   */\n  filter?: Token<\"auto\" | CSS.Property.Filter>\n  /**\n   * The CSS `flex` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n   */\n  flex?: Token<CSS.Property.Flex>\n  /**\n   * The CSS `flex-basis` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis\n   */\n  flexBasis?: Token<CSS.Property.FlexBasis | number, \"sizes\">\n  /**\n   * The CSS `flex-direction` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction\n   */\n  flexDir?: Token<CSS.Property.FlexDirection>\n  /**\n   * The CSS `flex-direction` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction\n   */\n  flexDirection?: Token<CSS.Property.FlexDirection>\n  /**\n   * The CSS `flex-flow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/flex-flow\n   */\n  flexFlow?: Token<CSS.Property.FlexFlow>\n  /**\n   * The CSS `flex-grow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow\n   */\n  flexGrow?: Token<CSS.Property.FlexGrow>\n  /**\n   * The CSS `flex-shrink` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink\n   */\n  flexShrink?: Token<CSS.Property.FlexShrink>\n  /**\n   * The CSS `flex-wrap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap\n   */\n  flexWrap?: Token<CSS.Property.FlexWrap>\n  /**\n   * The CSS `float` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/float\n   */\n  float?: Token<CSS.Property.Float>\n  /**\n   * The CSS `flood-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/flood-color\n   */\n  floodColor?: Token<CSS.Property.FloodColor, \"colors\">\n  /**\n   * The CSS `flood-opacity` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/flood-opacity\n   */\n  floodOpacity?: Token<CSS.Property.FloodOpacity>\n  /**\n   * The CSS `font` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font\n   */\n  font?: Token<CSS.Property.Font>\n  /**\n   * The CSS `font-family` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-family\n   */\n  fontFamily?: Token<CSS.Property.FontFamily, \"fonts\">\n  /**\n   * The CSS `font-feature-settings` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings\n   */\n  fontFeatureSettings?: Token<CSS.Property.FontFeatureSettings>\n  /**\n   * The CSS `font-kerning` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-kerning\n   */\n  fontKerning?: Token<CSS.Property.FontKerning>\n  /**\n   * The CSS `font-language-override` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-language-override\n   */\n  fontLanguageOverride?: Token<CSS.Property.FontLanguageOverride>\n  /**\n   * The CSS `font-optical-sizing` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-optical-sizing\n   */\n  fontOpticalSizing?: Token<CSS.Property.FontOpticalSizing>\n  /**\n   * The CSS `font-palette` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-palette\n   */\n  fontPalette?: Token<CSS.Property.FontPalette>\n  /**\n   * The CSS `font-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n   */\n  fontSize?: Token<CSS.Property.FontSize | number, \"fontSizes\">\n  /**\n   * The CSS `font-size-adjust` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust\n   */\n  fontSizeAdjust?: Token<CSS.Property.FontSizeAdjust>\n  /**\n   * The CSS `font-smooth` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth\n   */\n  fontSmooth?: Token<CSS.Property.FontSmooth>\n  /**\n   * The CSS `font-stretch` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretch\n   */\n  fontStretch?: Token<CSS.Property.FontStretch>\n  /**\n   * The CSS `font-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\n   */\n  fontStyle?: Token<CSS.Property.FontStyle>\n  /**\n   * The CSS `font-synthesis` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-synthesis\n   */\n  fontSynthesis?: Token<CSS.Property.FontSynthesis>\n  /**\n   * The CSS `font-synthesis-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-synthesis-position\n   */\n  fontSynthesisPosition?: Token<CSS.Property.FontSynthesisPosition>\n  /**\n   * The CSS `font-synthesis-small-caps` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-synthesis-small-caps\n   */\n  fontSynthesisSmallCaps?: Token<CSS.Property.FontSynthesisSmallCaps>\n  /**\n   * The CSS `font-synthesis-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-synthesis-style\n   */\n  fontSynthesisStyle?: Token<CSS.Property.FontSynthesisStyle>\n  /**\n   * The CSS `font-synthesis-weight` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-synthesis-weight\n   */\n  fontSynthesisWeight?: Token<CSS.Property.FontSynthesisWeight>\n  /**\n   * The CSS `font-variant` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant\n   */\n  fontVariant?: Token<CSS.Property.FontVariant>\n  /**\n   * The CSS `font-variant-alternates` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-alternates\n   */\n  fontVariantAlternates?: Token<CSS.Property.FontVariantAlternates>\n  /**\n   * The CSS `font-variant-caps` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-caps\n   */\n  fontVariantCaps?: Token<CSS.Property.FontVariantCaps>\n  /**\n   * The CSS `font-variant-east-asian` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-east-asian\n   */\n  fontVariantEastAsian?: Token<CSS.Property.FontVariantEastAsian>\n  /**\n   * The CSS `font-variant-emoji` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-emoji\n   */\n  fontVariantEmoji?: Token<CSS.Property.FontVariantEmoji>\n  /**\n   * The CSS `font-variant-ligatures` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-ligatures\n   */\n  fontVariantLigatures?: Token<CSS.Property.FontVariantLigatures>\n  /**\n   * The CSS `font-variant-numeric` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-numeric\n   */\n  fontVariantNumeric?: Token<CSS.Property.FontVariantNumeric>\n  /**\n   * The CSS `font-variant-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-position\n   */\n  fontVariantPosition?: Token<CSS.Property.FontVariantPosition>\n  /**\n   * The CSS `font-variation-settings` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-variation-settings\n   */\n  fontVariationSettings?: Token<CSS.Property.FontVariationSettings>\n  /**\n   * The CSS `font-weight` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n   */\n  fontWeight?: Token<CSS.Property.FontWeight, \"fontWeights\">\n  /**\n   * The CSS `forced-color-adjust` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/forced-color-adjust\n   */\n  forcedColorAdjust?: Token<CSS.Property.ForcedColorAdjust>\n  /**\n   * The CSS `gap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/gap\n   */\n  g?: Token<CSS.Property.Gap | number, \"spaces\">\n  /**\n   * The CSS `gap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/gap\n   */\n  gap?: Token<CSS.Property.Gap | number, \"spaces\">\n  /**\n   * The CSS `column-gap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-gap\n   */\n  gapX?: Token<CSS.Property.ColumnGap | number, \"spaces\">\n  /**\n   * The CSS `row-gap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/row-gap\n   */\n  gapY?: Token<CSS.Property.RowGap | number, \"spaces\">\n  /**\n   * The CSS `glyph-orientation-vertical` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyph-orientation-vertical\n   */\n  glyphOrientationVertical?: Token<CSS.Property.GlyphOrientationVertical>\n  /**\n   * If `filter=auto`, sets the value of `--ui-grayscale`.\n   */\n  grayscale?: Token<StringLiteral>\n  /**\n   * The CSS `grid` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid\n   */\n  grid?: Token<CSS.Property.Grid>\n  /**\n   * The CSS `grid-area` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area\n   */\n  gridArea?: Token<CSS.Property.GridArea>\n  /**\n   * The CSS `grid-auto-columns` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns\n   */\n  gridAutoColumns?: Token<CSS.Property.GridAutoColumns | number, \"sizes\">\n  /**\n   * The CSS `grid-auto-flow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow\n   */\n  gridAutoFlow?: Token<CSS.Property.GridAutoFlow>\n  /**\n   * The CSS `grid-auto-rows` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows\n   */\n  gridAutoRows?: Token<CSS.Property.GridAutoRows | number, \"sizes\">\n  /**\n   * The CSS `grid-column` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column\n   */\n  gridColumn?: Token<CSS.Property.GridColumn>\n  /**\n   * The CSS `grid-column-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-end\n   */\n  gridColumnEnd?: Token<CSS.Property.GridColumnEnd>\n  /**\n   * The CSS `grid-column-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-start\n   */\n  gridColumnStart?: Token<CSS.Property.GridColumnStart>\n  /**\n   * The CSS `grid-row` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row\n   */\n  gridRow?: Token<CSS.Property.GridRow>\n  /**\n   * The CSS `grid-row-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-end\n   */\n  gridRowEnd?: Token<CSS.Property.GridRowEnd>\n  /**\n   * The CSS `grid-row-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-start\n   */\n  gridRowStart?: Token<CSS.Property.GridRowStart>\n  /**\n   * The CSS `grid-template` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template\n   */\n  gridTemplate?: Token<CSS.Property.GridTemplate>\n  /**\n   * The CSS `grid-template-areas` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas\n   */\n  gridTemplateAreas?: Token<CSS.Property.GridTemplateAreas>\n  /**\n   * The CSS `grid-template-columns` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns\n   */\n  gridTemplateColumns?: Token<\n    CSS.Property.GridTemplateColumns | number,\n    \"sizes\"\n  >\n  /**\n   * The CSS `grid-template-rows` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows\n   */\n  gridTemplateRows?: Token<CSS.Property.GridTemplateRows | number, \"sizes\">\n  /**\n   * The CSS `column-gap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/column-gap\n   */\n  gx?: Token<CSS.Property.ColumnGap | number, \"spaces\">\n  /**\n   * The CSS `row-gap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/row-gap\n   */\n  gy?: Token<CSS.Property.RowGap | number, \"spaces\">\n  /**\n   * The CSS `height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/height\n   */\n  h?: Token<CSS.Property.Height | number, \"sizes\">\n  /**\n   * The CSS `hanging-punctuation` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/hanging-punctuation\n   */\n  hangingPunctuation?: Token<CSS.Property.HangingPunctuation>\n  /**\n   * The CSS `height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/height\n   */\n  height?: Token<CSS.Property.Height | number, \"sizes\">\n  /**\n   * If `filter=auto`, sets the value of `--ui-hue-rotate`.\n   */\n  hueRotate?: Token<StringLiteral>\n  /**\n   * The CSS `hyphenate-character` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/hyphenate-character\n   */\n  hyphenateCharacter?: Token<CSS.Property.HyphenateCharacter>\n  /**\n   * The CSS `hyphenate-limit-chars` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/hyphenate-limit-chars\n   */\n  hyphenateLimitChars?: Token<CSS.Property.HyphenateLimitChars>\n  /**\n   * The CSS `hyphens` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens\n   */\n  hyphens?: Token<CSS.Property.Hyphens>\n  /**\n   * The CSS `image-orientation` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/image-orientation\n   */\n  imageOrientation?: Token<CSS.Property.ImageOrientation>\n  /**\n   * The CSS `image-rendering` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering\n   */\n  imageRendering?: Token<CSS.Property.ImageRendering>\n  /**\n   * The CSS `image-resolution` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/image-resolution\n   */\n  imageResolution?: Token<CSS.Property.ImageResolution>\n  /**\n   * The CSS `initial-letter` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/initial-letter\n   */\n  initialLetter?: Token<CSS.Property.InitialLetter>\n  /**\n   * The CSS `inline-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size\n   */\n  inlineSize?: Token<CSS.Property.InlineSize | number, \"sizes\">\n  /**\n   * The CSS `inset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset\n   */\n  inset?: Token<CSS.Property.Inset | number, \"spaces\">\n  /**\n   * The CSS `inset-block` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset-block\n   */\n  insetBlock?: Token<CSS.Property.InsetBlock | number, \"spaces\">\n  /**\n   * The CSS `inset-block-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset-block-end\n   */\n  insetBlockEnd?: Token<CSS.Property.InsetBlockEnd | number, \"spaces\">\n  /**\n   * The CSS `inset-block-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset-block-start\n   */\n  insetBlockStart?: Token<CSS.Property.InsetBlockStart | number, \"spaces\">\n  /**\n   * The CSS `inset-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline-end\n   */\n  insetEnd?: Token<CSS.Property.InsetInlineEnd | number, \"spaces\">\n  /**\n   * The CSS `inset-inline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline\n   */\n  insetInline?: Token<CSS.Property.InsetInline | number, \"spaces\">\n  /**\n   * The CSS `inset-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline-end\n   */\n  insetInlineEnd?: Token<CSS.Property.InsetInlineEnd | number, \"spaces\">\n  /**\n   * The CSS `inset-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline-start\n   */\n  insetInlineStart?: Token<CSS.Property.InsetInlineStart | number, \"spaces\">\n  /**\n   * The CSS `inset-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline-start\n   */\n  insetStart?: Token<CSS.Property.InsetInlineStart | number, \"spaces\">\n  /**\n   * The CSS `left` and `right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/left\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/right\n   */\n  insetX?: Token<CSS.Property.Left | CSS.Property.Right | number, \"spaces\">\n  /**\n   * The CSS `top` and `bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/bottom\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/top\n   */\n  insetY?: Token<CSS.Property.Bottom | CSS.Property.Top | number, \"spaces\">\n  /**\n   * If `filter=auto`, sets the value of `--ui-invert`.\n   */\n  invert?: Token<StringLiteral>\n  /**\n   * The CSS `isolation` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/isolation\n   */\n  isolation?: Token<CSS.Property.Isolation>\n  /**\n   * If `true`, it clamps truncate a text after one line.\n   */\n  isTruncated?: Token<boolean>\n  /**\n   * The CSS `justify-content` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content\n   */\n  justifyContent?: Token<CSS.Property.JustifyContent>\n  /**\n   * The CSS `justify-items` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items\n   */\n  justifyItems?: Token<CSS.Property.JustifyItems>\n  /**\n   * The CSS `justify-self` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/justify-self\n   */\n  justifySelf?: Token<CSS.Property.JustifySelf>\n  /**\n   * The CSS `line-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n   */\n  leading?: Token<CSS.Property.LineHeight, \"lineHeights\">\n  /**\n   * The CSS `left` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/left\n   */\n  left?: Token<CSS.Property.Left | number, \"spaces\">\n  /**\n   * The CSS `letter-spacing` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n   */\n  letterSpacing?: Token<CSS.Property.LetterSpacing, \"letterSpacings\">\n  /**\n   * The CSS `lighting-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lighting-color\n   */\n  lightingColor?: Token<CSS.Property.LightingColor, \"colors\">\n  /**\n   * The CSS `line-break` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/line-break\n   */\n  lineBreak?: Token<CSS.Property.LineBreak>\n  /**\n   * Used to visually truncate a text after a number of lines.\n   */\n  lineClamp?: Token<number>\n  /**\n   * The CSS `line-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n   */\n  lineHeight?: Token<CSS.Property.LineHeight, \"lineHeights\">\n  /**\n   * The CSS `line-height-step` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/line-height-step\n   */\n  lineHeightStep?: Token<CSS.Property.LineHeightStep>\n  /**\n   * The CSS `list-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/list-style\n   */\n  listStyle?: Token<CSS.Property.ListStyle>\n  /**\n   * The CSS `list-style-image` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-image\n   */\n  listStyleImage?: Token<CSS.Property.ListStyleImage, \"gradients\">\n  /**\n   * The CSS `list-style-image` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-image\n   */\n  listStyleImg?: Token<CSS.Property.ListStyleImage, \"gradients\">\n  /**\n   * The CSS `list-style-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-position\n   */\n  listStylePos?: Token<CSS.Property.ListStylePosition>\n  /**\n   * The CSS `list-style-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-position\n   */\n  listStylePosition?: Token<CSS.Property.ListStylePosition>\n  /**\n   * The CSS `list-style-type` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type\n   */\n  listStyleType?: Token<CSS.Property.ListStyleType>\n  /**\n   * The CSS `margin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n   */\n  m?: Token<CSS.Property.Margin | number, \"spaces\">\n  /**\n   * The CSS `margin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n   */\n  margin?: Token<CSS.Property.Margin | number, \"spaces\">\n  /**\n   * The CSS `margin-block` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-block\n   */\n  marginBlock?: Token<CSS.Property.MarginBlock | number, \"spaces\">\n  /**\n   * The CSS `margin-block-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-block-end\n   */\n  marginBlockEnd?: Token<CSS.Property.MarginBlockEnd | number, \"spaces\">\n  /**\n   * The CSS `margin-block-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-block-start\n   */\n  marginBlockStart?: Token<CSS.Property.MarginBlockStart | number, \"spaces\">\n  /**\n   * The CSS `margin-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n   */\n  marginBottom?: Token<CSS.Property.MarginBottom | number, \"spaces\">\n  /**\n   * The CSS `margin-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-end\n   */\n  marginEnd?: Token<CSS.Property.MarginInlineEnd | number, \"spaces\">\n  /**\n   * The CSS `margin-inline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline\n   */\n  marginInline?: Token<CSS.Property.MarginInline | number, \"spaces\">\n  /**\n   * The CSS `margin-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-end\n   */\n  marginInlineEnd?: Token<CSS.Property.MarginInlineEnd | number, \"spaces\">\n  /**\n   * The CSS `margin-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-start\n   */\n  marginInlineStart?: Token<CSS.Property.MarginInlineStart | number, \"spaces\">\n  /**\n   * The CSS `margin-left` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n   */\n  marginLeft?: Token<CSS.Property.MarginLeft | number, \"spaces\">\n  /**\n   * The CSS `margin-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n   */\n  marginRight?: Token<CSS.Property.MarginRight | number, \"spaces\">\n  /**\n   * The CSS `margin-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-start\n   */\n  marginStart?: Token<CSS.Property.MarginInlineStart | number, \"spaces\">\n  /**\n   * The CSS `margin-top` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n   */\n  marginTop?: Token<CSS.Property.MarginTop | number, \"spaces\">\n  /**\n   * The CSS `margin-trim` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-trim\n   */\n  marginTrim?: Token<CSS.Property.MarginTrim>\n  /**\n   * The CSS `margin-inline-start` and `margin-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-end\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-start\n   */\n  marginX?: Token<\n    CSS.Property.MarginInlineEnd | CSS.Property.MarginInlineStart | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `margin-top` and `margin-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n   */\n  marginY?: Token<\n    CSS.Property.MarginBottom | CSS.Property.MarginTop | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `marker` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/marker\n   */\n  marker?: Token<CSS.Property.Marker>\n  /**\n   * The CSS `marker-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/marker-end\n   */\n  markerEnd?: Token<CSS.Property.MarkerEnd>\n  /**\n   * The CSS `marker-mid` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/marker-mid\n   */\n  markerMid?: Token<CSS.Property.MarkerMid>\n  /**\n   * The CSS `marker-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/marker-start\n   */\n  markerStart?: Token<CSS.Property.MarkerStart>\n  /**\n   * The CSS `mask` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask\n   */\n  mask?: Token<CSS.Property.Mask>\n  /**\n   * The CSS `mask-border` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-border\n   */\n  maskBorder?: Token<CSS.Property.MaskBorder>\n  /**\n   * The CSS `mask-border-mode` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-border-mode\n   */\n  maskBorderMode?: Token<CSS.Property.MaskBorderMode>\n  /**\n   * The CSS `mask-border-outset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-border-outset\n   */\n  maskBorderOutset?: Token<CSS.Property.MaskBorderOutset>\n  /**\n   * The CSS `mask-border-repeat` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-border-repeat\n   */\n  maskBorderRepeat?: Token<CSS.Property.MaskBorderRepeat>\n  /**\n   * The CSS `mask-border-slice` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-border-slice\n   */\n  maskBorderSlice?: Token<CSS.Property.MaskBorderSlice>\n  /**\n   * The CSS `mask-border-source` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-border-source\n   */\n  maskBorderSource?: Token<CSS.Property.MaskBorderSource>\n  /**\n   * The CSS `mask-border-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-border-width\n   */\n  maskBorderWidth?: Token<CSS.Property.MaskBorderWidth | number>\n  /**\n   * The CSS `mask-clip` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-clip\n   */\n  maskClip?: Token<CSS.Property.MaskClip>\n  /**\n   * The CSS `mask-composite` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-composite\n   */\n  maskComposite?: Token<CSS.Property.MaskComposite>\n  /**\n   * The CSS `mask-image` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-image\n   */\n  maskImage?: Token<CSS.Property.MaskImage, \"gradients\">\n  /**\n   * The CSS `mask-mode` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-mode\n   */\n  maskMode?: Token<CSS.Property.MaskMode>\n  /**\n   * The CSS `mask-origin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-origin\n   */\n  maskOrigin?: Token<CSS.Property.MaskOrigin>\n  /**\n   * The CSS `mask-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-position\n   */\n  maskPosition?: Token<CSS.Property.MaskPosition>\n  /**\n   * The CSS `mask-repeat` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-repeat\n   */\n  maskRepeat?: Token<CSS.Property.MaskRepeat>\n  /**\n   * The CSS `mask-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-size\n   */\n  maskSize?: Token<CSS.Property.MaskSize>\n  /**\n   * The CSS `mask-type` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mask-type\n   */\n  maskType?: Token<CSS.Property.MaskType>\n  /**\n   * The CSS `masonry-auto-flow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/masonry-auto-flow\n   */\n  masonryAutoFlow?: Token<CSS.Property.MasonryAutoFlow>\n  /**\n   * The CSS `math-depth` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/math-depth\n   */\n  mathDepth?: Token<CSS.Property.MathDepth>\n  /**\n   * The CSS `math-shift` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/math-shift\n   */\n  mathShift?: Token<CSS.Property.MathShift>\n  /**\n   * The CSS `math-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/math-style\n   */\n  mathStyle?: Token<CSS.Property.MathStyle>\n  /**\n   * The CSS `max-block-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/max-block-size\n   */\n  maxBlockSize?: Token<CSS.Property.MaxBlockSize | number, \"sizes\">\n  /**\n   * The CSS `max-width` and `max-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/max-height\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/max-width\n   */\n  maxBoxSize?: Token<\n    CSS.Property.MaxHeight | CSS.Property.MaxWidth | number,\n    \"sizes\"\n  >\n  /**\n   * The CSS `max-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/max-height\n   */\n  maxH?: Token<CSS.Property.MaxHeight | number, \"sizes\">\n  /**\n   * The CSS `max-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/max-height\n   */\n  maxHeight?: Token<CSS.Property.MaxHeight | number, \"sizes\">\n  /**\n   * The CSS `max-inline-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/max-inline-size\n   */\n  maxInlineSize?: Token<CSS.Property.MaxInlineSize | number, \"sizes\">\n  /**\n   * The CSS `max-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/max-width\n   */\n  maxW?: Token<CSS.Property.MaxWidth | number, \"sizes\">\n  /**\n   * The CSS `max-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/max-width\n   */\n  maxWidth?: Token<CSS.Property.MaxWidth | number, \"sizes\">\n  /**\n   * The CSS `margin-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n   */\n  mb?: Token<CSS.Property.MarginBottom | number, \"spaces\">\n  /**\n   * The CSS `margin-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-end\n   */\n  me?: Token<CSS.Property.MarginInlineEnd | number, \"spaces\">\n  /**\n   * The CSS `min-block-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/min-block-size\n   */\n  minBlockSize?: Token<CSS.Property.MinBlockSize | number, \"sizes\">\n  /**\n   * The CSS `min-width` and `min-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/min-height\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/min-width\n   */\n  minBoxSize?: Token<\n    CSS.Property.MinHeight | CSS.Property.MinWidth | number,\n    \"sizes\"\n  >\n  /**\n   * The CSS `min-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/min-height\n   */\n  minH?: Token<CSS.Property.MinHeight | number, \"sizes\">\n  /**\n   * The CSS `min-height` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/min-height\n   */\n  minHeight?: Token<CSS.Property.MinHeight | number, \"sizes\">\n  /**\n   * The CSS `min-inline-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/min-inline-size\n   */\n  minInlineSize?: Token<CSS.Property.MinInlineSize | number, \"sizes\">\n  /**\n   * The CSS `min-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/min-width\n   */\n  minW?: Token<CSS.Property.MinWidth | number, \"sizes\">\n  /**\n   * The CSS `min-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/min-width\n   */\n  minWidth?: Token<CSS.Property.MinWidth | number, \"sizes\">\n  /**\n   * The CSS `mix-blend-mode` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode\n   */\n  mixBlendMode?: Token<CSS.Property.MixBlendMode>\n  /**\n   * The CSS `margin-left` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n   */\n  ml?: Token<CSS.Property.MarginLeft | number, \"spaces\">\n  /**\n   * The CSS `margin-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n   */\n  mr?: Token<CSS.Property.MarginRight | number, \"spaces\">\n  /**\n   * The CSS `margin-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-start\n   */\n  ms?: Token<CSS.Property.MarginInlineStart | number, \"spaces\">\n  /**\n   * The CSS `margin-top` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n   */\n  mt?: Token<CSS.Property.MarginTop | number, \"spaces\">\n  /**\n   * The CSS `margin-inline-start` and `margin-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-end\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-start\n   */\n  mx?: Token<\n    CSS.Property.MarginInlineEnd | CSS.Property.MarginInlineStart | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `margin-top` and `margin-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n   */\n  my?: Token<\n    CSS.Property.MarginBottom | CSS.Property.MarginTop | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `object-fit` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit\n   */\n  objectFit?: Token<CSS.Property.ObjectFit>\n  /**\n   * The CSS `object-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/object-position\n   */\n  objectPosition?: Token<CSS.Property.ObjectPosition>\n  /**\n   * The CSS `offset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/offset\n   */\n  offset?: Token<CSS.Property.Offset>\n  /**\n   * The CSS `offset-anchor` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/offset-anchor\n   */\n  offsetAnchor?: Token<CSS.Property.OffsetAnchor>\n  /**\n   * The CSS `offset-distance` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/offset-distance\n   */\n  offsetDistance?: Token<CSS.Property.OffsetDistance>\n  /**\n   * The CSS `offset-path` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/offset-path\n   */\n  offsetPath?: Token<CSS.Property.OffsetPath>\n  /**\n   * The CSS `offset-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/offset-position\n   */\n  offsetPosition?: Token<CSS.Property.OffsetPosition>\n  /**\n   * The CSS `offset-rotate` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/offset-rotate\n   */\n  offsetRotate?: Token<CSS.Property.OffsetRotate>\n  /**\n   * The CSS `opacity` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/opacity\n   */\n  opacity?: Token<CSS.Property.Opacity>\n  /**\n   * The CSS `order` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/order\n   */\n  order?: Token<CSS.Property.Order>\n  /**\n   * The CSS `orphans` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/orphans\n   */\n  orphans?: Token<CSS.Property.Orphans>\n  /**\n   * The CSS `outline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/outline\n   */\n  outline?: Token<CSS.Property.Outline>\n  /**\n   * The CSS `outline-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/outline-color\n   */\n  outlineColor?: Token<CSS.Property.OutlineColor, \"colors\">\n  /**\n   * The CSS `outline-offset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/outline-offset\n   */\n  outlineOffset?: Token<CSS.Property.OutlineOffset>\n  /**\n   * The CSS `outline-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/outline-style\n   */\n  outlineStyle?: Token<CSS.Property.OutlineStyle>\n  /**\n   * The CSS `outline-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/outline-width\n   */\n  outlineWidth?: Token<CSS.Property.OutlineWidth | number>\n  /**\n   * The CSS `overflow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\n   */\n  overflow?: Token<CSS.Property.Overflow>\n  /**\n   * The CSS `overflow-anchor` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor\n   */\n  overflowAnchor?: Token<CSS.Property.OverflowAnchor>\n  /**\n   * The CSS `overflow-block` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-block\n   */\n  overflowBlock?: Token<CSS.Property.OverflowBlock>\n  /**\n   * The CSS `overflow-clip-margin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-clip-margin\n   */\n  overflowClipMargin?: Token<CSS.Property.OverflowClipMargin>\n  /**\n   * The CSS `overflow-inline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-inline\n   */\n  overflowInline?: Token<CSS.Property.OverflowInline>\n  /**\n   * The CSS `overflow-wrap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap\n   */\n  overflowWrap?: Token<CSS.Property.OverflowWrap>\n  /**\n   * The CSS `overflow-x` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-x\n   */\n  overflowX?: Token<CSS.Property.OverflowX>\n  /**\n   * The CSS `overflow-y` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-y\n   */\n  overflowY?: Token<CSS.Property.OverflowY>\n  /**\n   * The CSS `overlay` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overlay\n   */\n  overlay?: Token<CSS.Property.Overlay>\n  /**\n   * The CSS `overscroll-behavior` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior\n   */\n  overscroll?: Token<CSS.Property.OverscrollBehavior>\n  /**\n   * The CSS `overscroll-behavior` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior\n   */\n  overscrollBehavior?: Token<CSS.Property.OverscrollBehavior>\n  /**\n   * The CSS `overscroll-behavior-block` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior-block\n   */\n  overscrollBehaviorBlock?: Token<CSS.Property.OverscrollBehaviorBlock>\n  /**\n   * The CSS `overscroll-behavior-inline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior-inline\n   */\n  overscrollBehaviorInline?: Token<CSS.Property.OverscrollBehaviorInline>\n  /**\n   * The CSS `overscroll-behavior-x` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior-x\n   */\n  overscrollBehaviorX?: Token<CSS.Property.OverscrollBehaviorX>\n  /**\n   * The CSS `overscroll-behavior-y` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior-y\n   */\n  overscrollBehaviorY?: Token<CSS.Property.OverscrollBehaviorY>\n  /**\n   * The CSS `overscroll-behavior-x` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior-x\n   */\n  overscrollX?: Token<CSS.Property.OverscrollBehaviorX>\n  /**\n   * The CSS `overscroll-behavior-y` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior-y\n   */\n  overscrollY?: Token<CSS.Property.OverscrollBehaviorY>\n  /**\n   * The CSS `padding` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding\n   */\n  p?: Token<CSS.Property.Padding | number, \"spaces\">\n  /**\n   * The CSS `padding` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding\n   */\n  padding?: Token<CSS.Property.Padding | number, \"spaces\">\n  /**\n   * The CSS `padding-block` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-block\n   */\n  paddingBlock?: Token<CSS.Property.PaddingBlock | number, \"spaces\">\n  /**\n   * The CSS `padding-block-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-block-end\n   */\n  paddingBlockEnd?: Token<CSS.Property.PaddingBlockEnd | number, \"spaces\">\n  /**\n   * The CSS `padding-block-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-block-start\n   */\n  paddingBlockStart?: Token<CSS.Property.PaddingBlockStart | number, \"spaces\">\n  /**\n   * The CSS `padding-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-bottom\n   */\n  paddingBottom?: Token<CSS.Property.PaddingBottom | number, \"spaces\">\n  /**\n   * The CSS `padding-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-end\n   */\n  paddingEnd?: Token<CSS.Property.PaddingInlineEnd | number, \"spaces\">\n  /**\n   * The CSS `padding-inline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline\n   */\n  paddingInline?: Token<CSS.Property.PaddingInline | number, \"spaces\">\n  /**\n   * The CSS `padding-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-end\n   */\n  paddingInlineEnd?: Token<CSS.Property.PaddingInlineEnd | number, \"spaces\">\n  /**\n   * The CSS `padding-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start\n   */\n  paddingInlineStart?: Token<CSS.Property.PaddingInlineStart | number, \"spaces\">\n  /**\n   * The CSS `padding-left` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-left\n   */\n  paddingLeft?: Token<CSS.Property.PaddingLeft | number, \"spaces\">\n  /**\n   * The CSS `padding-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-right\n   */\n  paddingRight?: Token<CSS.Property.PaddingRight | number, \"spaces\">\n  /**\n   * The CSS `padding-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start\n   */\n  paddingStart?: Token<CSS.Property.PaddingInlineStart | number, \"spaces\">\n  /**\n   * The CSS `padding-top` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top\n   */\n  paddingTop?: Token<CSS.Property.PaddingTop | number, \"spaces\">\n  /**\n   * The CSS `padding-inline-start` and `padding-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-end\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start\n   */\n  paddingX?: Token<\n    CSS.Property.PaddingInlineEnd | CSS.Property.PaddingInlineStart | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `padding-top` and `padding-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-bottom\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top\n   */\n  paddingY?: Token<\n    CSS.Property.PaddingBottom | CSS.Property.PaddingTop | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `page` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/page\n   */\n  page?: Token<CSS.Property.Page>\n  /**\n   * The CSS `page-break-after` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after\n   */\n  pageBreakAfter?: Token<CSS.Property.PageBreakAfter>\n  /**\n   * The CSS `page-break-before` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-before\n   */\n  pageBreakBefore?: Token<CSS.Property.PageBreakBefore>\n  /**\n   * The CSS `page-break-inside` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-inside\n   */\n  pageBreakInside?: Token<CSS.Property.PageBreakInside>\n  /**\n   * The CSS `paint-order` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/paint-order\n   */\n  paintOrder?: Token<CSS.Property.PaintOrder>\n  /**\n   * The CSS `padding-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-bottom\n   */\n  pb?: Token<CSS.Property.PaddingBottom | number, \"spaces\">\n  /**\n   * The CSS `padding-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-end\n   */\n  pe?: Token<CSS.Property.PaddingInlineEnd | number, \"spaces\">\n  /**\n   * The CSS `perspective` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/perspective\n   */\n  perspective?: Token<CSS.Property.Perspective>\n  /**\n   * The CSS `perspective-origin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/perspective-origin\n   */\n  perspectiveOrigin?: Token<CSS.Property.PerspectiveOrigin>\n  /**\n   * The CSS `padding-left` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-left\n   */\n  pl?: Token<CSS.Property.PaddingLeft | number, \"spaces\">\n  /**\n   * The CSS `place-content` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/place-content\n   */\n  placeContent?: Token<CSS.Property.PlaceContent>\n  /**\n   * The CSS `place-items` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/place-items\n   */\n  placeItems?: Token<CSS.Property.PlaceItems>\n  /**\n   * The CSS `place-self` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/place-self\n   */\n  placeSelf?: Token<CSS.Property.PlaceSelf>\n  /**\n   * The CSS `pointer-events` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events\n   */\n  pointerEvents?: Token<CSS.Property.PointerEvents>\n  /**\n   * The CSS `position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/position\n   */\n  pos?: Token<CSS.Property.Position>\n  /**\n   * The CSS `position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/position\n   */\n  position?: Token<CSS.Property.Position>\n  /**\n   * The CSS `padding-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-right\n   */\n  pr?: Token<CSS.Property.PaddingRight | number, \"spaces\">\n  /**\n   * The CSS `print-color-adjust` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/print-color-adjust\n   */\n  printColorAdjust?: Token<CSS.Property.PrintColorAdjust>\n  /**\n   * The CSS `padding-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start\n   */\n  ps?: Token<CSS.Property.PaddingInlineStart | number, \"spaces\">\n  /**\n   * The CSS `padding-top` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top\n   */\n  pt?: Token<CSS.Property.PaddingTop | number, \"spaces\">\n  /**\n   * The CSS `padding-inline-start` and `padding-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-end\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start\n   */\n  px?: Token<\n    CSS.Property.PaddingInlineEnd | CSS.Property.PaddingInlineStart | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `padding-top` and `padding-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-bottom\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top\n   */\n  py?: Token<\n    CSS.Property.PaddingBottom | CSS.Property.PaddingTop | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `quotes` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/quotes\n   */\n  quotes?: Token<CSS.Property.Quotes>\n  /**\n   * The CSS `resize` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/resize\n   */\n  resize?: Token<CSS.Property.Resize>\n  /**\n   * The CSS `right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/right\n   */\n  right?: Token<CSS.Property.Right | number, \"spaces\">\n  /**\n   * If `transform=auto` or `transform=auto-3d`, sets the value of `--ui-rotate`.\n   */\n  rotate?: Token<StringLiteral>\n  /**\n   * The CSS `border-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius\n   */\n  rounded?: Token<CSS.Property.BorderRadius | number, \"radii\">\n  /**\n   * The CSS `border-bottom-left-radius` and `border-bottom-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\n   */\n  roundedBottom?: Token<\n    | CSS.Property.BorderBottomLeftRadius\n    | CSS.Property.BorderBottomRightRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-end-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-end-radius\n   */\n  roundedBottomEnd?: Token<CSS.Property.BorderEndEndRadius | number, \"radii\">\n  /**\n   * The CSS `border-bottom-left-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius\n   */\n  roundedBottomLeft?: Token<\n    CSS.Property.BorderBottomLeftRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-bottom-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\n   */\n  roundedBottomRight?: Token<\n    CSS.Property.BorderBottomRightRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-end-start-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-start-radius\n   */\n  roundedBottomStart?: Token<\n    CSS.Property.BorderEndStartRadius | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-end-start-radius` and `border-end-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-end-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-end-start-radius\n   */\n  roundedEnd?: Token<\n    | CSS.Property.BorderEndEndRadius\n    | CSS.Property.BorderEndStartRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-top-left-radius` and `border-bottom-left-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius\n   */\n  roundedLeft?: Token<\n    | CSS.Property.BorderBottomLeftRadius\n    | CSS.Property.BorderTopLeftRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-top-right-radius` and `border-bottom-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-right-radius\n   */\n  roundedRight?: Token<\n    | CSS.Property.BorderBottomRightRadius\n    | CSS.Property.BorderTopRightRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-start-start-radius` and `border-start-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-end-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-start-radius\n   */\n  roundedStart?: Token<\n    | CSS.Property.BorderStartEndRadius\n    | CSS.Property.BorderStartStartRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-top-left-radius` and `border-top-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-right-radius\n   */\n  roundedTop?: Token<\n    | CSS.Property.BorderTopLeftRadius\n    | CSS.Property.BorderTopRightRadius\n    | number,\n    \"radii\"\n  >\n  /**\n   * The CSS `border-start-end-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-end-radius\n   */\n  roundedTopEnd?: Token<CSS.Property.BorderStartEndRadius | number, \"radii\">\n  /**\n   * The CSS `border-top-left-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius\n   */\n  roundedTopLeft?: Token<CSS.Property.BorderTopLeftRadius | number, \"radii\">\n  /**\n   * The CSS `border-top-right-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-right-radius\n   */\n  roundedTopRight?: Token<CSS.Property.BorderTopRightRadius | number, \"radii\">\n  /**\n   * The CSS `border-start-start-radius` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/border-start-start-radius\n   */\n  roundedTopStart?: Token<CSS.Property.BorderStartStartRadius | number, \"radii\">\n  /**\n   * The CSS `row-gap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/row-gap\n   */\n  rowGap?: Token<CSS.Property.RowGap | number, \"spaces\">\n  /**\n   * The CSS `ruby-align` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/ruby-align\n   */\n  rubyAlign?: Token<CSS.Property.RubyAlign>\n  /**\n   * The CSS `ruby-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/ruby-position\n   */\n  rubyPosition?: Token<CSS.Property.RubyPosition>\n  /**\n   * If `filter=auto`, sets the value of `--ui-saturate`.\n   */\n  saturate?: Token<StringLiteral>\n  /**\n   * If `transform=auto` or `transform=auto-3d`, sets the value of `--ui-scale-x` and `--ui-scale-y`.\n   */\n  scale?: Token<StringLiteral>\n  /**\n   * If `transform=auto` or `transform=auto-3d`, sets the value of `--ui-scale-x`.\n   */\n  scaleX?: Token<StringLiteral>\n  /**\n   * If `transform=auto` or `transform=auto-3d`, sets the value of `--ui-scale-y`.\n   */\n  scaleY?: Token<StringLiteral>\n  /**\n   * The CSS `scrollbar-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-color\n   */\n  scrollbarColor?: Token<CSS.Property.ScrollbarColor, \"colors\">\n  /**\n   * The CSS `scrollbar-gutter` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter\n   */\n  scrollbarGutter?: Token<CSS.Property.ScrollbarGutter>\n  /**\n   * The CSS `scrollbar-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width\n   */\n  scrollbarWidth?: Token<CSS.Property.ScrollbarWidth | number>\n  /**\n   * The CSS `scroll-behavior` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n   */\n  scrollBehavior?: Token<CSS.Property.ScrollBehavior>\n  /**\n   * The CSS `scroll-margin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin\n   */\n  scrollMargin?: Token<CSS.Property.ScrollMargin | number, \"spaces\">\n  /**\n   * The CSS `scroll-margin-block` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-block\n   */\n  scrollMarginBlock?: Token<CSS.Property.ScrollMarginBlock>\n  /**\n   * The CSS `scroll-margin-block-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-block-end\n   */\n  scrollMarginBlockEnd?: Token<CSS.Property.ScrollMarginBlockEnd>\n  /**\n   * The CSS `scroll-margin-block-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-block-start\n   */\n  scrollMarginBlockStart?: Token<CSS.Property.ScrollMarginBlockStart>\n  /**\n   * The CSS `scroll-margin-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-bottom\n   */\n  scrollMarginBottom?: Token<CSS.Property.ScrollMarginBottom | number, \"spaces\">\n  /**\n   * The CSS `scroll-margin-inline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-inline\n   */\n  scrollMarginInline?: Token<CSS.Property.ScrollMarginInline>\n  /**\n   * The CSS `scroll-margin-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-inline-end\n   */\n  scrollMarginInlineEnd?: Token<CSS.Property.ScrollMarginInlineEnd>\n  /**\n   * The CSS `scroll-margin-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-inline-start\n   */\n  scrollMarginInlineStart?: Token<CSS.Property.ScrollMarginInlineStart>\n  /**\n   * The CSS `scroll-margin-left` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-left\n   */\n  scrollMarginLeft?: Token<CSS.Property.ScrollMarginLeft | number, \"spaces\">\n  /**\n   * The CSS `scroll-margin-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-right\n   */\n  scrollMarginRight?: Token<CSS.Property.ScrollMarginRight | number, \"spaces\">\n  /**\n   * The CSS `scroll-margin-top` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-top\n   */\n  scrollMarginTop?: Token<CSS.Property.ScrollMarginTop | number, \"spaces\">\n  /**\n   * The CSS `scroll-margin-left` and `scroll-margin-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-left\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-right\n   */\n  scrollMarginX?: Token<\n    CSS.Property.ScrollMarginLeft | CSS.Property.ScrollMarginRight | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `scroll-margin-top` and `scroll-margin-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-bottom\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-top\n   */\n  scrollMarginY?: Token<\n    CSS.Property.ScrollMarginBottom | CSS.Property.ScrollMarginTop | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `scroll-padding` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding\n   */\n  scrollPadding?: Token<CSS.Property.ScrollPadding | number, \"spaces\">\n  /**\n   * The CSS `scroll-padding-block` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-block\n   */\n  scrollPaddingBlock?: Token<CSS.Property.ScrollPaddingBlock>\n  /**\n   * The CSS `scroll-padding-block-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-block-end\n   */\n  scrollPaddingBlockEnd?: Token<CSS.Property.ScrollPaddingBlockEnd>\n  /**\n   * The CSS `scroll-padding-block-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-block-start\n   */\n  scrollPaddingBlockStart?: Token<CSS.Property.ScrollPaddingBlockStart>\n  /**\n   * The CSS `scroll-padding-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-bottom\n   */\n  scrollPaddingBottom?: Token<\n    CSS.Property.ScrollPaddingBottom | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `scroll-padding-inline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-inline\n   */\n  scrollPaddingInline?: Token<CSS.Property.ScrollPaddingInline>\n  /**\n   * The CSS `scroll-padding-inline-end` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-inline-end\n   */\n  scrollPaddingInlineEnd?: Token<CSS.Property.ScrollPaddingInlineEnd>\n  /**\n   * The CSS `scroll-padding-inline-start` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-inline-start\n   */\n  scrollPaddingInlineStart?: Token<CSS.Property.ScrollPaddingInlineStart>\n  /**\n   * The CSS `scroll-padding-left` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-left\n   */\n  scrollPaddingLeft?: Token<CSS.Property.ScrollPaddingLeft | number, \"spaces\">\n  /**\n   * The CSS `scroll-padding-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-right\n   */\n  scrollPaddingRight?: Token<CSS.Property.ScrollPaddingRight | number, \"spaces\">\n  /**\n   * The CSS `scroll-padding-top` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-top\n   */\n  scrollPaddingTop?: Token<CSS.Property.ScrollPaddingTop | number, \"spaces\">\n  /**\n   * The CSS `scroll-padding-left` and `scroll-padding-right` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-left\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-right\n   */\n  scrollPaddingX?: Token<\n    CSS.Property.ScrollPaddingLeft | CSS.Property.ScrollPaddingRight | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `scroll-padding-top` and `scroll-padding-bottom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-bottom\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-padding-top\n   */\n  scrollPaddingY?: Token<\n    CSS.Property.ScrollPaddingBottom | CSS.Property.ScrollPaddingTop | number,\n    \"spaces\"\n  >\n  /**\n   * The CSS `scroll-snap-align` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-align\n   */\n  scrollSnapAlign?: Token<CSS.Property.ScrollSnapAlign>\n  /**\n   * The CSS `scroll-snap-stop` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-stop\n   */\n  scrollSnapStop?: Token<CSS.Property.ScrollSnapStop>\n  /**\n   * The CSS `scroll-snap-type` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type\n   */\n  scrollSnapType?: Token<CSS.Property.ScrollSnapType>\n  /**\n   * The CSS `scroll-timeline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-timeline\n   */\n  scrollTimeline?: Token<CSS.Property.ScrollTimeline>\n  /**\n   * The CSS `scroll-timeline-axis` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-timeline-axis\n   */\n  scrollTimelineAxis?: Token<CSS.Property.ScrollTimelineAxis>\n  /**\n   * The CSS `scroll-timeline-name` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-timeline-name\n   */\n  scrollTimelineName?: Token<CSS.Property.ScrollTimelineName>\n  /**\n   * If `filter=auto`, sets the value of `--ui-sepia`.\n   */\n  sepia?: Token<StringLiteral>\n  /**\n   * The CSS `box-shadow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n   */\n  shadow?: Token<CSS.Property.BoxShadow, \"shadows\">\n  /**\n   * The CSS `shape-image-threshold` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/shape-image-threshold\n   */\n  shapeImageThreshold?: Token<CSS.Property.ShapeImageThreshold>\n  /**\n   * The CSS `shape-margin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/shape-margin\n   */\n  shapeMargin?: Token<CSS.Property.ShapeMargin>\n  /**\n   * The CSS `shape-outside` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/shape-outside\n   */\n  shapeOutside?: Token<CSS.Property.ShapeOutside>\n  /**\n   * The CSS `shape-rendering` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/shape-rendering\n   */\n  shapeRendering?: Token<CSS.Property.ShapeRendering>\n  /**\n   * If `transform=auto` or `transform=auto-3d`, sets the value of `--ui-skew-x`.\n   */\n  skewX?: Token<StringLiteral>\n  /**\n   * If `transform=auto` or `transform=auto-3d`, sets the value of `--ui-skew-y`.\n   */\n  skewY?: Token<StringLiteral>\n  /**\n   * The CSS `stop-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stop-color\n   */\n  stopColor?: Token<CSS.Property.StopColor>\n  /**\n   * The CSS `stop-opacity` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stop-opacity\n   */\n  stopOpacity?: Token<CSS.Property.StopOpacity>\n  /**\n   * The CSS `stroke` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stroke\n   */\n  stroke?: Token<CSS.Property.Stroke, \"colors\">\n  /**\n   * The CSS `stroke-dasharray` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-dasharray\n   */\n  strokeDasharray?: Token<CSS.Property.StrokeDasharray>\n  /**\n   * The CSS `stroke-dashoffset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-dashoffset\n   */\n  strokeDashoffset?: Token<CSS.Property.StrokeDashoffset | number>\n  /**\n   * The CSS `stroke-linecap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-linecap\n   */\n  strokeLinecap?: Token<CSS.Property.StrokeLinecap>\n  /**\n   * The CSS `stroke-linejoin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-linejoin\n   */\n  strokeLinejoin?: Token<CSS.Property.StrokeLinejoin>\n  /**\n   * The CSS `stroke-miterlimit` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-miterlimit\n   */\n  strokeMiterlimit?: Token<CSS.Property.StrokeMiterlimit>\n  /**\n   * The CSS `stroke-opacity` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-opacity\n   */\n  strokeOpacity?: Token<CSS.Property.StrokeOpacity>\n  /**\n   * The CSS `stroke-width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-width\n   */\n  strokeWidth?: Token<CSS.Property.StrokeWidth | number>\n  /**\n   * The CSS `table-layout` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout\n   */\n  tableLayout?: Token<CSS.Property.TableLayout>\n  /**\n   * The CSS `tab-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/tab-size\n   */\n  tabSize?: Token<CSS.Property.TabSize>\n  /**\n   * The CSS `font-size` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n   */\n  text?: Token<CSS.Property.FontSize | number, \"fontSizes\">\n  /**\n   * The CSS `text-align` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-align\n   */\n  textAlign?: Token<CSS.Property.TextAlign>\n  /**\n   * The CSS `text-align-last` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-last\n   */\n  textAlignLast?: Token<CSS.Property.TextAlignLast>\n  /**\n   * The CSS `text-anchor` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-anchor\n   */\n  textAnchor?: Token<CSS.Property.TextAnchor>\n  /**\n   * The CSS `color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/color\n   */\n  textColor?: Token<CSS.Property.Color, \"colors\">\n  /**\n   * The CSS `text-combine-upright` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-combine-upright\n   */\n  textCombineUpright?: Token<CSS.Property.TextCombineUpright>\n  /**\n   * The CSS `text-decoration` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration\n   */\n  textDecor?: Token<CSS.Property.TextDecoration>\n  /**\n   * The CSS `text-decoration` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration\n   */\n  textDecoration?: Token<CSS.Property.TextDecoration>\n  /**\n   * The CSS `text-decoration-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-color\n   */\n  textDecorationColor?: Token<CSS.Property.TextDecorationColor, \"colors\">\n  /**\n   * The CSS `text-decoration-line` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line\n   */\n  textDecorationLine?: Token<CSS.Property.TextDecorationLine>\n  /**\n   * The CSS `text-decoration-skip` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-skip\n   */\n  textDecorationSkip?: Token<CSS.Property.TextDecorationSkip>\n  /**\n   * The CSS `text-decoration-skip-ink` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-skip-ink\n   */\n  textDecorationSkipInk?: Token<CSS.Property.TextDecorationSkipInk>\n  /**\n   * The CSS `text-decoration-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-style\n   */\n  textDecorationStyle?: Token<CSS.Property.TextDecorationStyle>\n  /**\n   * The CSS `text-decoration-thickness` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-thickness\n   */\n  textDecorationThickness?: Token<CSS.Property.TextDecorationThickness>\n  /**\n   * The CSS `text-emphasis` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis\n   */\n  textEmphasis?: Token<CSS.Property.TextEmphasis>\n  /**\n   * The CSS `text-emphasis-color` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis-color\n   */\n  textEmphasisColor?: Token<CSS.Property.TextEmphasisColor, \"colors\">\n  /**\n   * The CSS `text-emphasis-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis-position\n   */\n  textEmphasisPosition?: Token<CSS.Property.TextEmphasisPosition>\n  /**\n   * The CSS `text-emphasis-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis-style\n   */\n  textEmphasisStyle?: Token<CSS.Property.TextEmphasisStyle>\n  /**\n   * The CSS `text-indent` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-indent\n   */\n  textIndent?: Token<CSS.Property.TextIndent>\n  /**\n   * The CSS `text-justify` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-justify\n   */\n  textJustify?: Token<CSS.Property.TextJustify>\n  /**\n   * The CSS `text-orientation` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-orientation\n   */\n  textOrientation?: Token<CSS.Property.TextOrientation>\n  /**\n   * The CSS `text-overflow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow\n   */\n  textOverflow?: Token<CSS.Property.TextOverflow>\n  /**\n   * The CSS `text-rendering` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-rendering\n   */\n  textRendering?: Token<CSS.Property.TextRendering>\n  /**\n   * The CSS `text-shadow` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow\n   */\n  textShadow?: Token<CSS.Property.TextShadow, \"shadows\">\n  /**\n   * The CSS `text-size-adjust` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust\n   */\n  textSizeAdjust?: Token<CSS.Property.TextSizeAdjust>\n  /**\n   * The CSS `text-transform` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform\n   */\n  textTransform?: Token<CSS.Property.TextTransform>\n  /**\n   * The CSS `text-underline-offset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-underline-offset\n   */\n  textUnderlineOffset?: Token<CSS.Property.TextUnderlineOffset>\n  /**\n   * The CSS `text-underline-position` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-underline-position\n   */\n  textUnderlinePosition?: Token<CSS.Property.TextUnderlinePosition>\n  /**\n   * The CSS `text-wrap` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap\n   */\n  textWrap?: Token<CSS.Property.TextWrap>\n  /**\n   * The CSS `timeline-scope` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/timeline-scope\n   */\n  timelineScope?: Token<CSS.Property.TimelineScope>\n  /**\n   * The CSS `top` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/top\n   */\n  top?: Token<CSS.Property.Top | number, \"spaces\">\n  /**\n   * The CSS `touch-action` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action\n   */\n  touchAction?: Token<CSS.Property.TouchAction>\n  /**\n   * The CSS `letter-spacing` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n   */\n  tracking?: Token<CSS.Property.LetterSpacing, \"letterSpacings\">\n  /**\n   * The CSS `transform` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transform\n   */\n  transform?: Token<CSS.Property.Transform>\n  /**\n   * The CSS `transform-box` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transform-box\n   */\n  transformBox?: Token<CSS.Property.TransformBox>\n  /**\n   * The CSS `transform-origin` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transform-origin\n   */\n  transformOrigin?: Token<CSS.Property.TransformOrigin>\n  /**\n   * The CSS `transform-style` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transform-style\n   */\n  transformStyle?: Token<CSS.Property.TransformStyle>\n  /**\n   * The CSS `transition` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transition\n   */\n  transition?: Token<CSS.Property.Transition>\n  /**\n   * The CSS `transition-behavior` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transition-behavior\n   */\n  transitionBehavior?: Token<CSS.Property.TransitionBehavior>\n  /**\n   * The CSS `transition-delay` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transition-delay\n   */\n  transitionDelay?: Token<CSS.Property.TransitionDelay>\n  /**\n   * The CSS `transition-duration` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transition-duration\n   */\n  transitionDuration?: Token<\n    CSS.Property.TransitionDuration,\n    \"transitionDuration\"\n  >\n  /**\n   * The CSS `transition-property` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transition-property\n   */\n  transitionProperty?: Token<\n    CSS.Property.TransitionProperty,\n    \"transitionProperty\"\n  >\n  /**\n   * The CSS `transition-timing-function` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/transition-timing-function\n   */\n  transitionTimingFunction?: Token<\n    CSS.Property.TransitionTimingFunction,\n    \"transitionEasing\"\n  >\n  /**\n   * The CSS `translate` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/translate\n   */\n  translate?: Token<\"no\" | \"yes\" | CSS.Property.Translate>\n  /**\n   * If `transform=auto` or `transform=auto-3d`, sets the value of `--ui-translate-x`.\n   */\n  translateX?: Token<number | StringLiteral, \"spaces\">\n  /**\n   * If `transform=auto` or `transform=auto-3d`, sets the value of `--ui-translate-y`.\n   */\n  translateY?: Token<number | StringLiteral, \"spaces\">\n  /**\n   * The CSS `unicode-bidi` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi\n   */\n  unicodeBidi?: Token<CSS.Property.UnicodeBidi>\n  /**\n   * The CSS `user-select` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/user-select\n   */\n  userSelect?: Token<CSS.Property.UserSelect>\n  /**\n   * Set CSS variables.\n   * @experimental\n   *\n   * @example\n   * ```jsx\n   * <Box\n   *   vars={[{ name:\"space\", token: \"spaces\", value: \"md\" }]\n   *   m=\"calc($space * 2)\"\n   * >\n   *   Box\n   * </Box>\n   * ```\n   */\n  vars?: {\n    name: string\n    token?: ThemeToken\n    value?: Token<number | StringLiteral>\n    __prefix?: string\n  }[]\n  /**\n   * The CSS `vector-effect` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/vector-effect\n   */\n  vectorEffect?: Token<CSS.Property.VectorEffect>\n  /**\n   * The CSS `vertical-align` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align\n   */\n  verticalAlign?: Token<CSS.Property.VerticalAlign>\n  /**\n   * The CSS `view-timeline` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/view-timeline\n   */\n  viewTimeline?: Token<CSS.Property.ViewTimeline>\n  /**\n   * The CSS `view-timeline-axis` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/view-timeline-axis\n   */\n  viewTimelineAxis?: Token<CSS.Property.ViewTimelineAxis>\n  /**\n   * The CSS `view-timeline-inset` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/view-timeline-inset\n   */\n  viewTimelineInset?: Token<CSS.Property.ViewTimelineInset>\n  /**\n   * The CSS `view-timeline-name` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/view-timeline-name\n   */\n  viewTimelineName?: Token<CSS.Property.ViewTimelineName>\n  /**\n   * The CSS `view-transition-name` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/view-transition-name\n   */\n  viewTransitionName?: Token<CSS.Property.ViewTransitionName>\n  /**\n   * The CSS `visibility` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/visibility\n   */\n  visibility?: Token<CSS.Property.Visibility>\n  /**\n   * The CSS `width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/width\n   */\n  w?: Token<CSS.Property.Width | number, \"sizes\">\n  /**\n   * The CSS `white-space` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/white-space\n   */\n  whiteSpace?: Token<CSS.Property.WhiteSpace>\n  /**\n   * The CSS `white-space-collapse` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/white-space-collapse\n   */\n  whiteSpaceCollapse?: Token<CSS.Property.WhiteSpaceCollapse>\n  /**\n   * The CSS `widows` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/widows\n   */\n  widows?: Token<CSS.Property.Widows>\n  /**\n   * The CSS `width` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/width\n   */\n  width?: Token<CSS.Property.Width | number, \"sizes\">\n  /**\n   * The CSS `will-change` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/will-change\n   */\n  willChange?: Token<CSS.Property.WillChange>\n  /**\n   * The CSS `word-break` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/word-break\n   */\n  wordBreak?: Token<CSS.Property.WordBreak>\n  /**\n   * The CSS `word-spacing` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/word-spacing\n   */\n  wordSpacing?: Token<CSS.Property.WordSpacing>\n  /**\n   * The CSS `writing-mode` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode\n   */\n  writingMode?: Token<CSS.Property.WritingMode>\n  /**\n   * The CSS `z-index` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/z-index\n   */\n  z?: Token<CSS.Property.ZIndex, \"zIndices\">\n  /**\n   * The CSS `z-index` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/z-index\n   */\n  zIndex?: Token<CSS.Property.ZIndex, \"zIndices\">\n  /**\n   * The CSS `zoom` property.\n   *\n   * @see Docs https://developer.mozilla.org/en-US/docs/Web/CSS/zoom\n   */\n  zoom?: Token<CSS.Property.Zoom>\n  /**\n   * The `@container` of CSS at-rule.\n   * @experimental\n   *\n   * @example\n   * ```jsx\n   * <Box containerType=\"size\">\n   *   <Text _container={[{ maxW: \"1200px\", css: { color: \"red\" } }]}>\n   *     Box\n   *   </Text>\n   * </Box>\n   * ```\n   */\n  _container?: {\n    [key: string]: any\n    name?: StringLiteral\n    css?: CSSUIObject\n    aspectRatio?: CSS.Property.AspectRatio\n    blockSize?: CSS.Property.BlockSize | number | Theme[\"sizes\"]\n    h?: CSS.Property.Height | number | Theme[\"sizes\"]\n    height?: CSS.Property.Height | number | Theme[\"sizes\"]\n    inlineSize?: CSS.Property.InlineSize | number | Theme[\"sizes\"]\n    maxAspectRatio?: CSS.Property.AspectRatio\n    maxBlockSize?: CSS.Property.MaxBlockSize | number | Theme[\"sizes\"]\n    maxH?: CSS.Property.MaxHeight | number | Theme[\"sizes\"]\n    maxHeight?: CSS.Property.MaxHeight | number | Theme[\"sizes\"]\n    maxInlineSize?: CSS.Property.MaxInlineSize | number | Theme[\"sizes\"]\n    maxW?: CSS.Property.MaxWidth | number | Theme[\"sizes\"]\n    maxWidth?: CSS.Property.MaxWidth | number | Theme[\"sizes\"]\n    minAspectRatio?: CSS.Property.AspectRatio\n    minBlockSize?: CSS.Property.MinBlockSize | number | Theme[\"sizes\"]\n    minH?: CSS.Property.MinHeight | number | Theme[\"sizes\"]\n    minHeight?: CSS.Property.MinHeight | number | Theme[\"sizes\"]\n    minInlineSize?: CSS.Property.MinInlineSize | number | Theme[\"sizes\"]\n    minW?: CSS.Property.MinWidth | number | Theme[\"sizes\"]\n    minWidth?: CSS.Property.MinWidth | number | Theme[\"sizes\"]\n    orientation?: \"landscape\" | \"portrait\" | StringLiteral\n    query?: StringLiteral\n    w?: CSS.Property.Width | number | Theme[\"sizes\"]\n    width?: CSS.Property.Width | number | Theme[\"sizes\"]\n  }[]\n  /**\n   * The `@media` of CSS at-rule.\n   * @experimental\n   *\n   * @example\n   * ```jsx\n   * <Box\n   *   _media={[{ maxW: \"1200px\", css: { color: \"red\" } }]\n   * >\n   *   Box\n   * </Box>\n   * ```\n   */\n  _media?: {\n    [key: string]: any\n    type?: \"all\" | \"print\" | \"screen\" | \"speech\" | StringLiteral\n    css?: CSSUIObject\n    anyHover?: \"hover\" | \"none\" | StringLiteral\n    anyPointer?: \"coarse\" | \"fine\" | \"none\" | StringLiteral\n    aspectRatio?: CSS.Property.AspectRatio\n    color?: number | StringLiteral\n    colorGamut?: \"p3\" | \"rec2020\" | \"srgb\" | StringLiteral\n    colorIndex?: number | StringLiteral\n    deviceAspectRatio?: CSS.Property.AspectRatio\n    deviceHeight?: CSS.Property.Height | number | Theme[\"sizes\"]\n    deviceWidth?: CSS.Property.Width | number | Theme[\"sizes\"]\n    displayMode?:\n      | \"browser\"\n      | \"fullscreen\"\n      | \"minimal-ui\"\n      | \"picture-in-picture\"\n      | \"standalone\"\n      | \"window-controls-overlay\"\n      | StringLiteral\n    dynamicRange?: \"high\" | \"standard\" | StringLiteral\n    forcedColors?: \"active\" | \"none\" | StringLiteral\n    grid?: \"StringLiteral\" | 0 | 1\n    h?: CSS.Property.Height | number | Theme[\"sizes\"]\n    height?: CSS.Property.Height | number | Theme[\"sizes\"]\n    hover?: \"hover\" | \"none\" | StringLiteral\n    invertedColors?: \"inverted\" | \"none\" | StringLiteral\n    maxColor?: number | StringLiteral\n    maxColorIndex?: number | StringLiteral\n    maxDeviceAspectRatio?: CSS.Property.AspectRatio\n    maxDeviceHeight?: CSS.Property.MaxHeight | number | Theme[\"sizes\"]\n    maxH?: CSS.Property.MaxHeight | number | Theme[\"sizes\"]\n    maxHeight?: CSS.Property.MaxHeight | number | Theme[\"sizes\"]\n    maxMonochrome?: number | StringLiteral\n    maxResolution?: StringLiteral\n    maxW?: CSS.Property.MaxWidth | number | Theme[\"sizes\"]\n    maxWidth?: CSS.Property.MaxWidth | number | Theme[\"sizes\"]\n    mazDeviceWidth?: CSS.Property.Width | number | Theme[\"sizes\"]\n    minColor?: number | StringLiteral\n    minColorIndex?: number | StringLiteral\n    minDeviceAspectRatio?: CSS.Property.AspectRatio\n    minDeviceHeight?: CSS.Property.MinHeight | number | Theme[\"sizes\"]\n    minDeviceWidth?: CSS.Property.Width | number | Theme[\"sizes\"]\n    minH?: CSS.Property.MinHeight | number | Theme[\"sizes\"]\n    minHeight?: CSS.Property.MinHeight | number | Theme[\"sizes\"]\n    minMonochrome?: number | StringLiteral\n    minResolution?: StringLiteral\n    minW?: CSS.Property.MinWidth | number | Theme[\"sizes\"]\n    minWidth?: CSS.Property.MinWidth | number | Theme[\"sizes\"]\n    monochrome?: number | StringLiteral\n    orientation?: \"landscape\" | \"portrait\" | StringLiteral\n    overflowBlock?:\n      | \"none\"\n      | \"optional-paged\"\n      | \"paged\"\n      | \"scroll\"\n      | StringLiteral\n    overflowInline?: \"none\" | \"scroll\" | StringLiteral\n    pointer?: \"coarse\" | \"fine\" | \"none\" | StringLiteral\n    prefersColorScheme?: \"dark\" | \"light\" | StringLiteral\n    prefersContrast?:\n      | \"custom\"\n      | \"high\"\n      | \"low\"\n      | \"no-preference\"\n      | StringLiteral\n    prefersReducedMotion?: \"no-preference\" | \"reduce\" | StringLiteral\n    query?: StringLiteral\n    resolution?: StringLiteral\n    scan?: \"interlace\" | \"progressive\" | StringLiteral\n    scripting?: \"enabled\" | \"initial-only\" | \"none\" | StringLiteral\n    update?: \"fast\" | \"none\" | \"slow\" | StringLiteral\n    videoDynamicRange?: \"high\" | \"standard\" | StringLiteral\n    w?: CSS.Property.Width | number | Theme[\"sizes\"]\n    width?: CSS.Property.Width | number | Theme[\"sizes\"]\n  }[]\n  /**\n   * The `@supports` of CSS at-rule.\n   * @experimental\n   *\n   * @example\n   * ```jsx\n   * <Box containerType=\"size\">\n   *   <Text _supports={[{ display: \"flex\", css: { display: \"flex\" } }]}>\n   *     Box\n   *   </Text>\n   * </Box>\n   * ```\n   */\n  _supports?: { css?: CSSUIObject; query?: StringLiteral }[]\n}\n","import { pseudoProperties } from \"../pseudos\"\nimport { styleProperties } from \"../styles\"\n\nconst UIProps = new Set([\n  \"__css\",\n  \"as\",\n  \"css\",\n  \"errorBorderColor\",\n  \"focusBorderColor\",\n  \"sx\",\n  ...pseudoProperties,\n  ...styleProperties,\n])\n\nexport function shouldForwardProp(\n  disableStyleProp?: (prop: string) => boolean,\n) {\n  return function (prop: string): boolean {\n    return (disableStyleProp?.(prop) ?? false) || !UIProps.has(prop)\n  }\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type {\n  BreakpointQueries,\n  ColorModeArray,\n  CSSUIObject,\n  ResponsiveObject,\n  UIStyle,\n  UIStyleProps,\n  UIValue,\n} from \"../css\"\nimport type {\n  ComponentDefaultProps,\n  ComponentMultiSizes,\n  ComponentMultiVariants,\n  ComponentOverrideProps,\n  ComponentSizes,\n  ComponentStyle,\n  ComponentVariants,\n} from \"../theme.types\"\nimport {\n  filterUndefined,\n  getMemoizedObject as get,\n  isArray,\n  isObject,\n  keysFormObject,\n  merge,\n  omitObject,\n  runIfFunc,\n} from \"@yamada-ui/utils\"\nimport { useRef } from \"react\"\nimport isEqual from \"react-fast-compare\"\nimport { createQuery } from \"../css\"\nimport { getColorModeValue, useColorMode, useTheme } from \"../providers\"\nimport { pseudos } from \"../pseudos\"\n\ntype Styles<Y extends boolean = false> = Y extends false\n  ? CSSUIObject\n  : { [key: string]: CSSUIObject | undefined }\n\ntype ModifierStyles =\n  | ComponentMultiSizes\n  | ComponentMultiVariants\n  | ComponentSizes\n  | ComponentVariants\n\ninterface GetStylesOptions {\n  isMulti?: boolean\n  selectors?: (string | undefined)[]\n}\n\ninterface UseStylesOptions<Y extends boolean = false> {\n  isMulti?: Y\n  isProcessSkip?: boolean\n  styles?: Styles<Y>\n}\n\nfunction getColorModeStyles<Y extends Dict = Dict, M extends boolean = false>(\n  value: ColorModeArray<string>,\n  modifierStyles: ModifierStyles,\n  props: UIStyleProps<Y>,\n) {\n  return function ({ isMulti = false, selectors = [] }: GetStylesOptions) {\n    const [lightValue, darkValue] = value\n\n    const lightStyles = getModifierStyles<Y, M>(\n      lightValue,\n      modifierStyles,\n      props,\n    )({ isMulti, selectors: [...selectors, pseudos._light] })\n\n    const darkStyles = getModifierStyles<Y, M>(\n      darkValue,\n      modifierStyles,\n      props,\n    )({ isMulti, selectors: [...selectors, pseudos._dark] })\n\n    return merge(lightStyles, darkStyles)\n  }\n}\n\nfunction getResponsiveFinalQuery(\n  queries: BreakpointQueries,\n  breakpoints: string[],\n  isDown: boolean,\n) {\n  const filteredQueries = queries.filter(\n    ({ breakpoint }) =>\n      breakpoint !== \"base\" && breakpoints.includes(breakpoint),\n  )\n\n  const finalQuery = filteredQueries.sort((a, b) =>\n    isDown ? (a.maxW ?? 0) - (b.maxW ?? 0) : (b.minW ?? 0) - (a.minW ?? 0),\n  )[0]\n\n  return finalQuery\n}\n\nfunction getResponsiveNextQuery(\n  value: ResponsiveObject<string>,\n  queries: BreakpointQueries,\n  index: number,\n) {\n  let nextIndex = index + 1\n  let nextQuery: BreakpointQueries[number] | undefined\n\n  while (nextIndex < queries.length) {\n    const query = queries[nextIndex]!\n\n    if (value[query.breakpoint]) {\n      const targetIndex = nextIndex - 1\n\n      nextQuery = queries[targetIndex]\n\n      break\n    }\n\n    nextIndex += 1\n  }\n\n  return nextQuery\n}\n\nfunction getResponsiveStyles<Y extends Dict = Dict, M extends boolean = false>(\n  value: ResponsiveObject<string>,\n  modifierStyles: ModifierStyles,\n  props: UIStyleProps<Y>,\n) {\n  return function ({ isMulti = false, selectors = [] }: GetStylesOptions) {\n    const breakpoints = keysFormObject(value)\n\n    if (breakpoints.length === 1 && \"base\" in value) {\n      return getStyles<Y, M>(\n        modifierStyles[value.base as string],\n        props,\n      )({ isMulti })\n    } else {\n      const { queries = [] } = props.theme.__breakpoints ?? {}\n      const { direction = \"down\", identifier } =\n        props.theme.__config?.breakpoint ?? {}\n      const isDown = direction !== \"up\"\n\n      const finalQuery = getResponsiveFinalQuery(queries, breakpoints, isDown)\n\n      let hasBaseStyles = false\n\n      return queries.reduce<Styles<M>>(\n        (prev, { breakpoint, maxW, maxWQuery, minW, minWQuery }, index) => {\n          const modifier = value[breakpoint]\n          const isFinal = breakpoint === finalQuery?.breakpoint\n\n          if (breakpoint === \"base\") return prev\n          if (!modifier) return prev\n\n          if (!hasBaseStyles) {\n            const baseModifier = value.base\n            const prevQuery = queries[index - 1]\n            const query = prevQuery?.[isDown ? \"minWQuery\" : \"maxWQuery\"]\n\n            const styles = getModifierStyles<Y, M>(\n              baseModifier,\n              modifierStyles,\n              props,\n            )({ isMulti, selectors: [...selectors, query] })\n\n            prev = merge(prev, styles)\n\n            hasBaseStyles = true\n          }\n\n          let query = isDown ? maxWQuery : minWQuery\n\n          if (!isFinal) {\n            const nextQuery = getResponsiveNextQuery(value, queries, index)\n\n            minW = isDown ? nextQuery?.minW : minW\n            maxW = isDown ? maxW : nextQuery?.maxW\n\n            query = createQuery(minW, maxW, identifier)\n          }\n\n          const styles = getModifierStyles<Y, M>(\n            modifier,\n            modifierStyles,\n            props,\n          )({ isMulti, selectors: [...selectors, query] })\n\n          prev = merge(prev, styles)\n\n          return prev\n        },\n        {},\n      )\n    }\n  }\n}\n\nfunction getModifierStyles<Y extends Dict = Dict, M extends boolean = false>(\n  value: UIValue<string> | undefined,\n  modifierStyles: ModifierStyles,\n  props: UIStyleProps<Y>,\n) {\n  return function ({\n    isMulti = false,\n    selectors = [],\n  }: GetStylesOptions): Styles<M> {\n    let styles: Styles<M> = {}\n\n    if (!value) return styles\n\n    if (isArray(value)) {\n      styles = getColorModeStyles<Y, M>(\n        value,\n        modifierStyles,\n        props,\n      )({ isMulti, selectors })\n    } else if (isObject(value)) {\n      styles = getResponsiveStyles<Y, M>(\n        value,\n        modifierStyles,\n        props,\n      )({ isMulti, selectors })\n    } else {\n      styles = getStyles<Y, M>(\n        modifierStyles[value],\n        props,\n      )({ isMulti, selectors })\n    }\n\n    return styles as Styles<M>\n  }\n}\n\nfunction getSelectorStyles<Y extends Dict = Dict>(\n  selectors: (string | undefined)[],\n  style: Y,\n) {\n  return selectors.reduceRight<Dict>(\n    (prev, key) => (key ? { [key]: prev } : prev),\n    style,\n  ) as Y\n}\n\nfunction getStyles<Y extends Dict = Dict, M extends boolean = false>(\n  stylesOrFunc: { [key: string]: UIStyle<Y> } | UIStyle<Y> | undefined,\n  props: UIStyleProps<Y>,\n) {\n  return function ({\n    isMulti = false,\n    selectors = [],\n  }: GetStylesOptions): Styles<M> {\n    const styles = runIfFunc(stylesOrFunc, props)\n\n    if (isMulti) {\n      return Object.fromEntries(\n        Object.entries((styles ?? {}) as { [key: string]: UIStyle }).map(\n          ([name, styleOrFunc]) => {\n            const style = runIfFunc(styleOrFunc, props)\n\n            if (selectors.length) {\n              return [name, getSelectorStyles(selectors, style)]\n            } else {\n              return [name, style]\n            }\n          },\n        ),\n      ) as Styles<M>\n    } else if (selectors.length) {\n      return getSelectorStyles(selectors, styles as Styles<M>)\n    } else {\n      return styles as Styles<M>\n    }\n  }\n}\n\nfunction mergeProps<Y extends Dict = Dict>(\n  props: Y,\n  defaultProps: ComponentDefaultProps | undefined,\n  overrideProps: ComponentOverrideProps | undefined,\n): Y {\n  if (defaultProps) props = merge(defaultProps, props)\n\n  if (overrideProps) props = runIfFunc(overrideProps, props) as Y\n\n  return props\n}\n\nfunction useStyles<Y extends Dict = Dict, M extends boolean = false>(\n  name: string,\n  props: Y,\n  { isMulti, isProcessSkip, styles = {} }: UseStylesOptions<M> = {},\n): [styles: Styles<M>, props: Y] {\n  const { theme, themeScheme } = useTheme()\n  const { colorMode } = useColorMode()\n\n  const propsRef = useRef<Y>({} as Y)\n  const stylesRef = useRef<Styles<M>>(isProcessSkip ? styles : {})\n\n  if (!isProcessSkip) {\n    const componentStyle = get<ComponentStyle | undefined>(\n      theme,\n      `components.${name}`,\n    )\n\n    props = filterUndefined(props)\n\n    if (componentStyle) {\n      const { baseStyle, sizes, variants, defaultProps, overrideProps } =\n        componentStyle\n\n      props = mergeProps<Y>(props, defaultProps, overrideProps)\n\n      const { colorScheme: _colorScheme, size, variant } = props\n      const colorScheme = isArray(_colorScheme)\n        ? getColorModeValue(_colorScheme[0], _colorScheme[1])(colorMode)\n        : _colorScheme\n      const computedProps = { ...props, colorScheme }\n      const resolvedProps = omitObject(computedProps, [\"children\"]) as Y\n\n      let styles: Styles<M> = {}\n\n      if (baseStyle) {\n        styles = getStyles<Y, M>(baseStyle, {\n          colorMode,\n          theme,\n          themeScheme,\n          ...resolvedProps,\n        })({ isMulti })\n      }\n\n      if (sizes) {\n        const sizeStyles = getModifierStyles<Y, M>(size, sizes, {\n          colorMode,\n          theme,\n          themeScheme,\n          ...resolvedProps,\n        })({ isMulti })\n\n        styles = merge(styles, sizeStyles)\n      }\n\n      if (variants) {\n        const variantStyles = getModifierStyles<Y, M>(variant, variants, {\n          colorMode,\n          theme,\n          themeScheme,\n          ...resolvedProps,\n        })({ isMulti })\n\n        styles = merge(styles, variantStyles)\n      }\n\n      const isStylesEqual = isEqual(stylesRef.current, styles)\n\n      if (!isStylesEqual) stylesRef.current = styles\n    }\n  }\n\n  const isPropsEqual = isEqual(propsRef.current, props)\n\n  if (!isPropsEqual) propsRef.current = props\n\n  return [stylesRef.current, propsRef.current]\n}\n\nexport type UseComponentStyleOptions<Y extends boolean = false> = Omit<\n  UseStylesOptions<Y>,\n  \"isMulti\"\n>\n\nexport function useComponentStyle<Y extends Dict = Dict>(\n  name: string,\n  props: Y,\n  options?: UseComponentStyleOptions,\n) {\n  return useStyles<Y>(name, props, options)\n}\n\nexport function useComponentMultiStyle<Y extends Dict = Dict>(\n  name: string,\n  props: Y,\n  options?: UseComponentStyleOptions<true>,\n) {\n  return useStyles<Y, true>(name, props, { isMulti: true, ...options })\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type {\n  BreakpointDirection,\n  BreakpointOptions,\n  ThemeBreakpointTokens,\n} from \"../theme.types\"\nimport { getPx } from \"@yamada-ui/utils\"\n\ninterface BreakpointQuery {\n  breakpoint: string\n  maxW: number | undefined\n  maxWQuery: string | undefined\n  minMaxQuery: string | undefined\n  minW: number | undefined\n  minWQuery: string | undefined\n  query: string | undefined\n}\n\nexport type BreakpointQueries = BreakpointQuery[]\n\nexport interface Breakpoints {\n  isResponsive: (obj: Dict, strict?: boolean) => boolean\n  keys: string[]\n  queries: BreakpointQueries\n}\n\nexport function createQuery(\n  min: number | undefined,\n  max: number | undefined,\n  identifier = \"@media screen\",\n): string | undefined {\n  const query = [identifier]\n\n  if (min) query.push(\"and\", `(min-width: ${min}px)`)\n  if (max) query.push(\"and\", `(max-width: ${max}px)`)\n\n  return query.length > 1\n    ? query.join(\" \").replace(/^@container(\\s+\\w*)?\\s+and/, `@container$1`)\n    : undefined\n}\n\nfunction createQueries(\n  breakpoints: Dict,\n  options: BreakpointOptions,\n): BreakpointQueries {\n  const { direction, identifier } = options\n  const isDown = direction !== \"up\"\n\n  return Object.entries(breakpoints).map(([breakpoint, width], i, entry) => {\n    const [, relatedWidth] = entry[i + 1] ?? []\n    let minW = isDown ? relatedWidth : width\n    let maxW = isDown ? width : relatedWidth\n\n    if (breakpoint === \"base\") {\n      if (isDown) {\n        maxW = undefined\n      } else {\n        minW = undefined\n      }\n    }\n\n    if (isDown) {\n      if (minW) minW += 1\n    } else {\n      if (maxW) maxW -= 1\n    }\n\n    const maxWQuery = createQuery(undefined, maxW, identifier)\n    const minWQuery = createQuery(minW, undefined, identifier)\n    const minMaxQuery = createQuery(minW, maxW, identifier)\n    const query = isDown ? maxWQuery : minWQuery\n\n    return {\n      breakpoint,\n      maxW,\n      maxWQuery,\n      minMaxQuery,\n      minW,\n      minWQuery,\n      query,\n    }\n  })\n}\n\nfunction transformBreakpoints(\n  breakpoints: Dict,\n  options: BreakpointOptions,\n): Dict {\n  return Object.fromEntries(\n    Object.entries(breakpoints)\n      .map(([name, value]) => [name, getPx(value)] as const)\n      .sort((a, b) => {\n        if (options.direction !== \"up\") {\n          return b[1] - a[1]\n        } else {\n          return a[1] - b[1]\n        }\n      }),\n  )\n}\n\nexport function analyzeBreakpoints(\n  breakpoints: ThemeBreakpointTokens | undefined,\n  options: BreakpointOptions = {},\n): Breakpoints | undefined {\n  if (!breakpoints) return\n\n  options.base ??= \"9999px\"\n  options.direction ??= \"down\"\n\n  breakpoints.base = options.direction !== \"up\" ? options.base : \"0px\"\n\n  breakpoints = transformBreakpoints(breakpoints, options)\n\n  const keys = Object.keys(breakpoints)\n\n  const queries = createQueries(breakpoints, options)\n\n  const isResponsive = (obj: Dict, strict = false) => {\n    const providedKeys = Object.keys(obj)\n\n    if (!providedKeys.length) return false\n\n    if (strict && !providedKeys.includes(\"base\")) return false\n\n    return providedKeys.every((key) => keys.includes(key))\n  }\n\n  return {\n    isResponsive,\n    keys,\n    queries,\n  }\n}\n\nexport type AnalyzeBreakpointsReturn = ReturnType<typeof analyzeBreakpoints>\n\nexport function getMinMaxQuery(\n  queries: BreakpointQueries,\n  direction: BreakpointDirection,\n  pickKey: string[] = [],\n) {\n  const omitQueries = queries.filter(\n    ({ breakpoint }) => breakpoint !== \"base\" && pickKey.includes(breakpoint),\n  )\n\n  const minQuery = omitQueries.sort((a, b) => (a.minW ?? 0) - (b.minW ?? 0))[0]\n  const maxQuery = omitQueries.sort((a, b) => (b.maxW ?? 0) - (a.maxW ?? 0))[0]\n\n  if (direction !== \"up\") {\n    return { maxQuery, minQuery }\n  } else {\n    return { maxQuery, minQuery }\n  }\n}\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { StyleConfig } from \"../config\"\nimport type { PseudoProperty } from \"../pseudos\"\nimport type { ProcessSkipProperty, StyleProperty } from \"../styles\"\nimport type { StyledTheme } from \"../theme.types\"\nimport type { BreakpointQueries } from \"./breakpoint\"\nimport type { CSSObjectOrFunc, CSSUIObject } from \"./css.types\"\nimport { isArray, isObject, isString, merge, runIfFunc } from \"@yamada-ui/utils\"\nimport { DEFAULT_VAR_PREFIX } from \"../constant\"\nimport { pseudos } from \"../pseudos\"\nimport { processSkipProperties, styles } from \"../styles\"\n\nfunction isProcessSkip(key: string): boolean {\n  return processSkipProperties.includes(key as ProcessSkipProperty)\n}\n\nfunction isAdditionalObject(obj: Dict) {\n  return function (breakpointKeys: string[]): boolean {\n    const keys = Object.keys(obj)\n\n    if (!keys.length) return false\n\n    if (!keys.includes(\"base\")) return false\n\n    return keys.every((key) => {\n      return (\n        breakpointKeys.includes(key) ||\n        key.startsWith(\"@\") ||\n        key.startsWith(\"_\")\n      )\n    })\n  }\n}\n\nfunction expandColorModeArray(\n  key: string,\n  value: any[],\n  queries: BreakpointQueries,\n): Dict {\n  let computedCSS: Dict = {}\n\n  if (isObject(value[0])) {\n    computedCSS = expandResponsiveObject(key, value[0], queries)\n  } else {\n    computedCSS[key] = value[0]\n  }\n\n  computedCSS[pseudos._dark] = { [key]: value[1] }\n\n  return computedCSS\n}\n\nfunction expandResponsiveObject(\n  key: string,\n  value: Dict,\n  queries: BreakpointQueries,\n): Dict {\n  return queries.reduce<Dict>((prev, { breakpoint, query }) => {\n    const breakpointValue = value[breakpoint]\n\n    if (query) {\n      if (breakpointValue) prev[query] = { [key]: breakpointValue }\n    } else if (isArray(breakpointValue)) {\n      prev = merge(prev, expandColorModeArray(key, breakpointValue, queries))\n    } else {\n      prev[key] = breakpointValue\n    }\n\n    return prev\n  }, {})\n}\n\nfunction expandAdditionalObject(\n  key: string,\n  value: Dict,\n  queries: BreakpointQueries,\n) {\n  return Object.entries(value).reduce<Dict>((prev, [query, value]) => {\n    if (query === \"base\") {\n      if (isArray(value)) {\n        prev = merge(prev, expandColorModeArray(key, value, queries))\n      } else {\n        prev[key] = value\n      }\n    } else {\n      query =\n        queries.find(({ breakpoint }) => breakpoint === query)?.query ?? query\n\n      if (isObject(value)) {\n        prev = merge(prev, {\n          [query]: expandResponsiveObject(key, value, queries),\n        })\n      } else if (isArray(value)) {\n        prev = merge(prev, {\n          [query]: expandColorModeArray(key, value, queries),\n        })\n      } else {\n        prev[query] = { [key]: value }\n      }\n    }\n\n    return prev\n  }, {})\n}\n\nfunction expandCSS(css: Dict) {\n  return function (theme: StyledTheme): Dict {\n    if (!theme.__breakpoints) return css\n\n    const { isResponsive, keys, queries } = theme.__breakpoints\n\n    let computedCSS: Dict = {}\n\n    for (let [key, value] of Object.entries(css)) {\n      value = runIfFunc(value, theme)\n\n      if (value == null) continue\n\n      if (isArray(value) && !isProcessSkip(key)) {\n        computedCSS = merge(\n          computedCSS,\n          expandColorModeArray(key, value, queries),\n        )\n\n        continue\n      }\n\n      if (isObject(value) && isResponsive(value) && !isProcessSkip(key)) {\n        computedCSS = merge(\n          computedCSS,\n          expandResponsiveObject(key, value, queries),\n        )\n\n        continue\n      }\n\n      if (\n        isObject(value) &&\n        isAdditionalObject(value)(keys) &&\n        !isProcessSkip(key)\n      ) {\n        computedCSS = merge(\n          computedCSS,\n          expandAdditionalObject(key, value, queries),\n        )\n\n        continue\n      }\n\n      computedCSS = merge(computedCSS, { [key]: value })\n    }\n\n    return computedCSS\n  }\n}\n\nfunction valueToVar(value: any, theme: StyledTheme) {\n  if (isArray(value) || isObject(value)) {\n    return value\n  } else if (isString(value)) {\n    const prefix = theme.__config?.var?.prefix ?? DEFAULT_VAR_PREFIX\n\n    return value.replace(/\\$([^,)/\\s]+)/g, (_, value) => {\n      if (isObject(theme.__cssMap) && value in theme.__cssMap) {\n        if (theme.__cssMap[value]?.ref) return theme.__cssMap[value].ref\n      }\n\n      return `var(--${prefix}-${value})`\n    })\n  } else {\n    return value\n  }\n}\n\nexport function css(cssOrFunc: CSSObjectOrFunc | CSSUIObject) {\n  return function (\n    theme: StyledTheme,\n    disableStyleProp?: (prop: string) => boolean,\n  ) {\n    function createCSS(\n      cssOrFunc: CSSObjectOrFunc | CSSUIObject,\n      isNested = false,\n    ): Dict {\n      const cssObj = runIfFunc(cssOrFunc, theme)\n      const computedCSS = expandCSS(cssObj)(theme)\n\n      let resolvedCSS: Dict = {}\n\n      for (let [prop, value] of Object.entries(computedCSS)) {\n        if (disableStyleProp?.(prop)) continue\n\n        value = runIfFunc(value, theme)\n        value = valueToVar(value, theme)\n\n        if (value == null) continue\n\n        if (prop in pseudos) prop = pseudos[prop as PseudoProperty]\n\n        let style = styles[prop as StyleProperty] as\n          | StyleConfig\n          | true\n          | undefined\n\n        if (style === true) style = { properties: prop }\n\n        if (isObject(value) && !style?.isProcessSkip) {\n          value = style?.transform?.(value, theme, css, resolvedCSS) ?? value\n\n          resolvedCSS[prop] = resolvedCSS[prop] ?? {}\n          resolvedCSS[prop] = merge(resolvedCSS[prop], createCSS(value, true))\n\n          continue\n        }\n\n        value = style?.transform?.(value, theme, css, resolvedCSS) ?? value\n\n        if (style?.isProcessResult || style?.isProcessSkip)\n          value = createCSS(value, true)\n\n        if (!isNested && style?.static) {\n          const staticStyles = runIfFunc(style.static, theme)\n\n          resolvedCSS = merge(resolvedCSS, staticStyles)\n        }\n\n        const properties = runIfFunc(style?.properties, theme)\n\n        if (properties) {\n          if (isArray(properties)) {\n            for (const property of properties) {\n              resolvedCSS[property] = value\n            }\n\n            continue\n          } else if (isObject(value)) {\n            resolvedCSS = merge(resolvedCSS, value)\n\n            continue\n          } else {\n            resolvedCSS[properties] = value\n\n            continue\n          }\n        }\n\n        if (isObject(value)) {\n          resolvedCSS = merge(resolvedCSS, value)\n\n          continue\n        }\n\n        resolvedCSS[prop] = value\n      }\n\n      return resolvedCSS\n    }\n\n    return createCSS(cssOrFunc)\n  }\n}\n\nexport type CSSFunction = typeof css\n","import type { StyledTheme } from \"../theme.types\"\nimport type { CSSObjectOrFunc, CSSUIObject } from \"./css.types\"\nimport { css as emotionCSS } from \"@emotion/css\"\nimport { ThemeContext } from \"@emotion/react\"\nimport { useContext, useMemo } from \"react\"\nimport { css } from \"./css\"\n\nexport const useCSS = (cssObject: CSSObjectOrFunc | CSSUIObject = {}) => {\n  const theme = useContext(ThemeContext) as StyledTheme\n\n  return useMemo(() => getCSS(cssObject)(theme), [cssObject, theme])\n}\n\nexport const getCSS =\n  (cssObject: CSSObjectOrFunc | CSSUIObject = {}) =>\n  (theme: StyledTheme) =>\n    emotionCSS(css(cssObject)(theme))\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { StyleConfig } from \"../config\"\nimport type { StyleProperty } from \"../styles\"\nimport type { StyledTheme } from \"../theme.types\"\nimport type { CSSUIObject, CSSUIProps } from \"./css.types\"\nimport { ThemeContext } from \"@emotion/react\"\nimport { flattenObject, isObject, merge } from \"@yamada-ui/utils\"\nimport { useContext, useMemo } from \"react\"\nimport { DEFAULT_VAR_PREFIX } from \"../constant\"\nimport { styles } from \"../styles\"\n\ntype Format<Y> = (name: Y, index: number) => string\ntype Variable = Required<CSSUIProps>[\"vars\"][number]\n\nconst defaultFormat: Format<any> = (name, index) => `${name}-${index}`\n\nexport const useCreateVars = <Y extends Dict, M extends keyof Y = keyof Y>(\n  obj: Y,\n  keys: M[] | readonly M[],\n  options?: CreateVarsOptions<M>,\n) => {\n  const theme = useContext(ThemeContext) as StyledTheme\n\n  return useMemo(\n    () => createVars(obj, keys, options)(theme),\n    [obj, keys, options, theme],\n  )\n}\n\ninterface CreateVarsOptions<M> {\n  format?: Format<M>\n  transform?: boolean\n}\n\nexport const createVars =\n  <Y extends Dict, M extends keyof Y = keyof Y>(\n    obj: Y,\n    keys: M[] | readonly M[],\n    { format = defaultFormat, transform = false }: CreateVarsOptions<M> = {},\n  ) =>\n  (theme: StyledTheme): [Variable[], { [key in M]?: string }] => {\n    const map = new Map<M, Variable>()\n    const result: { [key in M]?: string } = {}\n\n    if (!theme.__breakpoints) return [[], result]\n\n    const { isResponsive } = theme.__breakpoints\n    const prefix = theme.__config?.var?.prefix ?? DEFAULT_VAR_PREFIX\n\n    const flattedObj = flattenObject(obj, {\n      separator: \"$$\",\n      shouldProcess: (obj) => !isResponsive(obj),\n    })\n\n    Object.entries(flattedObj).forEach(([path, value], index) => {\n      const segments = path.split(\"$$\")\n\n      if (!segments.some((path) => keys.includes(path as M))) return\n\n      const name = segments.at(-1) as M\n      const rest = segments.slice(0, -1)\n\n      if (map.has(name)) {\n        const variable = map.get(name)\n\n        if (!variable) return\n\n        const additionalValue = rest.reduceRight<Dict | string>(\n          (acc, key) => ({ [key]: acc }),\n          isObject(value) ? value : { base: value },\n        ) as Dict\n\n        value = merge(variable.value, additionalValue)\n\n        map.set(name, { ...variable, value })\n      } else {\n        const formattedName = format(name, index)\n        const style: StyleConfig | true | undefined =\n          styles[name as StyleProperty]\n        const token = isObject(style) ? style.token : undefined\n\n        const additionalValue = rest.reduceRight<Dict | string>(\n          (acc, key) => ({ [key]: acc }),\n          isObject(value) ? value : { base: value },\n        ) as Dict\n\n        value = { base: undefined, ...additionalValue }\n\n        map.set(name, {\n          name: formattedName,\n          token,\n          value,\n          __prefix: prefix,\n        })\n\n        if (transform) {\n          result[name] = `var(--${prefix}-${formattedName})`\n        } else {\n          result[name] = `$${formattedName}`\n        }\n      }\n    })\n\n    const variables: Variable[] = [...map.values()]\n\n    return [variables, result]\n  }\n\nexport const mergeVars = (...vars: CSSUIObject[\"vars\"][]): CSSUIProps[\"vars\"] =>\n  vars\n    .filter(Boolean)\n    .flatMap((vars) => vars as Variable[]) as CSSUIProps[\"vars\"]\n","import type { Dict } from \"@yamada-ui/utils\"\nimport type { VariableTokens, VariableValue } from \"../theme\"\nimport type { CSSMap, StyledTheme, ThemeValue } from \"../theme.types\"\nimport type { BreakpointQueries } from \"./breakpoint\"\nimport {\n  calc,\n  escape,\n  isArray,\n  isObject,\n  isString,\n  merge,\n} from \"@yamada-ui/utils\"\nimport { animation, gradient } from \"../config\"\nimport { DEFAULT_VAR_PREFIX } from \"../constant\"\nimport { pseudos } from \"../pseudos\"\nimport { css } from \"./css\"\n\ntype ParsedValue = number | string | undefined\n\ninterface Variable {\n  reference: string\n  variable: string\n}\n\nexport function getVar(token: string) {\n  return function (theme: StyledTheme) {\n    const prefix = theme.__config?.var?.prefix ?? DEFAULT_VAR_PREFIX\n\n    return `var(--${prefix}-${token})`\n  }\n}\n\nconst isGradient = (token: string) => token.startsWith(\"gradients.\")\nconst isAnimation = (token: string) => token.startsWith(\"animations.\")\nconst isSpace = (token: string) => token.startsWith(\"spaces.\")\n\ninterface CreateThemeVarsOptions {\n  cssMap?: CSSMap\n  cssVars?: Dict\n  prevTokens?: VariableTokens\n}\n\nexport function getCreateThemeVars(\n  prefix: string = DEFAULT_VAR_PREFIX,\n  queries: BreakpointQueries,\n) {\n  function tokenToVar(token: string): Variable {\n    token = token.replace(/\\./g, \"-\")\n\n    const variable = `--${[prefix, escape(token, \"-\")].filter(Boolean).join(\"-\")}`\n    const reference = `var(${variable})`\n\n    return { reference, variable }\n  }\n\n  return function (tokens: VariableTokens) {\n    return function ({\n      cssMap = {},\n      cssVars = {},\n      prevTokens,\n    }: CreateThemeVarsOptions = {}): { cssMap: CSSMap; cssVars: Dict } {\n      const theme = { __cssMap: cssMap } as StyledTheme\n\n      function getRelatedReference(\n        token: string,\n        value: ParsedValue = \"\",\n      ): [ParsedValue, Exclude<ParsedValue, undefined>] {\n        const relatedToken = [token.split(\".\")[0], value].join(\".\")\n        const targetToken = tokens[relatedToken] ?? prevTokens?.[relatedToken]\n\n        if (!targetToken) return [, value]\n\n        const { reference, variable } = tokenToVar(relatedToken)\n\n        return [variable, reference]\n      }\n\n      function getQuery(key: string) {\n        return queries.find(({ breakpoint }) => breakpoint === key)?.query\n      }\n\n      function valueToVar<Y extends ParsedValue>(value: Y) {\n        if (isString(value)) {\n          return value.replace(/\\$([^,)/\\s]+)/g, (_, value) => {\n            const token = tokens[value] ?? prevTokens?.[value]\n\n            if (token) {\n              return tokenToVar(value).reference\n            } else if (value in cssMap && cssMap[value]?.ref) {\n              return cssMap[value].ref\n            } else {\n              return `var(--${prefix}-${value})`\n            }\n          })\n        } else {\n          return value\n        }\n      }\n\n      function createNegativeVar(token: string, reference: string) {\n        const paths = token.split(\".\")\n        const [start, ...rest] = paths\n\n        const negativeToken = `${start}.-${rest.join(\".\")}`\n\n        const negativeReference = calc.negate(reference)\n\n        return { negativeReference, negativeToken }\n      }\n\n      function createAnimationVar(value: VariableValue) {\n        if (isArray(value)) {\n          return value.map((value) => animation(value, theme, css)).join(\",\")\n        } else {\n          return animation(value, theme, css)\n        }\n      }\n\n      function createGradientVar(token: string, value: ThemeValue) {\n        return function (isSemantic: boolean) {\n          if (!isSemantic) {\n            return gradient(value, theme, css)\n          } else {\n            const [variable, reference] = getRelatedReference(token, value)\n\n            return variable ? reference : gradient(value, theme, css)\n          }\n        }\n      }\n\n      function createVar(\n        token: string,\n        value: VariableValue,\n        variable: string,\n      ) {\n        return function (isSemantic: boolean, queries: string[] = []) {\n          if (isArray(value)) {\n            const [lightValue, darkValue] = value\n\n            createVar(token, lightValue, variable)(isSemantic, queries)\n            createVar(\n              token,\n              darkValue,\n              variable,\n            )(isSemantic, [...queries, pseudos._dark])\n          } else if (isObject(value)) {\n            Object.entries(value).forEach(([key, value]) => {\n              if (key === \"base\") {\n                createVar(token, value, variable)(isSemantic, queries)\n              } else {\n                const query = getQuery(key)\n\n                if (!query) return\n\n                createVar(\n                  token,\n                  value,\n                  variable,\n                )(isSemantic, [...queries, query])\n              }\n            })\n          } else {\n            let computedValue = valueToVar(value)\n\n            if (isGradient(token)) {\n              computedValue = createGradientVar(\n                token,\n                computedValue,\n              )(isSemantic)\n            } else if (isSemantic) {\n              const [, reference] = getRelatedReference(token, computedValue)\n\n              computedValue = reference\n            }\n\n            cssVars = merge(\n              cssVars,\n              queries.reduceRight<Dict>((prev, key) => ({ [key]: prev }), {\n                [variable]: computedValue,\n              }),\n            )\n          }\n        }\n      }\n\n      for (let [token, { isSemantic, value }] of Object.entries(tokens)) {\n        const { reference, variable } = tokenToVar(token)\n\n        if (isAnimation(token)) value = createAnimationVar(value)\n\n        createVar(token, value, variable)(isSemantic)\n\n        if (isSpace(token)) {\n          const { negativeReference, negativeToken } = createNegativeVar(\n            token,\n            reference,\n          )\n\n          cssMap[negativeToken] = { ref: negativeReference, var: variable }\n        }\n\n        cssMap[token] = { ref: reference, var: variable }\n      }\n\n      return { cssMap, cssVars }\n    }\n  }\n}\n\nexport type CreateThemeVars = ReturnType<ReturnType<typeof getCreateThemeVars>>\n","import type { ColorModeWithSystem } from \"../css\"\n\nexport interface ColorModeScriptProps {\n  type?: \"cookie\" | \"localStorage\"\n  initialColorMode?: ColorModeWithSystem\n  nonce?: string\n  storageKey?: string\n}\n\nexport const COLOR_MODE_STORAGE_KEY = \"ui-color-mode\"\n\nconst COLOR_MODE_MAP = new Set([\"dark\", \"light\", \"system\"])\n\nconst normalizeColorMode = (initialColorMode: \"dark\" | \"light\" | \"system\") => {\n  let value = initialColorMode\n\n  if (!COLOR_MODE_MAP.has(value)) value = \"light\"\n\n  return value\n}\n\nexport const getColorModeScript = ({\n  type = \"localStorage\",\n  initialColorMode = \"light\",\n  storageKey = COLOR_MODE_STORAGE_KEY,\n}: Omit<ColorModeScriptProps, \"nonce\"> = {}) => {\n  const init = normalizeColorMode(initialColorMode)\n\n  const isCookie = type === \"cookie\"\n\n  const cookieScript = `(function(){try{var a=function(o){var l=\"(prefers-color-scheme: dark)\",v=window.matchMedia(l).matches?\"dark\":\"light\",e=o===\"system\"?v:o,d=document.documentElement,m=document.body,i=\"ui-light\",n=\"ui-dark\",s=e===\"dark\";return m.classList.add(s?n:i),m.classList.remove(s?i:n),d.style.colorScheme=e,d.dataset.mode=e,e},h=\"${init}\",r=\"${storageKey}\",t=document.cookie.match(new RegExp(\"(^| )\".concat(r,\"=([^;]+)\"))),c=t?t[2]:null;c?a(c):document.cookie=\"\".concat(r,\"=\").concat(a(h),\"; max-age=31536000; path=/\")}catch(a){}})();\n  `\n\n  const localStorageScript = `(function(){try{var a=function(c){var v=\"(prefers-color-scheme: dark)\",h=window.matchMedia(v).matches?\"dark\":\"light\",r=c===\"system\"?h:c,o=document.documentElement,s=document.body,l=\"ui-light\",d=\"ui-dark\",i=r===\"dark\";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.mode=r,r},m=\"${init}\",e=\"${storageKey}\",t=localStorage.getItem(e);t?a(t):localStorage.setItem(e,a(m))}catch(a){}})();\n  `\n\n  const fn = isCookie ? cookieScript : localStorageScript\n\n  return `!${fn}`.trim()\n}\n\nexport const ColorModeScript = ({ nonce, ...rest }: ColorModeScriptProps) => {\n  const html = getColorModeScript(rest)\n\n  return (\n    <script\n      id=\"ui-color-mode-script\"\n      dangerouslySetInnerHTML={{ __html: html }}\n      nonce={nonce}\n    />\n  )\n}\n","import type { ColorMode, ColorModeWithSystem } from \"../css\"\nimport { COLOR_MODE_STORAGE_KEY } from \"./color-mode-script\"\n\nconst hasSupport = !!(globalThis.document as Document | undefined)\n\nexport interface ColorModeManager {\n  type: \"cookie\" | \"localStorage\"\n  get: (\n    initColorMode?: ColorModeWithSystem,\n  ) => (storageKey?: string) => ColorModeWithSystem\n  set: (colorMode: ColorModeWithSystem) => (storageKey?: string) => void\n  ssr?: boolean\n}\n\nconst createLocalStorage = (defaultStorageKey: string): ColorModeManager => ({\n  type: \"localStorage\",\n  get:\n    (initColorMode = \"light\") =>\n    (storageKey = defaultStorageKey) => {\n      if (!hasSupport) return initColorMode\n\n      try {\n        const colorMode = localStorage.getItem(storageKey) as ColorMode | null\n\n        return colorMode || initColorMode\n      } catch {\n        return initColorMode\n      }\n    },\n  set:\n    (colorMode) =>\n    (storageKey = defaultStorageKey) => {\n      try {\n        localStorage.setItem(storageKey, colorMode)\n      } catch {}\n    },\n\n  ssr: false,\n})\n\nconst parseCookie = (cookie: string, key: string): ColorMode | undefined => {\n  const match = cookie.match(new RegExp(`(^| )${key}=([^;]+)`))\n\n  return match?.[2] as ColorMode | undefined\n}\n\nconst createCookieStorage = (\n  defaultStorageKey: string,\n  cookie?: string,\n): ColorModeManager => ({\n  type: \"cookie\",\n  get:\n    (initColorMode = \"light\") =>\n    (storageKey = defaultStorageKey) => {\n      if (cookie) return parseCookie(cookie, storageKey) || initColorMode\n\n      if (!hasSupport) return initColorMode\n\n      return parseCookie(document.cookie, storageKey) || initColorMode\n    },\n  set:\n    (colorMode) =>\n    (storageKey = defaultStorageKey) => {\n      document.cookie = `${storageKey}=${colorMode}; max-age=31536000; path=/`\n    },\n\n  ssr: !!cookie,\n})\n\nexport const createColorModeManager = (\n  type: \"cookie\" | \"local\" | \"ssr\" = \"local\",\n  cookie?: string,\n) => {\n  switch (type) {\n    case \"cookie\":\n    case \"ssr\":\n      return createCookieStorage(\n        COLOR_MODE_STORAGE_KEY,\n        typeof cookie === \"string\" ? cookie : undefined,\n      )\n\n    default:\n      return createLocalStorage(COLOR_MODE_STORAGE_KEY)\n  }\n}\n\nexport const colorModeManager = {\n  cookieStorage: createCookieStorage(COLOR_MODE_STORAGE_KEY),\n  createCookieStorage,\n  createLocalStorage,\n  localStorage: createLocalStorage(COLOR_MODE_STORAGE_KEY),\n  ssr: (cookie?: string) => createCookieStorage(COLOR_MODE_STORAGE_KEY, cookie),\n}\n","import type { FC, ReactNode } from \"react\"\nimport type { ColorMode, ColorModeWithSystem } from \"../css\"\nimport type { ThemeConfig } from \"../theme.types\"\nimport type { ColorModeManager } from \"./color-mode-manager\"\nimport type { Environment } from \"./environment-provider\"\nimport {\n  funcAll,\n  isEmptyObject,\n  noop,\n  useCallbackRef,\n  useSafeLayoutEffect,\n} from \"@yamada-ui/utils\"\nimport {\n  createContext,\n  useCallback,\n  useContext,\n  useEffect,\n  useMemo,\n  useState,\n} from \"react\"\nimport { colorModeManager } from \"./color-mode-manager\"\nimport { getColorModeUtils } from \"./color-mode-utils\"\nimport { useEnvironment } from \"./environment-provider\"\n\nconst { localStorage } = colorModeManager\n\ninterface ColorModeContext {\n  changeColorMode: (colorMode: ColorModeWithSystem) => void\n  colorMode: ColorMode\n  internalColorMode: ColorModeWithSystem\n  toggleColorMode: () => void\n  forced?: boolean\n}\n\nconst getColorMode =\n  (manager: ColorModeManager, fallback: ColorModeWithSystem) =>\n  (storageKey?: string) =>\n    manager.type === \"cookie\" && manager.ssr\n      ? manager.get(fallback)(storageKey)\n      : fallback\n\nexport const ColorModeContext = createContext({} as ColorModeContext)\n\nexport interface ColorModeProviderProps {\n  children?: ReactNode\n  colorMode?: ColorMode\n  /**\n   * Manager to persist a user's color mode preference.\n   *\n   * Omit if you don't render server-side.\n   * For SSR, choose `colorModeManager.ssr`.\n   *\n   * @default 'colorModeManager.localStorage'\n   */\n  colorModeManager?: ColorModeManager\n  /**\n   * The config of the yamada ui.\n   */\n  config?: ThemeConfig\n  /**\n   * Key of value saved in storage.\n   * By default, it is saved to `local storage`.\n   */\n  storageKey?: string\n}\n\nexport const ColorModeProvider: FC<ColorModeProviderProps> = ({\n  children,\n  colorMode: defaultColorMode,\n  colorModeManager = localStorage,\n  config: {\n    disableTransitionOnChange = true,\n    initialColorMode = \"light\" as ColorModeWithSystem,\n  } = {},\n  storageKey,\n}) => {\n  const environment = useEnvironment()\n  const [colorMode, setColorMode] = useState<ColorModeWithSystem>(() =>\n    getColorMode(colorModeManager, initialColorMode)(storageKey),\n  )\n  const systemColorMode = useSystemColorMode({\n    callback: (systemColorMode) => {\n      if (colorMode !== \"system\") return\n\n      setClassName(systemColorMode === \"dark\")\n      setDataset(systemColorMode)\n    },\n    environment,\n  })\n\n  const computedColorMode = initialColorMode === \"dark\" ? \"dark\" : \"light\"\n  const resolvedColorMode =\n    colorMode === \"system\"\n      ? systemColorMode\n        ? systemColorMode\n        : computedColorMode\n      : colorMode\n\n  const { getSystemColorMode, setClassName, setDataset } = useMemo(\n    () =>\n      getColorModeUtils({\n        environment,\n        isPreventTransition: disableTransitionOnChange,\n      }),\n    [disableTransitionOnChange, environment],\n  )\n\n  const changeColorMode = useCallback(\n    (colorMode: ColorModeWithSystem): void => {\n      const resolved = colorMode === \"system\" ? getSystemColorMode() : colorMode\n\n      setColorMode(colorMode)\n      setClassName(resolved === \"dark\")\n      setDataset(resolved)\n\n      colorModeManager.set(colorMode)(storageKey)\n    },\n    [\n      colorModeManager,\n      getSystemColorMode,\n      setClassName,\n      setDataset,\n      storageKey,\n    ],\n  )\n\n  const toggleColorMode = useCallback((): void => {\n    changeColorMode(resolvedColorMode === \"dark\" ? \"light\" : \"dark\")\n  }, [changeColorMode, resolvedColorMode])\n\n  useEffect(() => {\n    const managerValue = colorModeManager.get()(storageKey)\n\n    changeColorMode(managerValue)\n  }, [changeColorMode, colorModeManager, storageKey])\n\n  const value = useMemo(\n    () => ({\n      changeColorMode: defaultColorMode ? noop : changeColorMode,\n      colorMode: defaultColorMode ?? resolvedColorMode,\n      forced: defaultColorMode !== undefined,\n      internalColorMode: colorMode,\n      toggleColorMode: defaultColorMode ? noop : toggleColorMode,\n    }),\n    [\n      defaultColorMode,\n      resolvedColorMode,\n      colorMode,\n      changeColorMode,\n      toggleColorMode,\n    ],\n  )\n\n  return (\n    <ColorModeContext.Provider value={value}>\n      {children}\n    </ColorModeContext.Provider>\n  )\n}\n\n/**\n * `useColorMode` is a custom hook that returns the current color mode.\n *\n * @see Docs https://yamada-ui.com/hooks/use-color-mode\n */\nexport const useColorMode = (): ColorModeContext => {\n  const context = useContext(ColorModeContext)\n\n  if (isEmptyObject(context)) {\n    return {\n      changeColorMode: noop,\n      colorMode: \"light\",\n      forced: false,\n      internalColorMode: \"light\",\n      toggleColorMode: noop,\n    }\n  } else {\n    return context\n  }\n}\n\nexport interface UseSystemColorModeProps {\n  callback?: (colorMode: ColorMode) => void\n  environment?: Environment\n  initialColorMode?: ColorMode\n}\n\n/**\n * `useSystemColorMode` is a custom hook that returns the current system color mode.\n */\nexport const useSystemColorMode = ({\n  callback,\n  environment,\n  initialColorMode,\n}: UseSystemColorModeProps = {}) => {\n  const callbackRef = useCallbackRef(callback)\n  const [colorMode, setColorMode] = useState<ColorMode | undefined>(\n    initialColorMode,\n  )\n\n  const { getSystemColorMode, systemColorModeObserver } = useMemo(\n    () => getColorModeUtils({ environment }),\n    [environment],\n  )\n\n  useSafeLayoutEffect(() => {\n    setColorMode(getSystemColorMode())\n  }, [getSystemColorMode])\n\n  useEffect(() => {\n    return systemColorModeObserver(funcAll(setColorMode, callbackRef))\n  }, [systemColorModeObserver, getSystemColorMode, callbackRef])\n\n  return colorMode\n}\n\n/**\n * `useColorModeValue` is a custom hook that returns the value of the current color mode from the provided values.\n *\n * @see Docs https://yamada-ui.com/hooks/use-color-mode-value\n */\nexport const useColorModeValue = <L, D>(light: L, dark: D): D | L => {\n  const { colorMode } = useColorMode()\n\n  return getColorModeValue<L, D>(light, dark)(colorMode)\n}\n\nexport const getColorModeValue =\n  <L, D>(light: L, dark: D) =>\n  (colorMode: ColorMode): D | L => {\n    return colorMode === \"light\" ? light : dark\n  }\n","import type { FC, ReactNode } from \"react\"\nimport { useSafeLayoutEffect } from \"@yamada-ui/utils\"\nimport { createContext, useContext, useMemo, useReducer, useRef } from \"react\"\n\nexport interface Environment {\n  getDocument: () => Document | undefined\n  getWindow: () => undefined | Window\n}\n\nexport const defaultEnvironment: Environment = {\n  getDocument: () => document,\n  getWindow: () => window,\n}\n\nconst EnvironmentContext = createContext<Environment>(defaultEnvironment)\n\nexport interface EnvironmentProviderProps {\n  children: ReactNode\n  disabled?: boolean\n  environment?: Environment\n}\n\nexport const EnvironmentProvider: FC<EnvironmentProviderProps> = ({\n  children,\n  disabled,\n  environment,\n}) => {\n  const ref = useRef<HTMLSpanElement>(null)\n\n  const context = useMemo<Environment>(() => {\n    if (environment) return environment\n\n    return {\n      getDocument: () => ref.current?.ownerDocument ?? document,\n      getWindow: () => ref.current?.ownerDocument.defaultView ?? window,\n    }\n  }, [environment])\n\n  const enabled = !disabled || !environment\n\n  return (\n    <EnvironmentContext.Provider value={context}>\n      {children}\n\n      {enabled ? <span id=\"__ui_dev\" ref={ref} hidden /> : null}\n    </EnvironmentContext.Provider>\n  )\n}\n\nEnvironmentProvider.displayName = \"EnvironmentProvider\"\n\nexport const useEnvironment = ({ isDefer }: { isDefer?: boolean } = {}) => {\n  const [, forceUpdate] = useReducer((c) => c + 1, 0)\n\n  useSafeLayoutEffect(() => {\n    if (!isDefer) return\n\n    forceUpdate()\n  }, [isDefer])\n\n  return useContext(EnvironmentContext)\n}\n","import type { Environment } from \"./environment-provider\"\n\nexport const preventTransition = (environment: Environment) => {\n  const { getDocument, getWindow } = environment\n  const win = getWindow()\n  const doc = getDocument()\n\n  if (!doc) return\n\n  const css = doc.createElement(\"style\")\n\n  const node = doc.createTextNode(\n    `*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`,\n  )\n\n  css.appendChild(node)\n\n  doc.head.appendChild(css)\n\n  return () => {\n    const forceReflow = () => win?.getComputedStyle(doc.body)\n\n    forceReflow()\n\n    requestAnimationFrame(() => {\n      requestAnimationFrame(() => {\n        document.head.removeChild(css)\n      })\n    })\n  }\n}\n","import type { ColorMode } from \"../css\"\nimport type { Environment } from \"./environment-provider\"\nimport { defaultEnvironment } from \"./environment-provider\"\nimport { preventTransition } from \"./provider-utils\"\n\nconst classNames = {\n  light: \"ui-light\",\n  dark: \"ui-dark\",\n}\n\nconst queries = {\n  light: \"(prefers-color-scheme: light)\",\n  dark: \"(prefers-color-scheme: dark)\",\n}\n\ninterface GetColorModeUtilsProps {\n  environment?: Environment\n  isPreventTransition?: boolean\n}\n\nexport const getColorModeUtils = ({\n  environment = defaultEnvironment,\n  isPreventTransition = true,\n}: GetColorModeUtilsProps) => {\n  const { getDocument, getWindow } = environment\n\n  const setDataset = (colorMode: ColorMode) => {\n    const doc = getDocument()\n\n    const cleanup = isPreventTransition\n      ? preventTransition(environment)\n      : undefined\n\n    if (!doc) return\n\n    doc.documentElement.dataset.mode = colorMode\n    doc.documentElement.style.colorScheme = colorMode\n\n    cleanup?.()\n  }\n\n  const setClassName = (isDark: boolean) => {\n    const doc = getDocument()\n\n    if (!doc) return\n\n    doc.body.classList.add(isDark ? classNames.dark : classNames.light)\n    doc.body.classList.remove(isDark ? classNames.light : classNames.dark)\n  }\n\n  const query = () => {\n    const win = getWindow()\n\n    if (!win) return\n\n    return win.matchMedia(queries.dark)\n  }\n\n  const getSystemColorMode = (fallback?: ColorMode) => {\n    const mql = query()\n    const dark = mql?.matches ?? fallback === \"dark\"\n\n    return dark ? \"dark\" : \"light\"\n  }\n\n  const systemColorModeObserver = (func: (cm: ColorMode) => void) => {\n    const mql = query()\n\n    const listener = (e: MediaQueryListEvent) => {\n      func(e.matches ? \"dark\" : \"light\")\n    }\n\n    if (typeof mql?.addListener === \"function\") {\n      mql.addListener(listener)\n    } else {\n      mql?.addEventListener(\"change\", listener)\n    }\n\n    return () => {\n      if (typeof mql?.removeListener === \"function\") {\n        mql.removeListener(listener)\n      } else {\n        mql?.removeEventListener(\"change\", listener)\n      }\n    }\n  }\n\n  return {\n    getSystemColorMode,\n    query,\n    setClassName,\n    setDataset,\n    systemColorModeObserver,\n  }\n}\n","interface FormatOptions<T> {\n  options: T extends Intl.NumberFormat\n    ? Intl.NumberFormatOptions\n    : T extends Intl.DateTimeFormat\n      ? Intl.DateTimeFormatOptions\n      : T extends Intl.RelativeTimeFormat\n        ? Intl.RelativeTimeFormatOptions\n        : T extends Intl.ListFormat\n          ? Intl.ListFormatOptions\n          : T extends Intl.PluralRules\n            ? Intl.PluralRulesOptions\n            : T extends Intl.Collator\n              ? Intl.CollatorOptions\n              : never\n}\n\nexport const i18nCache = <T extends abstract new (...args: any) => any>(\n  Instance: T,\n) => {\n  const formatterCache = new Map<string, T>()\n\n  return function create(\n    locale: string,\n    options?: FormatOptions<InstanceType<T>>[\"options\"],\n  ): InstanceType<T> {\n    const key =\n      locale +\n      (options\n        ? Object.entries(options)\n            .sort((a, b) => (a[0] < b[0] ? -1 : 1))\n            .join()\n        : \"\")\n\n    if (formatterCache.has(key))\n      return formatterCache.get(key) as InstanceType<T>\n\n    // @ts-ignore\n    const formatter = new Instance(locale, options)\n\n    formatterCache.set(key, formatter)\n\n    return formatter as any\n  }\n}\n","import type { FC, ReactNode } from \"react\"\nimport type { TextDirection } from \"../theme.types\"\nimport { createdDom, isEmptyObject, useIsSsr } from \"@yamada-ui/utils\"\nimport {\n  createContext,\n  useCallback,\n  useContext,\n  useEffect,\n  useMemo,\n  useState,\n} from \"react\"\nimport { DEFAULT_DIRECTION, DEFAULT_LOCALE } from \"../constant\"\n\nexport interface Language {\n  direction: TextDirection\n  locale: string\n}\n\nconst RTL_SCRIPTS = new Set([\n  \"Adlm\",\n  \"Arab\",\n  \"Hebr\",\n  \"Mand\",\n  \"Mend\",\n  \"Nkoo\",\n  \"Rohg\",\n  \"Samr\",\n  \"Syrc\",\n  \"Thaa\",\n  \"Yezi\",\n])\n\nconst RTL_LANGS = new Set([\n  \"ae\",\n  \"ar\",\n  \"arc\",\n  \"bcc\",\n  \"bqi\",\n  \"ckb\",\n  \"dv\",\n  \"fa\",\n  \"glk\",\n  \"he\",\n  \"ku\",\n  \"mzn\",\n  \"nqo\",\n  \"pnb\",\n  \"ps\",\n  \"sd\",\n  \"ug\",\n  \"ur\",\n  \"yi\",\n])\n\nconst DEFAULT_LANGUAGE: Language = {\n  direction: DEFAULT_DIRECTION,\n  locale: DEFAULT_LOCALE,\n}\n\nexport function getLanguage(): Language {\n  let locale = createdDom() ? navigator.language : DEFAULT_LOCALE\n\n  try {\n    Intl.DateTimeFormat.supportedLocalesOf([locale])\n  } catch (_err) {\n    locale = DEFAULT_LOCALE\n  }\n\n  const direction = isRtl(locale) ? \"rtl\" : \"ltr\"\n\n  return { direction, locale }\n}\n\ninterface I18nContext extends Language {}\n\nexport const I18nContext = createContext<I18nContext>({ ...DEFAULT_LANGUAGE })\n\nexport interface I18nProviderProps {\n  children?: ReactNode\n  /**\n   * The text direction to apply to the application.\n   *\n   * @default 'ltr'\n   */\n  direction?: TextDirection\n  /**\n   * The locale to apply to the application.\n   *\n   * @default 'en-US'\n   */\n  locale?: string\n}\n\nexport const I18nProvider: FC<I18nProviderProps> = ({\n  children,\n  direction: directionProp,\n  locale,\n}) => {\n  const isSsr = useIsSsr()\n  const [language, setLanguage] = useState(getLanguage())\n\n  const onChangeLanguage = useCallback(() => {\n    setLanguage(getLanguage())\n  }, [])\n\n  const value = useMemo(() => {\n    if (isSsr) return DEFAULT_LANGUAGE\n\n    if (!locale) return language\n\n    const direction = directionProp ?? (isRtl(locale) ? \"rtl\" : \"ltr\")\n\n    return { direction, locale }\n  }, [locale, isSsr, language, directionProp])\n\n  useEffect(() => {\n    window.addEventListener(\"languagechange\", onChangeLanguage)\n\n    return () => {\n      window.removeEventListener(\"languagechange\", onChangeLanguage)\n    }\n  }, [onChangeLanguage])\n\n  return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>\n}\n\nexport function useI18n() {\n  const context = useContext(I18nContext)\n\n  if (isEmptyObject(context)) return DEFAULT_LANGUAGE\n\n  return context\n}\n\nexport function isRtl(_locale: string) {\n  const locale = new Intl.Locale(_locale).maximize()\n\n  if (\"textInfo\" in locale) return (locale.textInfo as any).direction === \"rtl\"\n\n  if (locale.script) {\n    return RTL_SCRIPTS.has(locale.script)\n  } else {\n    return RTL_LANGS.has(_locale.split(\"-\")[0]!)\n  }\n}\n","import type { Theme } from \"../theme.types\"\n\nexport interface ThemeSchemeScriptProps {\n  type?: \"cookie\" | \"localStorage\"\n  initialThemeScheme?: Theme[\"themeSchemes\"]\n  nonce?: string\n  storageKey?: string\n}\n\nexport const THEME_SCHEME_STORAGE_KEY = \"ui-theme-scheme\"\n\nexport const getThemeSchemeScript = ({\n  type = \"localStorage\",\n  initialThemeScheme: init = \"base\",\n  storageKey = THEME_SCHEME_STORAGE_KEY,\n}: Omit<ThemeSchemeScriptProps, \"nonce\"> = {}) => {\n  const isCookie = type === \"cookie\"\n\n  const cookieScript = `(function(){try{var a=function(c){var o=document.documentElement;return o.dataset.theme=c,c},h='${init}',r='${storageKey}',t=document.cookie.match(new RegExp('(^| )'.concat(r,'=([^;]+)'))),c=t?t[2]:null;c?a(c):(document.cookie=''.concat(r,'=').concat(a(h),'; max-age=31536000; path=/'))}catch(a){}})();`\n\n  const localStorageScript = `(function(){try{var a=function(c){var o=document.documentElement;return o.dataset.theme=c,c},m='${init}',e='${storageKey}',t=localStorage.getItem(e);t?a(t):localStorage.setItem(e, a(m))}catch(a){}})();`\n\n  const fn = isCookie ? cookieScript : localStorageScript\n\n  return `!${fn}`.trim()\n}\n\nexport const ThemeSchemeScript = ({\n  nonce,\n  ...rest\n}: ThemeSchemeScriptProps) => {\n  const html = getThemeSchemeScript(rest)\n\n  return (\n    <script\n      id=\"ui-theme-script\"\n      dangerouslySetInnerHTML={{ __html: html }}\n      nonce={nonce}\n    />\n  )\n}\n","import type { Theme } from \"../theme.types\"\nimport { THEME_SCHEME_STORAGE_KEY } from \"./theme-script\"\n\nconst hasSupport = !!(globalThis.document as Document | undefined)\n\nexport interface ThemeSchemeManager {\n  type: \"cookie\" | \"localStorage\"\n  get: (\n    initialThemeScheme?: Theme[\"themeSchemes\"],\n  ) => (storageKey?: string) => Theme[\"themeSchemes\"]\n  set: (themeScheme: Theme[\"themeSchemes\"]) => (storageKey?: string) => void\n  ssr?: boolean\n}\n\nconst createLocalStorage = (defaultStorageKey: string): ThemeSchemeManager => ({\n  type: \"localStorage\",\n  get:\n    (initThemeScheme = \"base\") =>\n    (storageKey = defaultStorageKey) => {\n      if (!hasSupport) return initThemeScheme\n\n      try {\n        const themeScheme = localStorage.getItem(storageKey) as\n          | null\n          | Theme[\"themeSchemes\"]\n\n        return themeScheme || initThemeScheme\n      } catch {\n        return initThemeScheme\n      }\n    },\n  set:\n    (themeScheme) =>\n    (storageKey = defaultStorageKey) => {\n      try {\n        localStorage.setItem(storageKey, String(themeScheme))\n      } catch {}\n    },\n\n  ssr: false,\n})\n\nconst parseCookie = (\n  cookie: string,\n  key: string,\n): Theme[\"themeSchemes\"] | undefined => {\n  const match = cookie.match(new RegExp(`(^| )${key}=([^;]+)`))\n\n  return match?.[2] as Theme[\"themeSchemes\"] | undefined\n}\n\nconst createCookieStorage = (\n  defaultStorageKey: string,\n  cookie?: string,\n): ThemeSchemeManager => ({\n  type: \"cookie\",\n  get:\n    (initThemeScheme = \"base\") =>\n    (storageKey = defaultStorageKey) => {\n      if (cookie) return parseCookie(cookie, storageKey) || initThemeScheme\n\n      if (!hasSupport) return initThemeScheme\n\n      return parseCookie(document.cookie, storageKey) || initThemeScheme\n    },\n  set:\n    (themeScheme) =>\n    (storageKey = defaultStorageKey) => {\n      document.cookie = `${storageKey}=${themeScheme}; max-age=31536000; path=/`\n    },\n\n  ssr: !!cookie,\n})\n\nexport const createThemeSchemeManager = (\n  type: \"cookie\" | \"local\" | \"ssr\" = \"local\",\n  cookie?: string,\n) => {\n  switch (type) {\n    case \"cookie\":\n    case \"ssr\":\n      return createCookieStorage(\n        THEME_SCHEME_STORAGE_KEY,\n        typeof cookie === \"string\" ? cookie : undefined,\n      )\n\n    default:\n      return createLocalStorage(THEME_SCHEME_STORAGE_KEY)\n  }\n}\n\nexport const themeSchemeManager = {\n  cookieStorage: createCookieStorage(THEME_SCHEME_STORAGE_KEY),\n  createCookieStorage,\n  createLocalStorage,\n  localStorage: createLocalStorage(THEME_SCHEME_STORAGE_KEY),\n  ssr: (cookie?: string) =>\n    createCookieStorage(THEME_SCHEME_STORAGE_KEY, cookie),\n}\n","import type {\n  ThemeProviderProps as EmotionThemeProviderProps,\n  Interpolation,\n} from \"@emotion/react\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { FC } from \"react\"\nimport type { StyledProps, UIStyle } from \"../css\"\nimport type {\n  ChangeThemeScheme,\n  InternalTheme,\n  StyledTheme,\n  Theme,\n  ThemeConfig,\n} from \"../theme.types\"\nimport type { ThemeSchemeManager } from \"./theme-manager\"\nimport {\n  ThemeProvider as EmotionThemeProvider,\n  Global,\n  ThemeContext,\n} from \"@emotion/react\"\nimport {\n  getMemoizedObject as get,\n  isEmptyObject,\n  isUndefined,\n  merge,\n  runIfFunc,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useContext, useEffect, useMemo, useState } from \"react\"\nimport { css } from \"../css\"\nimport { transformTheme } from \"../theme\"\nimport { useColorMode } from \"./color-mode-provider\"\nimport { useEnvironment } from \"./environment-provider\"\nimport { preventTransition } from \"./provider-utils\"\nimport { themeSchemeManager } from \"./theme-manager\"\n\nconst { localStorage } = themeSchemeManager\n\ninterface ThemeProviderOptions {\n  /**\n   * The config of the yamada ui.\n   */\n  config?: ThemeConfig\n  /**\n   * Key of value saved in storage.\n   * By default, it is saved to `local storage`.\n   */\n  storageKey?: string\n  /**\n   * The theme of the yamada ui.\n   */\n  theme?: Dict\n  /**\n   * Manager to persist a user's theme scheme preference.\n   *\n   * Omit if you don't render server-side.\n   * For SSR, choose `themeSchemeManager.ssr`.\n   *\n   * @default 'themeSchemeManager.localStorage'\n   */\n  themeSchemeManager?: ThemeSchemeManager\n}\n\nexport interface ThemeProviderProps\n  extends Omit<EmotionThemeProviderProps, \"theme\">,\n    ThemeProviderOptions {}\n\nexport const ThemeProvider: FC<ThemeProviderProps> = ({\n  children,\n  config,\n  storageKey,\n  theme: initialTheme = {},\n  themeSchemeManager = localStorage,\n}) => {\n  const environment = useEnvironment()\n  const [themeScheme, setThemeScheme] = useState<Theme[\"themeSchemes\"]>(\n    themeSchemeManager.get(config?.initialThemeScheme)(storageKey),\n  )\n\n  const changeThemeScheme: ChangeThemeScheme = useCallback(\n    (themeScheme) => {\n      const { getDocument } = environment\n      const doc = getDocument()\n\n      const cleanup = config?.disableTransitionOnChange\n        ? preventTransition(environment)\n        : undefined\n\n      if (doc) doc.documentElement.dataset.theme = themeScheme\n\n      cleanup?.()\n\n      setThemeScheme(themeScheme)\n\n      themeSchemeManager.set(themeScheme)(storageKey)\n    },\n    [config, environment, themeSchemeManager, storageKey],\n  )\n\n  const theme = useMemo(\n    () => transformTheme(initialTheme, config),\n    [initialTheme, config],\n  )\n\n  useEffect(() => {\n    const themeScheme = themeSchemeManager.get()(storageKey)\n\n    if (themeScheme) changeThemeScheme(themeScheme)\n  }, [changeThemeScheme, themeSchemeManager, storageKey])\n\n  return (\n    <EmotionThemeProvider theme={{ changeThemeScheme, themeScheme, ...theme }}>\n      <CSSVars />\n      {children}\n    </EmotionThemeProvider>\n  )\n}\n\nexport const CSSVars: FC = () => {\n  return (\n    <Global\n      styles={\n        (({ __cssVars }) => ({\n          \":host, :root, [data-mode]\": __cssVars,\n        })) satisfies StyledProps<Dict> as Interpolation\n      }\n    />\n  )\n}\n\nexport const ResetStyle: FC = () => {\n  const { colorMode } = useColorMode()\n\n  return (\n    <Global\n      styles={\n        ((theme) => {\n          const { themeScheme } = theme as StyledTheme\n          const style = get<UIStyle>(theme, \"styles.resetStyle\", {})\n\n          const computedStyle = runIfFunc(style, {\n            colorMode,\n            theme,\n            themeScheme,\n          })\n\n          if (isEmptyObject(computedStyle)) return undefined\n\n          return css(computedStyle)(theme)\n        }) satisfies StyledProps<Dict> as Interpolation\n      }\n    />\n  )\n}\n\nexport const GlobalStyle: FC = () => {\n  const { colorMode } = useColorMode()\n\n  return (\n    <Global\n      styles={\n        ((theme) => {\n          const { themeScheme } = theme\n          let style = get<UIStyle>(theme, \"styles.globalStyle\", {})\n\n          const computedStyle = runIfFunc(style, {\n            colorMode,\n            theme,\n            themeScheme,\n          })\n\n          if (isEmptyObject(computedStyle)) return undefined\n\n          return css(computedStyle)(theme)\n        }) satisfies StyledProps<Dict> as Interpolation\n      }\n    />\n  )\n}\n\n/**\n * `useTheme` is a custom hook that returns a function for retrieving and switching themes.\n *\n * @see Docs https://yamada-ui.com/hooks/use-theme\n */\nexport const useTheme = <T extends InternalTheme>() => {\n  const internalTheme = useContext(ThemeContext) as StyledTheme<T>\n\n  const theme = useMemo(() => {\n    const { themeScheme } = internalTheme\n\n    if (isUndefined(themeScheme) || themeScheme === \"base\") return internalTheme\n\n    const nestedTheme = internalTheme.themeSchemes?.[themeScheme]\n\n    if (!nestedTheme) return internalTheme\n\n    return merge<StyledTheme<T>>(internalTheme, nestedTheme)\n  }, [internalTheme])\n\n  const value = useMemo(() => {\n    const { changeThemeScheme, themeScheme } = internalTheme\n\n    return { changeThemeScheme, internalTheme, theme, themeScheme }\n  }, [theme, internalTheme])\n\n  return value\n}\n","import type { Dict, FlattenObjectOptions, Union } from \"@yamada-ui/utils\"\nimport type {\n  Breakpoints,\n  CreateThemeVars,\n  CSSUIObject,\n  ThemeProps,\n  UIStyle,\n  UIStyleProps,\n} from \"./css\"\nimport type {\n  ComponentMultiSizes,\n  ComponentMultiStyle,\n  ComponentMultiVariants,\n  ComponentStyle,\n  CSSMap,\n  StyledTheme,\n  ThemeConfig,\n  ThemeValue,\n} from \"./theme.types\"\nimport {\n  flattenObject,\n  isArray,\n  isFunction,\n  isObject,\n  merge,\n  objectFromEntries,\n  omitObject,\n  pickObject,\n  runIfFunc,\n  TONES,\n} from \"@yamada-ui/utils\"\nimport { analyzeBreakpoints, getCreateThemeVars } from \"./css\"\n\nexport type VariableResponsiveValue = Dict<\n  [ThemeValue, ThemeValue] | ThemeValue\n>\n\nexport type VariableColorModeValue = [\n  Dict<ThemeValue> | ThemeValue,\n  Dict<ThemeValue> | ThemeValue,\n]\n\nexport type VariableValue =\n  | ThemeValue\n  | VariableColorModeValue\n  | VariableResponsiveValue\n\ninterface VariableToken {\n  isSemantic: boolean\n  value: VariableValue\n}\n\nexport interface VariableTokens {\n  [key: string]: VariableToken\n}\n\nconst primaryTokens = [\n  \"blurs\",\n  \"borders\",\n  \"colors\",\n  \"fonts\",\n  \"fontSizes\",\n  \"fontWeights\",\n  \"letterSpacings\",\n  \"lineHeights\",\n  \"radii\",\n  \"shadows\",\n  \"sizes\",\n  \"spaces\",\n  \"zIndices\",\n] as const\n\nconst secondaryTokens = [\"gradients\"] as const\n\nexport type ThemeToken =\n  | \"animations\"\n  | \"breakpoints\"\n  | \"transitions.duration\"\n  | \"transitions.easing\"\n  | \"transitions.property\"\n  | (typeof primaryTokens)[number]\n  | (typeof secondaryTokens)[number]\n\nexport type TransformTheme = Omit<\n  StyledTheme,\n  \"changeThemeScheme\" | \"themeScheme\"\n>\n\nexport function transformTheme(\n  theme: Dict,\n  config?: ThemeConfig,\n): TransformTheme {\n  theme = omitTheme(theme)\n  const prefix = config?.var?.prefix\n  const breakpoints = analyzeBreakpoints(theme.breakpoints, config?.breakpoint)\n  const createThemeTokens = getCreateThemeTokens(\n    breakpoints,\n    config?.theme?.responsive,\n  )\n  const { queries = [] } = breakpoints ?? {}\n  const createThemeVars = getCreateThemeVars(prefix, queries)\n\n  const primaryTokens = createThemeTokens(theme)\n  const secondaryTokens = createThemeTokens(theme, \"secondary\")\n  const animationTokens = createThemeTokens(theme, \"animation\")\n\n  let { cssMap, cssVars } = mergeVars(\n    createThemeVars(primaryTokens),\n    createThemeVars(secondaryTokens),\n    createThemeVars(animationTokens),\n  )()\n\n  if (theme.themeSchemes) {\n    for (const [themeScheme, nestedTheme] of Object.entries<Dict>(\n      theme.themeSchemes,\n    )) {\n      const nestedPrimaryTokens = createThemeTokens(nestedTheme)\n      const nestedSecondaryTokens = createThemeTokens(nestedTheme, \"secondary\")\n      const nestedAnimationTokens = createThemeTokens(nestedTheme, \"animation\")\n\n      let { cssVars: nestedCSSVars } = mergeVars(\n        createThemeVars(nestedPrimaryTokens),\n        createThemeVars(nestedSecondaryTokens),\n        createThemeVars(nestedAnimationTokens),\n      )({ ...primaryTokens, ...secondaryTokens, ...animationTokens })\n\n      cssVars = {\n        ...cssVars,\n        [`[data-theme=${themeScheme}] &:not([data-theme]), &[data-theme=${themeScheme}]`]:\n          nestedCSSVars,\n      }\n    }\n  }\n\n  Object.assign(theme, {\n    __breakpoints: breakpoints,\n    __config: config,\n    __cssMap: cssMap,\n    __cssVars: cssVars,\n  })\n\n  return theme as TransformTheme\n}\n\nfunction getCreateThemeTokens(breakpoints?: Breakpoints, responsive?: boolean) {\n  return function (\n    theme: Dict,\n    target: \"animation\" | \"primary\" | \"secondary\" = \"primary\",\n  ) {\n    let shouldProcess: FlattenObjectOptions[\"shouldProcess\"] = undefined\n    let defaultTokens: string[] = []\n    let semanticTokens: string[] = []\n    let omitKeys: string[] = []\n\n    if (responsive)\n      shouldProcess = (obj) => !breakpoints?.isResponsive(obj, true)\n\n    switch (target) {\n      case \"primary\":\n        defaultTokens = [...primaryTokens, \"transitions\"]\n        semanticTokens = [...primaryTokens, \"transitions\", \"colorSchemes\"]\n\n        break\n\n      case \"secondary\":\n        defaultTokens = [...secondaryTokens]\n        semanticTokens = [...secondaryTokens]\n\n        break\n\n      case \"animation\":\n        defaultTokens = [\"animations\"]\n        semanticTokens = [\"animations\"]\n        omitKeys = [\"keyframes\"]\n\n        break\n\n      default:\n        break\n    }\n\n    const defaultTokenMap = pickObject(theme, defaultTokens)\n    const semanticTokenMap = pickObject(theme.semantics ?? {}, semanticTokens)\n\n    const defaultTokenEntries: [string, VariableToken][] = Object.entries(\n      flattenObject(defaultTokenMap, { omitKeys, shouldProcess }),\n    ).map(([token, value]) => {\n      const enhancedToken: VariableToken = { isSemantic: false, value }\n\n      return [token, enhancedToken]\n    })\n    const semanticTokenEntries: [string, VariableToken][] = Object.entries(\n      flattenObject(semanticTokenMap, { omitKeys, shouldProcess }),\n    ).reduce<[string, VariableToken][]>((prev, [token, value]) => {\n      if (token.startsWith(\"colorSchemes.\")) {\n        const [, semanticToken, tone] = token.split(\".\")\n\n        if (tone) {\n          const enhancedToken = { isSemantic: false, value }\n\n          prev.push([`colors.${semanticToken}.${tone}`, enhancedToken])\n        } else {\n          TONES.forEach((tone) => {\n            const enhancedToken: VariableToken = {\n              isSemantic: true,\n              value: isArray(value)\n                ? [`${value[0]}.${tone}`, `${value[1]}.${tone}`]\n                : `${value}.${tone}`,\n            }\n\n            prev.push([`colors.${semanticToken}.${tone}`, enhancedToken])\n          })\n        }\n      } else {\n        const enhancedToken: VariableToken = { isSemantic: true, value }\n\n        prev.push([token, enhancedToken])\n      }\n\n      return prev\n    }, [])\n\n    return objectFromEntries<VariableTokens>([\n      ...defaultTokenEntries,\n      ...semanticTokenEntries,\n    ])\n  }\n}\n\nfunction mergeVars(...funcs: CreateThemeVars[]) {\n  return function (prevTokens?: VariableTokens) {\n    let resolvedCSSMap: CSSMap = {}\n    let resolvedCSSVars: Dict = {}\n\n    for (const func of funcs) {\n      const { cssMap, cssVars } = func({\n        cssMap: resolvedCSSMap,\n        cssVars: resolvedCSSVars,\n        prevTokens,\n      })\n\n      resolvedCSSMap = { ...resolvedCSSMap, ...cssMap }\n      resolvedCSSVars = { ...resolvedCSSVars, ...cssVars }\n    }\n\n    return { cssMap: resolvedCSSMap, cssVars: resolvedCSSVars }\n  }\n}\n\nfunction omitTheme(theme: Dict): Dict {\n  return omitObject(theme, [\"__cssMap\", \"__cssVar\", \"__breakpoints\"])\n}\n\nexport function omitThemeProps<\n  T extends ThemeProps,\n  K extends Exclude<keyof T, \"colorScheme\" | \"size\" | \"variant\"> = never,\n>(props: T, keys: K[] = []) {\n  return omitObject(props, [\"size\", \"variant\", \"colorScheme\", ...keys])\n}\n\ntype MergeStyleOptions = Omit<Partial<FilterStyleOptions>, \"isMulti\">\n\nexport function mergeStyle(\n  target: ComponentStyle,\n  ...sources: ComponentStyle[]\n) {\n  return function ({\n    omit = [],\n    pick = [],\n  }: MergeStyleOptions = {}): ComponentStyle {\n    return sources.reduce(\n      (prev, source) =>\n        recursiveMergeStyle(filterStyle(prev)({ omit, pick }), source),\n      target,\n    )\n  }\n}\n\nexport function mergeMultiStyle(\n  target: ComponentMultiStyle,\n  ...sources: ComponentMultiStyle[]\n) {\n  return function ({\n    omit = [],\n    pick = [],\n  }: MergeStyleOptions = {}): ComponentMultiStyle {\n    return sources.reduce(\n      (prev, source) =>\n        recursiveMergeStyle(\n          filterStyle(prev)({ isMulti: true, omit, pick }),\n          source,\n        ),\n      target,\n    )\n  }\n}\n\nfunction recursiveMergeStyle<T extends ComponentMultiStyle | ComponentStyle>(\n  target: T,\n  source: T,\n): T {\n  let result = Object.assign({}, target) as T\n\n  if (isObject(source) && isObject(target)) {\n    for (const [sourceKey, sourceValue] of Object.entries(source)) {\n      const targetValue = target[sourceKey as keyof T]\n\n      if (target.hasOwnProperty(sourceKey)) {\n        if (!isFunction(targetValue) && !isFunction(sourceValue)) {\n          result[sourceKey as keyof T] = recursiveMergeStyle(\n            targetValue,\n            sourceValue,\n          ) as T[keyof T]\n        } else {\n          result[sourceKey as keyof T] = ((props: UIStyleProps) =>\n            recursiveMergeStyle(\n              runIfFunc(targetValue, props) as T,\n              runIfFunc(sourceValue, props) as T,\n            )) as T[keyof T]\n        }\n      } else {\n        Object.assign(result, { [sourceKey]: sourceValue })\n      }\n    }\n  } else {\n    result = source\n  }\n\n  return result as T\n}\n\ninterface FilterStyleOptions {\n  omit: Union<keyof (ComponentMultiStyle | ComponentStyle)>[]\n  pick: Union<keyof (ComponentMultiStyle | ComponentStyle)>[]\n  isMulti?: boolean\n}\n\nfunction filterStyle<T extends ComponentMultiStyle | ComponentStyle>(\n  target: T,\n) {\n  return function ({ isMulti = false, omit, pick }: FilterStyleOptions): T {\n    if (!isObject(target)) return target\n\n    if (omit.length)\n      target = internalFilterStyle(target, omit, isMulti)(omitObject)\n    if (pick.length)\n      target = internalFilterStyle(target, pick, isMulti)(pickObject)\n\n    return target\n  }\n}\n\nfunction internalFilterStyle(\n  target: any,\n  keys: string[],\n  isMulti: boolean,\n  refs: string[] = [],\n) {\n  return function (func: typeof omitObject | typeof pickObject) {\n    if (!isObject(target)) return target\n\n    let result = Object.assign({}, target)\n\n    result = func(result, keys)\n\n    Object.entries(result).forEach(([nestedKey, style]) => {\n      const newKeys = keys.filter((key) => key !== nestedKey)\n      const newRefs = [...refs, nestedKey]\n\n      if (!onValidFilterStyleKey(newRefs, isMulti)) return\n\n      if (isFunction(style)) {\n        result[nestedKey] = (props: any) =>\n          internalFilterStyle(style(props), newKeys, isMulti, newRefs)(func)\n      } else {\n        if (\n          func === omitObject ||\n          Object.keys(style).some((key) => newKeys.includes(key))\n        ) {\n          result[nestedKey] = internalFilterStyle(\n            style,\n            newKeys,\n            isMulti,\n            newRefs,\n          )(func)\n        } else {\n          result[nestedKey] = merge(\n            result[nestedKey],\n            internalFilterStyle(style, newKeys, isMulti, newRefs)(func),\n          )\n        }\n      }\n    })\n\n    return result\n  }\n}\n\nfunction onValidFilterStyleKey(keys: string[], isMulti: boolean): boolean {\n  const rootKey = keys[0]\n\n  switch (rootKey) {\n    case \"baseStyle\":\n      return keys.length < (isMulti ? 2 : 1)\n\n    case \"variants\":\n    case \"sizes\":\n      return keys.length < (isMulti ? 3 : 2)\n\n    default:\n      return false\n  }\n}\n\nexport function pickStyle(\n  target: ComponentMultiStyle,\n  targetKey: string,\n  withProps = true,\n): ComponentStyle {\n  const result = {} as ComponentStyle\n\n  Object.entries(target).forEach(([key, value]) => {\n    switch (key) {\n      case \"baseStyle\":\n        if (isFunction(value)) {\n          result[key] = (props) => value(props)[targetKey] as CSSUIObject\n        } else {\n          result[key] = value[targetKey]\n        }\n\n        break\n\n      case \"variants\":\n      case \"sizes\":\n        result[key] = Object.entries(\n          value as ComponentMultiSizes | ComponentMultiVariants,\n        ).reduce<{ [key: string]: UIStyle }>((prev, [key, value]) => {\n          if (isFunction(value)) {\n            prev[key] = (props) => value(props)[targetKey] as CSSUIObject\n          } else if (value[targetKey]) {\n            prev[key] = value[targetKey]\n          }\n\n          return prev\n        }, {})\n\n        break\n\n      case \"defaultProps\":\n        if (withProps) result[key] = value\n\n        break\n\n      default:\n        break\n    }\n  })\n\n  return result\n}\n","import type { FunctionInterpolation } from \"@emotion/styled\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ComponentType } from \"react\"\nimport type {\n  As,\n  InterpolationProps,\n  StyledOptions,\n  UIComponent,\n} from \"./components\"\nimport type { CSSUIProps } from \"./css\"\nimport createStyled from \"@emotion/styled\"\nimport {\n  assignAfter,\n  filterObject,\n  filterUndefined,\n  interopDefault,\n  runIfFunc,\n} from \"@yamada-ui/utils\"\nimport { createElement, forwardRef } from \"react\"\nimport { shouldForwardProp } from \"./components\"\nimport { css } from \"./css\"\nimport { useColorMode } from \"./providers\"\nimport { pseudos } from \"./pseudos\"\nimport { styles } from \"./styles\"\n\nconst emotionStyled = interopDefault(createStyled)\n\nconst styleProps = { ...styles, ...pseudos }\n\ninterface ToCSSObjectOptions\n  extends Pick<StyledOptions, \"baseStyle\" | \"disableStyleProp\"> {}\n\nexport function toCSSObject({\n  baseStyle,\n  disableStyleProp,\n}: ToCSSObjectOptions): FunctionInterpolation<InterpolationProps> {\n  return function (props: InterpolationProps) {\n    const { css: customCSS, sx, theme, __css, ...rest } = props\n    const propsCSS = filterObject<Dict, CSSUIProps>(\n      rest,\n      (prop) => prop in styleProps,\n    )\n    const baseCSS = runIfFunc(baseStyle, props)\n\n    const computedCSS = css(\n      assignAfter({}, __css, baseCSS, filterUndefined(propsCSS), sx),\n    )(theme, disableStyleProp)\n\n    return customCSS ? [computedCSS, customCSS] : computedCSS\n  }\n}\n\nexport function styled<T extends As, P extends object = {}>(\n  el: T,\n  { baseStyle, disableStyleProp, ...styledOptions }: StyledOptions = {},\n): UIComponent<T, P> {\n  if (!styledOptions.shouldForwardProp)\n    styledOptions.shouldForwardProp = shouldForwardProp(disableStyleProp)\n\n  const CSSObject = toCSSObject({ baseStyle, disableStyleProp })\n\n  const Component = emotionStyled(\n    el as ComponentType<any>,\n    styledOptions,\n  )(CSSObject)\n\n  const UIComponent = forwardRef<HTMLElement, any>((props, ref) => {\n    const { colorMode, forced } = useColorMode()\n\n    return createElement(Component, {\n      ref,\n      \"data-mode\": forced ? colorMode : undefined,\n      ...props,\n    })\n  })\n\n  UIComponent.displayName = \"UIComponent\"\n\n  return UIComponent as UIComponent<T, P>\n}\n","import type { ComponentType } from \"react\"\nimport type {\n  DOMElement,\n  HTMLUIComponents,\n  StyledOptions,\n  UIFactory,\n} from \"./components\"\nimport { styled } from \"./styled\"\n\ninterface Factory extends UIFactory, HTMLUIComponents {}\n\nfunction factory() {\n  const cache = new Map<DOMElement, ComponentType>()\n\n  return new Proxy(styled, {\n    apply: (_target, _thisArg, [el, options]: [DOMElement, StyledOptions]) => {\n      return styled(el, options)\n    },\n\n    get: (_target, el: DOMElement) => {\n      if (!cache.has(el)) cache.set(el, styled(el))\n\n      return cache.get(el)\n    },\n  }) as Factory\n}\n\n/**\n * `ui` is an object of JSX elements enabled with Yamada UI's style system,\n * and can also be used as a function for custom components to receive Yamada UI's style system.\n *\n * @see Docs https://yamada-ui.com/styled-system/ui\n */\nexport const ui = factory()\n"],"mappings":";;;AAEA,YAAY,WAAW;AAEhB,SAASA,YACd,QAIA;AACA,SAAa;AAAA,IACX;AAAA,EACF;AACF;;;ACZA,YAAYC,YAAW;AAOhB,SAASC,MACd,WACA,eAIA;AACA,SAAa,YAAQ,WAAW,aAAa;AAE/C;;;ACLA,IAAM,UAAU,CAAmB,cACjC,CAAC,gBAAgB,gBAAgB,QAAQ,EACtC,IAAI,CAAC,WAAW,MAAM,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,EACrD,KAAK,IAAI;AAOd,IAAM,SAAS,CAAmB,cAChC,CAAC,eAAe,OAAO,EACpB,IAAI,CAAC,WAAW,MAAM,MAAM,SAAS,GAAG,QAAQ,MAAM,CAAC,EACvD,KAAK,IAAI;AAEd,IAAM,QAAQ,CAAC,cACb,UAAU,MAAM,GAAG,EAAE,IAAI,CAAC,aAAa,SAAS,KAAK,EAAE,MAAM,CAAC,CAAC;AAEjE,IAAM,QAAQ,CAAC,WAAqB,SAAS,KAAK,SAAS,OACzD,UAAU,IAAI,CAAC,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,EAAE,EAAE,KAAK,IAAI;AAEjE,IAAM,aAAa;AAAA;AAAA;AAAA;AAAA,EAIxB,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAON,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOT,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOP,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOT,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMf,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOb,cAAc;AAAA;AAAA;AAAA;AAAA,EAId,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOV,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,SAAS;AAAA,EACT,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOT,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,UAAU;AACZ;AASO,IAAM,sBAAsB,OAAO;AAAA,EACxC;AACF;AACO,IAAM,qBAAqB,OAAO,OAAO,UAAU;AAEnD,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAI5B,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,YAAY;AAAA;AAAA;AAAA;AAAA,EAIZ,eAAe;AAAA;AAAA;AAAA;AAAA,EAIf,cAAc;AAAA;AAAA;AAAA;AAAA,EAId,YAAY;AAAA;AAAA;AAAA;AAAA,EAIZ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOT,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOd,YAAY;AAAA;AAAA;AAAA;AAAA,EAIZ,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAIlB,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAIlB,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAIjB,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAIjB,sBAAsB;AAAA;AAAA;AAAA;AAAA,EAItB,YAAY;AACd;AASO,IAAM,0BAA0B,OAAO;AAAA,EAC5C;AACF;AACO,IAAM,yBAAyB,OAAO,OAAO,cAAc;AAE3D,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO3B,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOT,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOX,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQR,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASV,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOb,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOR,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOf,cAAc;AAAA;AAAA;AAAA;AAAA,EAId,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOb,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOb,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQR,gBACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOF,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOV,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOZ,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,eAAe;AAAA;AAAA;AAAA;AAAA,EAIf,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhB,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAIjB,cAAc;AAAA;AAAA;AAAA;AAAA,EAId,qBAAqB;AAAA;AAAA;AAAA;AAAA,EAIrB,oBAAoB;AAAA;AAAA;AAAA;AAAA,EAIpB,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOd,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAIjB,eAAe;AAAA;AAAA;AAAA;AAAA,EAIf,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQd,aAAa;AAAA;AAAA;AAAA;AAAA,EAIb,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,gBAAgB;AAAA;AAAA;AAAA;AAAA,EAIhB,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,eAAe;AAAA;AAAA;AAAA;AAAA,EAIf,YAAY;AAAA;AAAA;AAAA;AAAA,EAIZ,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOP,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOX,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOX,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQV,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOX,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOZ,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOX,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOT,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOd,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOR,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,UAAU;AACZ;AASO,IAAM,wBAAwB,OAAO;AAAA,EAC1C;AACF;AACO,IAAM,uBAAuB,OAAO,OAAO,aAAa;AAExD,IAAM,UAAU;AAAA;AAAA;AAAA;AAAA,EAIrB,OACE;AAAA;AAAA;AAAA;AAAA,EAIF,YAAY;AAAA;AAAA;AAAA;AAAA,EAIZ,QACE;AAAA;AAAA;AAAA;AAAA,EAIF,YAAY;AAAA;AAAA;AAAA;AAAA,EAIZ,aAAa;AAAA;AAAA;AAAA;AAAA,EAIb,oBAAoB;AAAA;AAAA;AAAA;AAAA,EAIpB,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,QAAQ;AACV;AASO,IAAM,mBAAmB,OAAO,KAAK,OAAO;AAC5C,IAAM,kBAAkB,OAAO,OAAO,OAAO;AAE7C,IAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAI7B,cAAc,QAAQ,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA,EAIxC,cAAc,QAAQ,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA,EAI3C,aAAa,QAAQ,cAAc,MAAM;AAAA;AAAA;AAAA;AAAA,EAIzC,eAAe,QAAQ,cAAc,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI7C,gBAAgB,QAAQ,cAAc,SAAS;AAAA;AAAA;AAAA;AAAA,EAI/C,eAAe,QAAQ,cAAc,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI7C,gBAAgB,QAAQ,WAAW,SAAS;AAAA;AAAA;AAAA;AAAA,EAI5C,aAAa,QAAQ,cAAc,MAAM;AAAA;AAAA;AAAA;AAAA,EAIzC,oBAAoB,QAAQ,cAAc,aAAa;AAAA;AAAA;AAAA;AAAA,EAIvD,mBAAmB,QAAQ,cAAc,YAAY;AAAA;AAAA;AAAA;AAAA,EAIrD,eAAe,QAAQ,WAAW,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI1C,kBAAkB,QAAQ,cAAc,WAAW;AAAA;AAAA;AAAA;AAAA,EAInD,aAAa,QAAQ,cAAc,MAAM;AAAA;AAAA;AAAA;AAAA,EAIzC,YAAY,QAAQ,WAAW,KAAK;AAAA;AAAA;AAAA;AAAA,EAIpC,eAAe,QAAQ,cAAc,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI7C,cAAc,QAAQ,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA,EAIxC,eAAe,QAAQ,WAAW,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI1C,gBAAgB,QAAQ,cAAc,SAAS;AAAA;AAAA;AAAA;AAAA,EAI/C,wBAAwB,QAAQ,cAAc,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAI/D,eAAe,QAAQ,WAAW,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI1C,gBAAgB,QAAQ,cAAc,SAAS;AAAA;AAAA;AAAA;AAAA,EAI/C,iBAAiB,QAAQ,cAAc,UAAU;AAAA;AAAA;AAAA;AAAA,EAIjD,cAAc,QAAQ,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA,EAIxC,gBAAgB,QAAQ,cAAc,SAAS;AAAA;AAAA;AAAA;AAAA,EAI/C,gBAAgB,QAAQ,WAAW,SAAS;AAAA;AAAA;AAAA;AAAA,EAI5C,mBAAmB,QAAQ,cAAc,YAAY;AAAA;AAAA;AAAA;AAAA,EAIrD,aAAa,QAAQ,cAAc,MAAM;AAAA;AAAA;AAAA;AAAA,EAIzC,gBAAgB,QAAQ,cAAc,SAAS;AACjD;AASO,IAAM,2BAA2B,OAAO;AAAA,EAC7C;AACF;AACO,IAAM,0BAA0B,OAAO,OAAO,eAAe;AAE7D,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAI5B,aAAa,OAAO,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA,EAItC,aAAa,OAAO,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA,EAIzC,YAAY,OAAO,cAAc,MAAM;AAAA;AAAA;AAAA;AAAA,EAIvC,cAAc,OAAO,cAAc,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI3C,eAAe,OAAO,cAAc,SAAS;AAAA;AAAA;AAAA;AAAA,EAI7C,cAAc,OAAO,cAAc,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI3C,eAAe,OAAO,WAAW,SAAS;AAAA;AAAA;AAAA;AAAA,EAI1C,YAAY,OAAO,cAAc,MAAM;AAAA;AAAA;AAAA;AAAA,EAIvC,mBAAmB,OAAO,cAAc,aAAa;AAAA;AAAA;AAAA;AAAA,EAIrD,kBAAkB,OAAO,cAAc,YAAY;AAAA;AAAA;AAAA;AAAA,EAInD,cAAc,OAAO,WAAW,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIxC,iBAAiB,OAAO,cAAc,WAAW;AAAA;AAAA;AAAA;AAAA,EAIjD,YAAY,OAAO,cAAc,MAAM;AAAA;AAAA;AAAA;AAAA,EAIvC,WAAW,OAAO,WAAW,KAAK;AAAA;AAAA;AAAA;AAAA,EAIlC,cAAc,OAAO,cAAc,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI3C,aAAa,OAAO,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA,EAItC,cAAc,OAAO,WAAW,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIxC,eAAe,OAAO,cAAc,SAAS;AAAA;AAAA;AAAA;AAAA,EAI7C,uBAAuB,OAAO,cAAc,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAI7D,cAAc,OAAO,WAAW,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIxC,eAAe,OAAO,cAAc,SAAS;AAAA;AAAA;AAAA;AAAA,EAI7C,gBAAgB,OAAO,cAAc,UAAU;AAAA;AAAA;AAAA;AAAA,EAI/C,aAAa,OAAO,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA,EAItC,eAAe,OAAO,cAAc,SAAS;AAAA;AAAA;AAAA;AAAA,EAI7C,eAAe,OAAO,WAAW,SAAS;AAAA;AAAA;AAAA;AAAA,EAI1C,kBAAkB,OAAO,cAAc,YAAY;AAAA;AAAA;AAAA;AAAA,EAInD,YAAY,OAAO,cAAc,MAAM;AAAA;AAAA;AAAA;AAAA,EAIvC,eAAe,OAAO,cAAc,SAAS;AAC/C;AASO,IAAM,0BAA0B,OAAO;AAAA,EAC5C;AACF;AACO,IAAM,yBAAyB,OAAO,OAAO,cAAc;AAE3D,IAAM,UAAU;AAAA,EACrB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AASO,IAAM,mBAAmB,OAAO,KAAK,OAAO;AAC5C,IAAM,kBAAkB,OAAO,OAAO,OAAO;;;ACn4BpD,SAAS,UAAU,YAAAC,iBAAgB;;;ACHnC,SAAS,aAAaC,yBAAwB;AAC9C,SAAS,kBAAkB;AAC3B,SAAS,YAAY,YAAAC,iBAAgB;;;ACArC,SAAS,aAAa,wBAAwB;AAC9C,SAAS,UAAU,UAAU,mBAAmB;AASzC,IAAM,eAAe,oBAAI,IAAI;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,SAAS,cAAc,OAAY;AACxC,SAAO,SAAS,KAAK,KAAK,MAAM,SAAS,GAAG,KAAK,MAAM,SAAS,GAAG;AACrE;AAEO,SAAS,eAAe,OAAY;AA5B3C;AA6BE,QAAM,QAAQ;AACd,QAAM,CAAC,EAAE,MAAM,MAAM,KAAI,WAAM,KAAK,KAAK,MAAhB,YAAqB,CAAC;AAE/C,SAAO,EAAE,MAAM,OAAO;AACxB;AAEO,SAAS,YACd,QACA,KAIe,CAAC,YAAY,YAAY,KACxC,eAAe,OACf;AACA,QAAM,SAAS,CAAC;AAEhB,MAAI,QAAQ;AACZ,MAAI,QAAQ;AAEZ,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,UAAM,UAAU,OAAO,CAAC;AACxB,UAAM,OAAO,OAAO,IAAI,CAAC;AACzB,UAAM,OAAO,OAAO,IAAI,CAAC;AAEzB,QAAI,YAAY,IAAK;AACrB,QAAI,YAAY,IAAK;AAErB,QAAI,CAAC,YAAY,OAAO,KAAK,GAAG,SAAS,MAAM,IAAI,KAAK,UAAU,GAAG;AACnE,UAAI,MAAO,QAAO,KAAK,MAAM,KAAK,CAAC;AAEnC,UAAI,aAAc,QAAO,KAAK,OAAO;AAErC,cAAQ;AAAA,IACV,OAAO;AACL,eAAS;AAAA,IACX;AAAA,EACF;AAEA,MAAI,MAAO,QAAO,KAAK,MAAM,KAAK,CAAC;AAEnC,SAAO,OAAO,OAAO,OAAO;AAC9B;AAEO,SAAS,SAAS,OAAe;AACtC,SAAO,gBAAgB,KAAK,KAAK;AACnC;AAEO,SAAS,gBAAgB,OAAY;AAC1C,MAAI,IAAI,WAAW,MAAM,SAAS,CAAC;AACnC,QAAM,OAAO,MAAM,SAAS,EAAE,QAAQ,OAAO,CAAC,GAAG,EAAE;AAEnD,SAAO,EAAE,YAAY,CAAC,MAAM,MAAM,MAAM;AAC1C;AAEO,SAAS,WAAW,OAAmB,OAAY;AACxD,SAAO,SAAU,OAAoB;AArFvC;AAsFI,UAAM,QAAQ,SAAS,KAAK,IACxB,MAAM,MAAM,kCAAkC,IAC9C;AAEJ,UAAM,CAAC,EAAE,eAAe,aAAa,IAAI,wBAAS,CAAC;AAEnD,QAAI,cAAe,SAAQ;AAE3B,UAAM,gBAAgB,GAAG,KAAK,IAAI,KAAK;AAEvC,QAAI,SAAS,MAAM,QAAQ,KAAK,iBAAiB,MAAM,UAAU;AAC/D,cAAO,WAAM,SAAS,aAAa,MAA5B,mBAA+B;AAAA,IACxC,OAAO;AACL,aAAO,wCAAiB;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,SAAS,KAAW,OAAU,MAAS;AAC5C,SAAO,SAAU,YAAmC,SAAgB;AAClE,WAAO,cAAc,UAAU,QAAQ;AAAA,EACzC;AACF;AAEO,SAAS,aAAa,KAA6B;AACxD,SAAO,iBAAiB,GAAG,GAAG;AAChC;AAEA,SAAS,iBAAiB,GAAc,GAAyB;AAC/D,SAAO,SAAU,UAAU,MAAM;AAC/B,WAAO,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,GAAG,IAAI;AAAA,EACrC;AACF;AAEO,SAAS,QAAQ,cAA2B;AACjD,SAAO,aAAa,OAAO,gBAAgB;AAC7C;;;ADlHA,IAAM,aAAa,WAAW,IAC1B,IAAI,WAAW,EAAE,KAAK,OAAO,WAAW,SAAS,KAAK,CAAC,IACvD;AAEJ,SAAS,wBAAwB,OAAa;AAC5C,SAAO,OAAO,QAAQ,KAAK,EAAE,OAAa,CAAC,MAAM,CAAC,KAAKC,MAAK,MAAM;AAChE,QAAI,QAAQ,YAAY;AACtB,WAAK,oBAAoBA;AAAA,IAC3B,WAAW,QAAQ,kBAAkB;AACnC,WAAK,0BAA0BA;AAAA,IACjC,OAAO;AACL,WAAK,GAAG,IAAIA;AAAA,IACd;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAEO,SAAS,UACd,OACA,OACAC,MACA,OACA;AACA,MAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,EAAG,QAAO;AAErD,MAAIC,UAAS,KAAK,GAAG;AACnB,UAAM;AAAA,MACJ,oBAAoB;AAAA,MACpB,0BAA0B;AAAA,MAC1B,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,WAAAC;AAAA,MACA,YAAY;AAAA,IACd,IAAIF,KAAI,wBAAwB,KAAK,CAAC,EAAE,KAAK;AAC7C,UAAM,EAAE,MAAM,QAAAG,QAAO,IAAIC,kBAAiBF,UAAS;AAEnD,6CAAY,OAAOC;AAEnB,WAAO,GAAG,IAAI,IAAI,iBAAiB,IAAI,uBAAuB,IAAI,KAAK,IAAI,cAAc,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS;AAAA,EACjI,WAAW,MAAM,SAAS,GAAG,GAAG;AAC9B,YAAQ,MACL,MAAM,GAAG,EACT,IAAI,CAACJ,WAAkB;AACtB,MAAAA,SAAQA,OAAM,KAAK;AAEnB,MAAAA,SAAQ,WAAW,cAAcA,MAAK,EAAE,KAAK;AAE7C,aAAOA;AAAA,IACT,CAAC,EACA,KAAK,GAAG;AAEX,WAAO;AAAA,EACT,OAAO;AACL,YAAQ,WAAW,cAAc,KAAK,EAAE,KAAK;AAE7C,WAAO;AAAA,EACT;AACF;;;AElEA,SAAS,iBAAiB,SAAS,mBAAmB;AAG/C,IAAM,iBACX,CAAC,eACD,CAAC,QAAQ,UAAU;AACjB,MAAI,CAAC,QAAQ,MAAM,EAAG,QAAO;AAE7B,SAAO,OAAO;AAAA,IACZ,CACE,MACA;AAAA,MACE;AAAA,MACA;AAAA,MACA,KAAAM;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,MACG;AAhCX;AAiCQ,sCAAU;AACV,+CAAa;AACb,+CAAa;AACb,yCAAW;AACX,kDAAc;AACd,kDAAc;AAEd,UAAI,CAAC,OAAO;AACV,cAAM,eAAe,gBAAgB;AAAA,UACnC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,QACL,CAAC;AAED,gBAAQ,OAAO,QAAQ,YAAY,EAChC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrB,kBAAQ,WAAW,SAAS,KAAK,EAAE,KAAK;AAExC,iBAAO,IAAI,YAAY,GAAG,CAAC,KAAK,KAAK;AAAA,QACvC,CAAC,EACA,KAAK,OAAO;AAAA,MACjB;AAEA,YAAM,YAAY,IAAI,UAAU,KAAI,2BAAQ,SAAR,YAAgB,EAAE,IAAI,KAAK;AAE/D,WAAK,SAAS,IAAIA;AAElB,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AACF;;;AClEF,SAAS,iBAAiB;AAQ1B,IAAM,YAAY,CAAC,KAAK,KAAK,KAAK,GAAG;AAErC,SAAS,SAAS,OAA2B,gBAAgB,IAAe;AAC1E,SAAO,SAAU,OAAO,UAAU,MAAM;AAb1C;AAcI,QAAI,CAAC,MAAO,QAAO;AAEnB,UAAM,UAAU,cAAc,KAAK;AAEnC,QAAI,SAAS;AACX,aAAO,aAAa,KAAK,EAAE,OAAO,OAAO,GAAG,IAAI;AAAA,IAClD,OAAO;AACL,UAAI,UAAU,KAAK,EAAG,QAAO;AAE7B,YAAM,gBAAgB,GAAG,KAAK,IAAI,KAAK;AAEvC,aAAO,MAAM,YAAY,iBAAiB,MAAM,YAC5C,WAAM,SAAS,aAAa,MAA5B,mBAA+B,MAC/B;AAAA,IACN;AAAA,EACF;AACF;AAEA,SAAS,WAAW,OAAe;AACjC,SAAO,IAAI,OAAO,OAAO,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK;AACjE;AAEO,SAAS,aAAa,OAA8B;AACzD,SAAO,SAAU,OAAO,UAAU,MAAM;AACtC,QAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,EAAG,QAAO;AAErD,UAAM,UAAU,cAAc,KAAK;AAEnC,QAAI,CAAC,QAAS,QAAO;AAErB,QAAI,EAAE,MAAM,OAAO,IAAI,eAAe,KAAK;AAE3C,QAAI,CAAC,QAAQ,CAAC,OAAQ,QAAO;AAE7B,YAAQ,MAAM;AAAA,MACZ,KAAK,QAAQ;AACX,cAAM,iBAAiB;AAAA,UACrB;AAAA,UACA,CAAC,MAAM,MAAM,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE;AAAA,UACxD;AAAA,QACF,EAAE,IAAI,CAACC,WAAU;AACf,cAAIA,UAAS,UAAU,SAASA,MAAK,EAAG,QAAOA;AAE/C,iBAAO,SAASA,MAAK,EAAE,OAAO,OAAO,GAAG,IAAI;AAAA,QAC9C,CAAC;AAED,eAAO,QAAQ,eAAe,KAAK,GAAG,CAAC;AAAA,MACzC;AAAA,MAEA,KAAK;AAAA,MACL,KAAK,OAAO;AACV,YAAI,CAAC,YAAY,aAAa,GAAG,WAAW,IAAI,YAAY,MAAM;AAElE,qBAAa,SAAS,YAAY,MAAM,EAAE,OAAO,OAAO,GAAG,IAAI;AAC/D,sBAAc,SAAS,aAAa,MAAM,EAAE,OAAO,OAAO,GAAG,IAAI;AACjE,sBAAc,YAAY;AAAA,UAAI,CAACA,WAC7B,SAASA,MAAK,EAAE,OAAO,OAAO,GAAG,IAAI;AAAA,QACvC;AAEA,eACE,GAAG,IAAI,IACJ,UAAU,KAAK,WAAW,MAC5B,YAAY,SAAS,KAAK,YAAY,KAAK,IAAI,CAAC,KAAK,MACtD;AAAA,MAEJ;AAAA,MAEA,KAAK,SAAS;AACZ,YAAI,CAAC,KAAK,WAAW,GAAG,IAAI,YAAY,MAAM;AAE9C,YAAI,CAAC,KAAK;AACR,gBAAM;AACN,sBAAY;AAAA,QACd;AAEA,cAAM,SAAS,GAAG,EAAE,OAAO,OAAO,GAAG,IAAI;AACzC,oBAAY,SAAS,WAAW,MAAM,EAAE,OAAO,OAAO,GAAG,IAAI;AAC7D,cAAM,SAAS,GAAG,EAAE,OAAO,OAAO,GAAG,IAAI;AAEzC,eAAO,SAAS,GAAG,KAAK,SAAS,KAAK,GAAG;AAAA,MAC3C;AAAA,MAEA,KAAK,UAAU;AACb,YAAI,CAAC,KAAK,GAAG,IAAI,YAAY,MAAM;AAEnC,cAAM,SAAS,GAAG,EAAE,OAAO,OAAO,GAAG,IAAI;AACzC,cAAM,SAAS,GAAG,EAAE,OAAO,OAAO,GAAG,IAAI;AAEzC,eAAO,UAAU,GAAG,KAAK,GAAG;AAAA,MAC9B;AAAA,MAEA,KAAK,eAAe;AAClB,YAAI,CAACA,MAAK,IAAI,YAAY,MAAM;AAEhC,QAAAA,SAAQ,SAASA,MAAK,EAAE,OAAO,OAAO,GAAG,IAAI;AAE7C,eAAO,eAAeA,MAAK;AAAA,MAC7B;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;;;AC3GA,IAAM,iBAAiB;AAEvB,IAAM,UAAqC;AAAA,EACzC,WAAW;AAAA,EACX,cAAc;AAAA,EACd,KAAK;AAAA,EACL,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,MAAM;AAAA,EACN,eAAe;AAAA,EACf,KAAK;AAAA,EACL,WAAW;AAAA,EACX,WAAW;AACb;AAEA,SAAS,SAAS,OAA2B,OAAoB;AA1BjE;AA2BE,MAAI,CAAC,MAAO,QAAO;AAEnB,MAAI,CAAC,OAAO,SAAS,GAAG,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,OAAO,OAAO;AAE/D,MAAI,KAAK,OAAQ,QAAO;AAExB,QAAM,QAAQ,UAAU,KAAK;AAE7B,UACE,MAAM,YAAY,SAAS,MAAM,YAC7B,WAAM,SAAS,KAAK,MAApB,mBAAuB,MACvB;AAEN,MAAI,WAAW,CAAC,QAAQ,SAAS,GAAG,EAAG,WAAU,GAAG,OAAO;AAE3D,SAAO,CAAC,UAAU,QAAQ,GAAG,KAAK,IAAI,OAAO;AAC/C;AAEO,SAAS,SACd,OACA,OACA,MACA,OACA;AACA,MAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,EAAG,QAAO;AAErD,QAAM,UAAU,cAAc,KAAK;AAEnC,MAAI,CAAC,QAAS,QAAO;AAErB,QAAM,EAAE,MAAM,OAAO,IAAI,eAAe,KAAK;AAE7C,MAAI,CAAC,OAAQ,QAAO;AAEpB,UAAQ,MAAM;AAAA,IACZ,KAAK;AAAA,IACL,KAAK,aAAa;AAChB,UAAI,CAAC,QAAQ,QAAQ,MAAM,IAAI,YAAY,MAAM,EAAE,QAAQ;AAE3D,UAAI,QAAQ;AACV,iBAAS,UAAU,UAAU,QAAQ,MAAM,IAAI;AAAA,MACjD,OAAO;AACL,iBAAS;AAAA,MACX;AAEA,eAAS,SAAS,QAAQ,KAAK;AAC/B,eAAS,SAAS,QAAQ,KAAK;AAE/B,aACE,aAAa,MAAM,MAClB,SAAS,KAAK,MAAM,KAAK,OACzB,SAAS,KAAK,MAAM,KAAK,MAC1B;AAAA,IAEJ;AAAA,IAEA,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK,kBAAkB;AACrB,YAAM,CAAC,OAAO,OAAO,IAAI,YAAY,MAAM;AAE3C,YAAM,SAAS,SAAS,GAAG,KAAK,IAAI,OAAO,IAAI,KAAK;AACpD,YAAM,SACJ,SAAS,mBACL,gBACA,SAAS,SACP,SACA;AAER,aAAO,aAAa,cAAc,KAAK,MAAM,KAAK,MAAM;AAAA,IAC1D;AAAA,IAEA,KAAK,QAAQ;AACX,YAAM,CAAC,OAAO,IAAI,IAAI,YAAY,MAAM;AAExC,YAAM,SAAS,SAAS,OAAO,KAAK;AAEpC,UAAI,CAAC,KAAM,QAAO;AAElB,UAAI,QAAQ,SAAS,IAAI,KAAK;AAE9B,UAAI,QAAQ,MAAM,MAAM,MAAO,SAAQ;AAEvC,UAAI,UAAU,IAAK,QAAO;AAE1B,YAAM,SAAS,QAAQ,MAAM,SAAS;AAEtC,YAAM,UAAU,GAAG,MAAO,KAAK,IAAI,QAAQ,GAAG,IAAI,IAAK,EAAE;AAEzD,aAAO,aAAa,cAAc,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM;AAAA,IACrE;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;;;ACxHO,SAAS,eACd,OAA8B,UACnB;AACX,SAAO,SAAU,OAAO;AACtB,QAAI,UAAU,OAAQ,QAAO;AAE7B,QAAI,SAAS,UAAU;AACrB,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ,OAAO;AACL,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,EACF;AACF;;;AClCO,SAAS,iBAAiB,MAAyB;AACxD,SAAO,SAAU,OAAO;AACtB,WAAO,GAAG,IAAI,IAAI,KAAK;AAAA,EACzB;AACF;;;ACHA,SAAS,WAAAC,UAAS,eAAAC,oBAAmB;AAQrC,IAAM,aAAwC;AAAA,EAC5C,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AACX;AAEA,IAAM,kBAAkB,IAAI,IAAI,OAAO,OAAO,UAAU,CAAC;AAElD,SAAS,SACd,OACA,OACA,MACA,OACA;AACA,MAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,EAAG,QAAO;AAErD,QAAM,UAAU,cAAc,KAAK;AAEnC,MAAI,CAAC,QAAS,QAAO,QAAQ,KAAK;AAElC,MAAI,EAAE,MAAM,OAAO,IAAI,eAAe,KAAK;AAE3C,MAAI,CAAC,QAAQ,CAAC,OAAQ,QAAO;AAE7B,SAAO,KAAK,SAAS,WAAW,IAAI,OAAO,GAAG,IAAI;AAElD,QAAM,CAAC,gBAAgB,GAAG,MAAM,IAAI,YAAY,MAAM;AAEtD,MAAI,CAAC,OAAO,OAAQ,QAAO;AAE3B,QAAM,YACJ,kBAAkB,kBAAkB,aAChC,WAAW,cAAc,IACzB;AAEN,MAAI,CAACC,aAAY,SAAS,EAAG,QAAO,QAAQ,SAAS;AAErD,QAAM,iBAAiB,OAAO,IAAI,CAAC,WAAW;AArDhD;AAsDI,QAAIA,aAAY,MAAM,EAAG,QAAO;AAEhC,QAAI,gBAAgB,IAAI,MAAM,EAAG,QAAO;AAExC,UAAM,IAAI,OAAO,QAAQ,GAAG;AAE5B,QAAI,CAAC,OAAO,MAAM,IAChB,MAAM,KAAK,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,OAAO,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;AAEhE,UAAM,QAAQ,cAAc,MAAM,IAAI,SAAS,iCAAQ,MAAM;AAE7D,UAAM,QAAQ,UAAU,KAAK;AAE7B,YACE,MAAM,YAAY,SAAS,MAAM,YAC5B,iBAAM,SAAS,KAAK,MAApB,mBAAuB,QAAvB,YAA8B,QAC/B;AAEN,QAAI,OAAO;AACT,aAAO,CAAC,OAAO,GAAIC,SAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAE,EAAE,KAAK,GAAG;AAAA,IAChE,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,SAAO,GAAG,IAAI,IAAI,eAAe,KAAK,IAAI,CAAC;AAC7C;;;ACrEA,IAAM,UAAqC;AAAA,EACzC,MAAM;AAAA,EACN,KAAK;AACP;AAEO,SAAS,KACd,OACA,OACAC,MACA,MACA;AACA,MAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,EAAG,QAAO;AAErD,QAAM,SAAS,YAAY,OAAO,CAAC,YAAY,YAAY,GAAG;AAE9D,MAAI,CAAC,OAAO,OAAQ,QAAO;AAE3B,QAAM,iBAAiB,OAAO,IAAI,CAACC,WAAkB;AA5BvD;AA6BI,UAAM,UAAU,cAAcA,MAAK;AAEnC,QAAI,CAAC,SAAS;AACZ,YAAM,QAAQ,SAASA,MAAK;AAE5B,aAAO,MAAM,YAAY,SAAS,MAAM,YACnC,iBAAM,SAAS,KAAK,MAApB,mBAAuB,QAAvB,YAA8BA,SAC/BA;AAAA,IACN;AAEA,UAAM,EAAE,MAAM,QAAAC,QAAO,IAAI,eAAeD,MAAK;AAE7C,QAAI,CAAC,QAAQ,CAACC,QAAQ,QAAOD;AAE7B,QAAI,SAAS,UAAU;AACrB,UAAI,CAAC,QAAQ,MAAM,IAAI,YAAYC,OAAM;AAEzC,eAAS,UAAU,UAAU,UAAU,QAAQ,MAAM,IAAI;AACzD,eAAS,KAAK,QAAQ,OAAOF,MAAK,IAAI;AAEtC,aAAO,UAAU,MAAM,KAAK,MAAM;AAAA,IACpC,OAAO;AACL,aAAO,aAAa,OAAO,EAAEC,QAAO,OAAOD,MAAK,IAAI;AAAA,IACtD;AAAA,EACF,CAAC;AAED,SAAO,eAAe,KAAK,GAAG;AAChC;;;ACtDA,SAAS,qBAAqB,WAAW;AAElC,SAAS,eAAe,QAA4B;AACzD,SAAO,SAAU,OAAO,OAAO,MAAM,OAAO,CAAC,GAAG;AAC9C,UAAM,cAAoB,CAAC;AAE3B,UAAM,QAAQ;AAAA,MACZ;AAAA,MACA,SAAS,UAAU,MAAM,IAAI,KAAK,KAAK,UAAU,KAAK;AAAA,MACtD,CAAC;AAAA,IACH;AAEA,eAAW,QAAQ,OAAO;AACxB,YAAM,OAAO,QAAQ,QAAQ,KAAK,IAAI,KAAK;AAE3C,UAAI,CAAC,KAAM,aAAY,IAAI,IAAI,MAAM,IAAI;AAAA,IAC3C;AAEA,WAAO;AAAA,EACT;AACF;;;AClBO,SAAS,cAAc,OAA8B;AAC1D,SAAO,SAAU,OAAO,OAAO;AAC7B,WAAO,WAAW,OAAO,KAAK,EAAE,KAAK;AAAA,EACvC;AACF;;;ACJA,IAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,UACd,OACA,QACA,MACA,OACA;AACA,MAAI,UAAU;AACZ,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,EAAE,KAAK,GAAG;AAEZ,MAAI,UAAU;AACZ,WAAO;AAAA,MACL;AAAA,MACA,GAAG;AAAA,IACL,EAAE,KAAK,GAAG;AAEZ,SAAO;AACT;;;AC5BA,SAAS,eAAe,WAAAG,UAAS,YAAAC,WAAU,eAAAC,oBAAmB;;;ACJvD,IAAM,qBAAqB;AAC3B,IAAM,iBAAiB;AACvB,IAAM,oBAAoB;;;ADMjC,SAAS,aAAa,KAAW,UAAoB,OAAiB;AARtE;AASE,MAAI,SAAS,WAAW,EAAG,QAAO;AAElC,QAAM,CAAC,MAAM,GAAG,IAAI,IAAI;AAExB,MAAI,CAACC,aAAY,IAAI,EAAG,KAAI,IAAI,IAAI,cAAa,SAAI,IAAI,MAAR,YAAa,CAAC,GAAG,MAAM,KAAK;AAE7E,SAAO;AACT;AAEA,SAAS,aAAa,OAAmB,OAAa;AACpD,SAAO,SAAU,OAAoB;AACnC,UAAM,aAAa,cAAc,KAAK;AAEtC,WAAO,OAAO,QAAQ,UAAU,EAAE,OAAa,CAAC,MAAM,CAAC,MAAMC,MAAK,MAAM;AACtE,YAAM,WAAW,KAAK,MAAM,GAAG;AAE/B,UAAIC,SAAQD,MAAK,GAAG;AAClB,QAAAA,SAAQA,OAAM,IAAI,CAACA,WAAU,WAAW,OAAOA,MAAK,EAAE,KAAK,CAAC;AAAA,MAC9D,OAAO;AACL,QAAAA,SAAQ,WAAW,OAAOA,MAAK,EAAE,KAAK;AAAA,MACxC;AAEA,mBAAa,MAAM,UAAUA,MAAK;AAElC,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP;AACF;AAEA,SAAS,aAAa,OAA+B,OAAY;AAC/D,SAAO,SAAU,OAAoB;AACnC,QAAI,CAAC,MAAO,QAAO;AAEnB,QAAIE,UAAS,KAAK,GAAG;AACnB,cAAQ,OAAO,QAAQ,KAAK,EAAE,OAAa,CAAC,MAAM,CAAC,KAAKF,MAAK,MAAM;AACjE,YAAIE,UAASF,MAAK,GAAG;AACnB,eAAK,GAAG,IAAI,aAAa,OAAOA,MAAK,EAAE,KAAK;AAAA,QAC9C,WAAWC,SAAQD,MAAK,GAAG;AACzB,eAAK,GAAG,IAAIA,OAAM,IAAI,CAACA,WAAU;AAC/B,gBAAIE,UAASF,MAAK,GAAG;AACnB,qBAAO,aAAa,OAAOA,MAAK,EAAE,KAAK;AAAA,YACzC,OAAO;AACL,qBAAO,WAAW,OAAOA,MAAK,EAAE,KAAK;AAAA,YACvC;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,eAAK,GAAG,IAAI,WAAW,OAAOA,MAAK,EAAE,KAAK;AAAA,QAC5C;AAEA,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,IACP,WAAWC,SAAQ,KAAK,GAAG;AACzB,cAAQ,MAAM,IAAI,CAACD,WAAU;AAC3B,YAAIE,UAASF,MAAK,GAAG;AACnB,iBAAO,aAAa,OAAOA,MAAK,EAAE,KAAK;AAAA,QACzC,OAAO;AACL,iBAAO,WAAW,OAAOA,MAAK,EAAE,KAAK;AAAA,QACvC;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,cAAQ,WAAW,OAAO,KAAK,EAAE,KAAK;AAAA,IACxC;AAEA,WAAO;AAAA,EACT;AACF;AAEO,SAAS,KACd,QACA,OACA,MACA,OACA;AACA,MAAI,CAACC,SAAQ,MAAM,EAAG,QAAO;AAE7B,SAAO,OAAO,OAAa,CAAC,MAAM,EAAE,MAAM,OAAO,OAAO,SAAS,MAAM;AApFzE;AAqFI,UAAM,UAAS,oCAAY,iBAAM,aAAN,mBAAgB,QAAhB,mBAAqB,WAAjC,YAA2C;AAE1D,WAAO,KAAK,MAAM,IAAI,IAAI;AAE1B,SAAK,IAAI,IAAI,aAAa,OAAO,KAAK,EAAE,KAAK;AAE7C,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;AbhDO,IAAM,aAAa;AAAA,EACxB;AAAA,EACA,QAAQ,CAAC,UAAe;AACtB,QAAI,UAAU,QAAQ;AACpB,aAAO,EAAE,gBAAgB,QAAQ,OAAO,cAAc;AAAA,IACxD,OAAO;AACL,aAAO,EAAE,gBAAgB,MAAM;AAAA,IACjC;AAAA,EACF;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA,WAAW,eAAe,WAAW;AAAA,EACrC,SAAS,CAAC,UAAe;AACvB,QAAIE,UAAS,KAAK,GAAG;AACnB,aAAO,EAAE,SAAS,MAAM,GAAG,MAAM;AAAA,IACnC,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,KAAK,CAAC,UAAe;AACnB,QAAI,SAAS,KAAK,KAAK,SAAS,KAAM,QAAO;AAE7C,UAAM,aAAa,OAAO,UAAU,YAAY,CAAC,MAAM,SAAS,KAAK;AAErE,WAAO,cAAc,SAAS,KAAK,IAAI,GAAG,KAAK,QAAQ;AAAA,EACzD;AAAA,EACA,QAAQ;AAAA,EACR,UAAU,CAAC,UAAe;AACxB,QAAI,SAAS,KAAK,KAAK,SAAS,EAAG,SAAQ,GAAG,QAAQ,GAAG;AAEzD,WAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,aAAa,CAAC,UAAmB;AAC/B,QAAI,OAAO;AACT,aAAO;AAAA,QACL,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO,eAAe,OAAO;AAAA,EAC7B,IAAI,CAAC,UAAe;AAClB,QAAI,SAAS,KAAM,QAAO;AAE1B,UAAM,EAAE,WAAW,IAAI,gBAAgB,KAAK;AAE5C,WAAO,cAAc,SAAS,KAAK,IAAI,GAAG,KAAK,OAAO;AAAA,EACxD;AAAA,EACA,QAAQ;AAAA,EACR,UAAU,eAAe,UAAU;AAAA,EACnC,OAAO;AAAA,EACP;AAAA,EACA;AACF;;;Ae3FO,IAAM,iBAAiB;AAAA,EAC5B,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,KAAK;AAAA,EACL,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,YAAY,GAAG,WAAW,SAAS;AAAA,EACtE;AAAA,EACA,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,sBAAsB;AAAA,EACpD;AAAA,EACA,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,IACvB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,oBAAoB;AAAA,EAClD;AAAA,EACA,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,SAAS;AAAA,EACT,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,OAAO,GAAG,WAAW,SAAS,MAAM,CAAC;AAAA,EACxE;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,YAAY;AAAA,EAC7C;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,UAAU;AAAA,EAC3C;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,SAAS;AAAA,MAC1B,WAAW,SAAS,aAAa;AAAA,IACnC;AAAA,EACF;AAAA,EACA,gBAAgB,EAAE,WAAW,WAAW,OAAO,UAAU,EAAE;AAAA,EAC3D,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,WAAW;AAAA,EAC5C;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW,KAAK,WAAW,KAAK,WAAW,SAAS,YAAY,CAAC;AAAA,EACnE;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,QAAQ;AAAA,EACzC;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,UAAU;AAAA,EAC3C;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,OAAO;AAAA,EACxC;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,WAAW,GAAG,WAAW,QAAQ;AAAA,EACpE;AAAA,EACA,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,OAAO,GAAG,WAAW,SAAS,MAAM,CAAC;AAAA,EACxE;AAAA,EACA,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,qBAAqB;AAAA,IACnB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,IACnB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,uBAAuB;AAAA,IACrB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,IACrB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,wBAAwB;AAAA,IACtB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY,CAAC,0BAA0B,yBAAyB;AAAA,IAChE,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,yBAAyB;AAAA,IACvB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,gBAAgB;AAAA,EAChB,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,sBAAsB;AAAA,IACpB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,WAAW,GAAG,WAAW,QAAQ;AAAA,EACpE;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,sBAAsB;AAAA,IACpB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,uBAAuB;AAAA,IACrB,YAAY,CAAC,wBAAwB,oBAAoB;AAAA,IACzD,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,IACpB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,wBAAwB;AAAA,IACtB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,yBAAyB;AAAA,IACvB,YAAY,CAAC,0BAA0B,sBAAsB;AAAA,IAC7D,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,IACtB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY,CAAC,uBAAuB,wBAAwB;AAAA,IAC5D,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,EACjB,iBAAiB,EAAE,YAAY,mBAAmB,WAAW,WAAW,GAAG;AAAA,EAC3E,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY,CAAC,wBAAwB,yBAAyB;AAAA,IAC9D,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,WAAW,WAAW;AAAA,EACxB;AAAA,EACA,eAAe;AAAA,EACf,sBAAsB;AAAA,IACpB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,wBAAwB;AAAA,IACtB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,aAAa;AAAA,EACb,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,qBAAqB;AAAA,IACnB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY,CAAC,uBAAuB,sBAAsB;AAAA,IAC1D,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,sBAAsB;AAAA,IACpB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,EAChB,gBAAgB,EAAE,YAAY,kBAAkB,WAAW,WAAW,GAAG;AAAA,EACzE,aAAa,EAAE,YAAY,eAAe,WAAW,WAAW,GAAG;AAAA,EACnE,SAAS;AAAA,IACP,YAAY,CAAC,cAAc,aAAa;AAAA,IACxC,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,SAAS;AAAA,IACP,YAAY,CAAC,aAAa,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,SAAS,GAAG,WAAW,EAAE;AAAA,EAC5D;AAAA,EACA,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,cAAc;AAAA,EACd,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,SAAS;AAAA,EACvC;AAAA,EACA,SAAS;AAAA,IACP,YAAY,CAAC,SAAS,QAAQ;AAAA,IAC9B,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,YAAY;AAAA,EAC7C;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,oBAAoB;AAAA,EACpB,WAAW,EAAE,YAAY,cAAc;AAAA,EACvC,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,YAAY,EAAE,YAAY,cAAc,WAAW,WAAW,GAAG;AAAA,EACjE,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,iBAAiB;AAAA,EACjB,iBAAiB,EAAE,YAAY,mBAAmB,WAAW,WAAW,GAAG;AAAA,EAC3E,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,2BAA2B;AAAA,EAC3B,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAC5B,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,IACrB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,UAAU;AAAA,IACR,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,UAAU;AAAA,EAC3C;AAAA,EACA,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,SAAS;AAAA,MAC1B,WAAW,SAAS,aAAa;AAAA,IACnC;AAAA,EACF;AAAA,EACA,YAAY;AAAA,EACZ,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ,EAAE,WAAW,WAAW,OAAO,EAAE;AAAA,EACzC,MAAM;AAAA,EACN,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,EACV,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,OAAO;AAAA,EACP,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,cAAc;AAAA,EACd,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,OAAO;AAAA,EACrC;AAAA,EACA,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,UAAU;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,WAAW;AAAA,MAC5B,WAAW;AAAA,MACX,WAAW,KAAK,WAAW;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,WAAW;AAAA,EACX,eAAe;AAAA,EACf,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,uBAAuB;AAAA,EACvB,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,aAAa;AAAA,EAC3C;AAAA,EACA,mBAAmB;AAAA,EACnB,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,0BAA0B;AAAA,EAC1B,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,WAAW;AAAA,EAC5C;AAAA,EACA,MAAM;AAAA,EACN,UAAU;AAAA,EACV,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,cAAc;AAAA,EACd,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,IACnB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,EACpB,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,WAAW,KAAK,WAAW,KAAK,WAAW,SAAS,YAAY,CAAC;AAAA,EACnE;AAAA,EACA,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,YAAY,CAAC,QAAQ,OAAO;AAAA,IAC5B,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,YAAY,CAAC,OAAO,QAAQ;AAAA,IAC5B,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,QAAQ;AAAA,EACzC;AAAA,EACA,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,gBAAgB;AAAA,EAC9C;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,aAAa;AAAA,EAC3C;AAAA,EACA,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,WAAW,GAAG,WAAW,QAAQ;AAAA,EACpE;AAAA,EACA,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,EACZ,SAAS;AAAA,IACP,YAAY,CAAC,qBAAqB,iBAAiB;AAAA,IACnD,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,YAAY,CAAC,aAAa,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,iBAAiB,EAAE,YAAY,mBAAmB,WAAW,WAAW,GAAG;AAAA,EAC3E,UAAU;AAAA,EACV,eAAe;AAAA,EACf,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,WAAW,GAAG,WAAW,QAAQ;AAAA,EACpE;AAAA,EACA,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,YAAY,CAAC,YAAY,WAAW;AAAA,IACpC,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,YAAY,CAAC,YAAY,WAAW;AAAA,IACpC,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,cAAc;AAAA,EACd,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,eAAe;AAAA,EACf,cAAc;AAAA,EACd,cAAc,EAAE,YAAY,gBAAgB,WAAW,WAAW,GAAG;AAAA,EACrE,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAS;AAAA,EACT,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,YAAY,CAAC,sBAAsB,kBAAkB;AAAA,IACrD,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,YAAY,CAAC,cAAc,eAAe;AAAA,IAC1C,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,eAAe;AAAA,EACf,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,QAAQ,EAAE,YAAY,eAAe,WAAW,WAAW,IAAI;AAAA,EAC/D,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd,UAAU;AAAA,IACR,YAAY;AAAA,IACZ,WAAW,WAAW,SAAS,UAAU;AAAA,EAC3C;AAAA,EACA,OAAO,EAAE,YAAY,CAAC,gBAAgB,cAAc,EAAE;AAAA,EACtD,QAAQ,EAAE,YAAY,eAAe;AAAA,EACrC,QAAQ,EAAE,YAAY,eAAe;AAAA,EACrC,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,iBAAiB;AAAA,EACjB,gBAAgB,EAAE,YAAY,kBAAkB,WAAW,WAAW,GAAG;AAAA,EACzE,gBAAgB;AAAA,EAChB,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY,CAAC,oBAAoB,mBAAmB;AAAA,IACpD,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY,CAAC,mBAAmB,oBAAoB;AAAA,IACpD,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,IACnB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY,CAAC,qBAAqB,oBAAoB;AAAA,IACtD,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY,CAAC,oBAAoB,qBAAqB;AAAA,IACtD,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,OAAO,EAAE,YAAY,cAAc,WAAW,WAAW,SAAS,OAAO,EAAE;AAAA,EAC3E,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,OAAO,EAAE,YAAY,eAAe,WAAW,WAAW,IAAI;AAAA,EAC9D,OAAO,EAAE,YAAY,eAAe,WAAW,WAAW,IAAI;AAAA,EAC9D,WAAW;AAAA,EACX,aAAa;AAAA,EACb,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,aAAa,EAAE,YAAY,eAAe,WAAW,WAAW,GAAG;AAAA,EACnE,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,IACnB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,KAAK,WAAW,MAAM,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACjE;AAAA,EACA,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,SAAS;AAAA,EACvC;AAAA,EACA,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,UAAU;AAAA,EACV,eAAe;AAAA,EACf,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,aAAa;AAAA,EACb,WAAW,EAAE,YAAY,aAAa,WAAW,WAAW,UAAU;AAAA,EACtE,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,sBAAsB;AAAA,EACpD;AAAA,EACA,oBAAoB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,sBAAsB;AAAA,EACpD;AAAA,EACA,0BAA0B;AAAA,IACxB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,oBAAoB;AAAA,EAClD;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,QAAQ;AAAA,MACzB,WAAW;AAAA,MACX,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,WAAW,MAAM,OAAO;AAAA,MACxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,KAAK,OAAO;AAAA,IACzB;AAAA,EACF;AAAA,EACA,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,aAAa;AAAA,EACb,aAAa;AAAA,EACb,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,WAAW,MAAM,UAAU;AAAA,EACxC;AAAA,EACA,MAAM;AACR;AAIO,IAAM,kBAAkB;AAAA,EAC7B,QAAQ,eAAe;AAAA,EACvB,IAAI,eAAe;AAAA,EACnB,cAAc,EAAE,YAAY,uBAAuB;AAAA,EACnD,aAAa,EAAE,YAAY,sBAAsB;AAAA,EACjD,QAAQ,eAAe;AAAA,EACvB,SAAS,eAAe;AAAA,EACxB,YAAY,eAAe;AAAA,EAC3B,SAAS,eAAe;AAAA,EACxB,OAAO,eAAe;AAAA,EACtB,UAAU,EAAE,YAAY,mBAAmB;AAAA,EAC3C,YAAY,EAAE,YAAY,qBAAqB;AAAA,EAC/C,aAAa,EAAE,YAAY,sBAAsB;AAAA,EACjD,aAAa,EAAE,YAAY,sBAAsB;AAAA,EACjD,QAAQ,EAAE,YAAY,sBAAsB;AAAA,EAC5C,QAAQ,EAAE,YAAY,sBAAsB;AAAA,EAC5C,UAAU,EAAE,YAAY,mBAAmB;AAAA,EAC3C,QAAQ,EAAE,YAAY,iBAAiB;AAAA,EACvC,WAAW,EAAE,YAAY,eAAe;AAAA,EACxC,uBAAuB,eAAe;AAAA,EACtC,yBAAyB,eAAe;AAAA,EACxC,WAAW,eAAe;AAAA,EAC1B,gBAAgB,eAAe;AAAA,EAC/B,iBAAiB,eAAe;AAAA,EAChC,gBAAgB,EAAE,YAAY,uBAAuB;AAAA,EACrD,gBAAgB,eAAe;AAAA,EAC/B,aAAa,eAAe;AAAA,EAC5B,kBAAkB,eAAe;AAAA,EACjC,mBAAmB,eAAe;AAAA,EAClC,kBAAkB,EAAE,YAAY,yBAAyB;AAAA,EACzD,kBAAkB,eAAe;AAAA,EACjC,oBAAoB,eAAe;AAAA,EACnC,sBAAsB,eAAe;AAAA,EACrC,OAAO,eAAe;AAAA,EACtB,SAAS,EAAE,YAAY,gBAAgB;AAAA,EACvC,GAAG,eAAe;AAAA,EAClB,MAAM,eAAe;AAAA,EACrB,MAAM,eAAe;AAAA,EACrB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,GAAG,eAAe;AAAA,EAClB,UAAU,eAAe;AAAA,EACzB,YAAY,eAAe;AAAA,EAC3B,SAAS,eAAe;AAAA,EACxB,cAAc,eAAe;AAAA,EAC7B,cAAc,EAAE,YAAY,oBAAoB;AAAA,EAChD,GAAG,eAAe;AAAA,EAClB,WAAW,eAAe;AAAA,EAC1B,aAAa,eAAe;AAAA,EAC5B,MAAM,eAAe;AAAA,EACrB,MAAM,eAAe;AAAA,EACrB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,MAAM,eAAe;AAAA,EACrB,MAAM,eAAe;AAAA,EACrB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,YAAY,EAAE,YAAY,qBAAqB;AAAA,EAC/C,aAAa,EAAE,YAAY,sBAAsB;AAAA,EACjD,aAAa,EAAE,YAAY,sBAAsB;AAAA,EACjD,GAAG,eAAe;AAAA,EAClB,YAAY,eAAe;AAAA,EAC3B,cAAc,eAAe;AAAA,EAC7B,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,KAAK,EAAE,YAAY,WAAW;AAAA,EAC9B,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,IAAI,eAAe;AAAA,EACnB,SAAS,eAAe;AAAA,EACxB,eAAe,eAAe;AAAA,EAC9B,kBAAkB,eAAe;AAAA,EACjC,mBAAmB,eAAe;AAAA,EAClC,oBAAoB,eAAe;AAAA,EACnC,oBAAoB,eAAe;AAAA,EACnC,YAAY,eAAe;AAAA,EAC3B,aAAa,eAAe;AAAA,EAC5B,cAAc,eAAe;AAAA,EAC7B,cAAc,eAAe;AAAA,EAC7B,YAAY,eAAe;AAAA,EAC3B,eAAe,eAAe;AAAA,EAC9B,gBAAgB,eAAe;AAAA,EAC/B,iBAAiB,eAAe;AAAA,EAChC,iBAAiB,eAAe;AAAA,EAChC,QAAQ,eAAe;AAAA,EACvB,MAAM,eAAe;AAAA,EACrB,WAAW,eAAe;AAAA,EAC1B,WAAW,EAAE,YAAY,iBAAiB;AAAA,EAC1C,UAAU,eAAe;AAAA,EACzB,GAAG,eAAe;AAAA,EAClB,GAAG,eAAe;AACpB;AAIO,IAAM,eAAe;AAAA,EAC1B,YAAY,EAAE,YAAY,YAAY,WAAW,WAAW,QAAQ;AAAA,EACpE,aAAa,EAAE,YAAY,aAAa,WAAW,WAAW,QAAQ;AACxE;AAIO,IAAM,WAAW;AAAA,EACtB,OAAO,EAAE,iBAAiB,MAAM,WAAW,WAAW,OAAO,EAAE;AAAA,EAC/D,YAAY;AAAA,IACV,iBAAiB;AAAA,IACjB,WAAW,WAAW,OAAO,aAAa;AAAA,EAC5C;AAAA,EACA,WAAW;AAAA,IACT,iBAAiB;AAAA,IACjB,WAAW,WAAW,OAAO,YAAY;AAAA,EAC3C;AAAA,EACA,aAAa,EAAE,WAAW,WAAW,YAAY;AAAA,EACjD,WAAW;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,IACnB;AAAA,EACF;AAAA,EACA,MAAM,EAAE,eAAe,MAAM,WAAW,WAAW,KAAK;AAC1D;AAIO,IAAM,eAAe;AAAA,EAC1B,YAAY,EAAE,eAAe,MAAM,WAAW,WAAW,UAAU;AAAA,EACnE,QAAQ,EAAE,eAAe,MAAM,WAAW,WAAW,MAAM;AAAA,EAC3D,WAAW,EAAE,eAAe,MAAM,WAAW,WAAW,SAAS;AACnE;AAIO,IAAM,SAAS;AAAA,EACpB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAIO,IAAM,kBAAkB,OAAO,KAAK,MAAM;AAI1C,IAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,sBAAsB,CAAC,WAAW;AAIxC,IAAM,iBAAiB,CAAC,QAAQ,cAAc;AAI9C,IAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,mBAAmB,CAAC,UAAU,GAAG;AAIvC,IAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAA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","names":["forwardRef","React","memo","isObject","emotionKeyframes","isObject","value","css","isObject","keyframes","styles","emotionKeyframes","css","value","isArray","isUndefined","isUndefined","isArray","css","value","values","isArray","isObject","isUndefined","isUndefined","value","isArray","isObject","isObject","filterUndefined","get","isArray","isObject","merge","omitObject","runIfFunc","useRef","queries","isArray","isObject","isString","merge","queries","isObject","isArray","merge","value","css","isString","_a","cssOrFunc","ThemeContext","flattenObject","isObject","merge","useContext","useMemo","useContext","ThemeContext","useMemo","transform","flattenObject","obj","path","isObject","merge","vars","isArray","isObject","isString","merge","queries","tokenToVar","valueToVar","isString","value","isArray","isObject","merge","useSafeLayoutEffect","createContext","useContext","useMemo","useContext","useMemo","jsx","css","jsx","localStorage","createContext","colorModeManager","systemColorMode","useMemo","colorMode","useContext","useSafeLayoutEffect","createdDom","isEmptyObject","createContext","useCallback","useContext","useEffect","useMemo","useState","jsx","createdDom","createContext","useState","useCallback","useMemo","useEffect","useContext","isEmptyObject","jsx","hasSupport","createLocalStorage","parseCookie","createCookieStorage","ThemeContext","get","isEmptyObject","isUndefined","merge","runIfFunc","useCallback","useContext","useEffect","useMemo","useState","flattenObject","isArray","isObject","merge","runIfFunc","queries","primaryTokens","secondaryTokens","mergeVars","flattenObject","tone","isArray","isObject","runIfFunc","merge","key","value","jsx","jsxs","localStorage","themeSchemeManager","useState","useCallback","themeScheme","useMemo","useEffect","get","runIfFunc","isEmptyObject","useContext","ThemeContext","isUndefined","merge","merge","queries","query","styles","isArray","isObject","runIfFunc","isProcessSkip","useRef","get","filterUndefined","omitObject","filterUndefined","runIfFunc","forwardRef","runIfFunc","filterUndefined","forwardRef"]}