utopia-ui 3.0.96 → 3.0.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Profile.cjs.js +34597 -19306
- package/dist/Profile.cjs.js.map +1 -1
- package/dist/Profile.esm.js +34605 -19314
- package/dist/Profile.esm.js.map +1 -1
- package/dist/TagView-02RrHax_.js +2533 -0
- package/dist/TagView-02RrHax_.js.map +1 -0
- package/dist/TagView-5-8h53BG.js +2449 -0
- package/dist/TagView-5-8h53BG.js.map +1 -0
- package/dist/TagView-B1-sgc78.js +2446 -0
- package/dist/TagView-B1-sgc78.js.map +1 -0
- package/dist/TagView-BDwwz9Sx.js +2458 -0
- package/dist/TagView-BDwwz9Sx.js.map +1 -0
- package/dist/TagView-BI5IFu_z.js +2458 -0
- package/dist/TagView-BI5IFu_z.js.map +1 -0
- package/dist/{TagView-D8MzLpNR.js → TagView-BZ0nyWer.js} +34 -57
- package/dist/{TagView-D8MzLpNR.js.map → TagView-BZ0nyWer.js.map} +1 -1
- package/dist/TagView-B_dT_RCj.js +2448 -0
- package/dist/TagView-B_dT_RCj.js.map +1 -0
- package/dist/TagView-Bu26dg0K.js +2533 -0
- package/dist/TagView-Bu26dg0K.js.map +1 -0
- package/dist/TagView-CATICiCq.js +2546 -0
- package/dist/TagView-CATICiCq.js.map +1 -0
- package/dist/TagView-CHM82D2_.js +2517 -0
- package/dist/TagView-CHM82D2_.js.map +1 -0
- package/dist/TagView-CMYOIMkk.js +2600 -0
- package/dist/TagView-CMYOIMkk.js.map +1 -0
- package/dist/TagView-CUW_Zki1.js +2536 -0
- package/dist/{TagView-nJhkFKCX.js.map → TagView-CUW_Zki1.js.map} +1 -1
- package/dist/TagView-D0odtmgU.js +2513 -0
- package/dist/TagView-D0odtmgU.js.map +1 -0
- package/dist/{TagView-nJhkFKCX.js → TagView-DDw2Kpaa.js} +32 -54
- package/dist/TagView-DDw2Kpaa.js.map +1 -0
- package/dist/TagView-DUuOpehP.js +2426 -0
- package/dist/TagView-DUuOpehP.js.map +1 -0
- package/dist/TagView-DeViY4Pt.js +2535 -0
- package/dist/TagView-DeViY4Pt.js.map +1 -0
- package/dist/TagView-DjmAw9pZ.js +2545 -0
- package/dist/TagView-DjmAw9pZ.js.map +1 -0
- package/dist/TagView-DrgapD3I.js +2446 -0
- package/dist/TagView-DrgapD3I.js.map +1 -0
- package/dist/TagView-nv4_drB5.js +2533 -0
- package/dist/TagView-nv4_drB5.js.map +1 -0
- package/dist/TagView-oMANewyq.js +2446 -0
- package/dist/TagView-oMANewyq.js.map +1 -0
- package/dist/index.cjs.js +19 -3024
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -9
- package/dist/index.esm.js +21 -3025
- package/dist/index.esm.js.map +1 -1
- package/dist/types/src/Components/Input/RichTextEditor.d.ts +3 -6
- package/dist/types/src/Components/Input/RichTextEditor.spec.d.ts +1 -0
- package/dist/types/src/Components/Input/TextEditorMenu.d.ts +4 -0
- package/dist/types/src/Components/Input/TextInput.cy.d.ts +1 -0
- package/dist/types/src/Components/Item/index.d.ts +0 -1
- package/dist/types/src/Components/Map/Subcomponents/ItemPopupComponents/PopupStartEndInput.d.ts +2 -1
- package/dist/types/src/Components/Map/Subcomponents/ItemPopupComponents/TextView.d.ts +1 -2
- package/dist/types/src/Components/Profile/Subcomponents/GalleryForm.d.ts +7 -0
- package/dist/types/src/Components/Profile/Subcomponents/ProfileTextForm.d.ts +1 -2
- package/dist/types/src/Components/Templates/Tabs.d.ts +10 -0
- package/dist/types/src/Components/Templates/index.d.ts +0 -1
- package/dist/types/src/Utils/getImageDimensions.d.ts +4 -0
- package/dist/types/src/css.d.ts +2 -1
- package/package.json +14 -7
- package/dist/types/src/types/PopupFormState.d.ts +0 -8
package/dist/index.esm.js
CHANGED
@@ -10,8 +10,8 @@ import * as React from 'react';
|
|
10
10
|
import { createContext, useContext, useState, useCallback, useEffect, createRef, useRef, forwardRef, useMemo } from 'react';
|
11
11
|
import { useInRouterContext, BrowserRouter, useNavigate, useLocation, Outlet, Link, NavLink } from 'react-router-dom';
|
12
12
|
import { ToastContainer, toast } from 'react-toastify';
|
13
|
-
import { P as PermissionsProvider, T as TagsProvider, L as LayersProvider, F as FilterProvider, I as ItemsProvider, S as SelectPositionProvider, a as LeafletRefsProvider, A as AppStateProvider, C as ClusterRefProvider, u as useLayers, b as useHasUserPermission, c as useAddVisibleGroupType, d as useIsGroupTypeVisible, e as useToggleVisibleGroupType, f as useVisibleGroupType, g as useAuth, h as useIsLayerVisible, i as useToggleVisibleLayer, j as useAppState, k as useSetAppState, l as useWindowDimensions, m as useTags, n as useItems, o as useLeafletRefs, p as useAddFilterTag, q as decodeTag, r as useFilterTags, s as useRemoveFilterTag, t as useSelectPosition, v as useSetSelectPosition, w as useSetClusterRef, x as useClusterRef, y as useSetMapClicked, z as useAddVisibleLayer, B as TextView$1, D as useResetFilterTags, E as useSetItemsApi, G as useSetItemsData, H as useAddTag, J as useSetTagData, K as useSetTagApi, M as useSetPermissionData, N as useSetPermissionApi, O as useSetAdminRole, Q as ForwardRef$5, R as MapOverlayPage, U as TextAreaInput, V as TextInput, W as useGetItemTags, X as ForwardRef$6, Y as timeAgo, Z as HeaderView, _ as StartEndView$1, $ as useAddItem, a0 as useRemoveItem, a1 as PopupStartEndInput$1, a2 as hashTagRegex, a3 as randomColor, a4 as TagView, a5 as useUpdateItem, a6 as useAddMarker, a7 as useAddPopup, a8 as useAllTagsLoaded, a9 as useAllItemsLoaded, aa as useSetMarkerClicked, ab as encodeTag } from './TagView-
|
14
|
-
export { ac as AuthProvider } from './TagView-
|
13
|
+
import { P as PermissionsProvider, T as TagsProvider, L as LayersProvider, F as FilterProvider, I as ItemsProvider, S as SelectPositionProvider, a as LeafletRefsProvider, A as AppStateProvider, C as ClusterRefProvider, u as useLayers, b as useHasUserPermission, c as useAddVisibleGroupType, d as useIsGroupTypeVisible, e as useToggleVisibleGroupType, f as useVisibleGroupType, g as useAuth, h as useIsLayerVisible, i as useToggleVisibleLayer, j as useAppState, k as useSetAppState, l as useWindowDimensions, m as useTags, n as useItems, o as useLeafletRefs, p as useAddFilterTag, q as decodeTag, r as useFilterTags, s as useRemoveFilterTag, t as useSelectPosition, v as useSetSelectPosition, w as useSetClusterRef, x as useClusterRef, y as useSetMapClicked, z as useAddVisibleLayer, B as TextView$1, D as useResetFilterTags, E as useSetItemsApi, G as useSetItemsData, H as useAddTag, J as useSetTagData, K as useSetTagApi, M as useSetPermissionData, N as useSetPermissionApi, O as useSetAdminRole, Q as ForwardRef$5, R as MapOverlayPage, U as TextAreaInput, V as TextInput, W as useGetItemTags, X as ForwardRef$6, Y as timeAgo, Z as HeaderView, _ as StartEndView$1, $ as useAddItem, a0 as useRemoveItem, a1 as PopupStartEndInput$1, a2 as hashTagRegex, a3 as randomColor, a4 as TagView, a5 as useUpdateItem, a6 as useAddMarker, a7 as useAddPopup, a8 as useAllTagsLoaded, a9 as useAllItemsLoaded, aa as useSetMarkerClicked, ab as encodeTag } from './TagView-oMANewyq.js';
|
14
|
+
export { ac as AuthProvider } from './TagView-oMANewyq.js';
|
15
15
|
import MarkerClusterGroup from 'react-leaflet-cluster';
|
16
16
|
import SVG from 'react-inlinesvg';
|
17
17
|
export { default as SVG } from 'react-inlinesvg';
|
@@ -49,3046 +49,42 @@ function styleInject(css, ref) {
|
|
49
49
|
}
|
50
50
|
}
|
51
51
|
|
52
|
-
var css_248z$
|
52
|
+
var css_248z$b = ".react-photo-album{display:flex}.react-photo-album,.react-photo-album *{box-sizing:border-box}.react-photo-album--track{align-items:flex-start;display:flex}.react-photo-album--photo{padding:calc(var(--react-photo-album--padding)*1px);position:relative}.react-photo-album--image{aspect-ratio:var(--react-photo-album--photo-width)/var(--react-photo-album--photo-height);display:block;height:auto;width:100%}.react-photo-album--button{background:initial;border:initial;cursor:pointer}.react-photo-album--rows{flex-direction:column;row-gap:calc(var(--react-photo-album--spacing)*1px)}.react-photo-album--rows .react-photo-album--track{justify-content:space-between;--react-photo-album--track-gaps:calc(var(--react-photo-album--spacing)*(var(--react-photo-album--track-size) - 1) + var(--react-photo-album--padding)*2*var(--react-photo-album--track-size))}.react-photo-album--rows .react-photo-album--photo{width:calc((100% - var(--react-photo-album--track-gaps)*1px)/(var(--react-photo-album--container-width) - var(--react-photo-album--track-gaps))*var(--react-photo-album--photo-width) + 2px*var(--react-photo-album--padding))}";
|
53
|
+
styleInject(css_248z$b);
|
54
|
+
|
55
|
+
var css_248z$a = ".yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}";
|
53
56
|
styleInject(css_248z$a);
|
54
57
|
|
55
|
-
var css_248z$9 = ".yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}";
|
58
|
+
var css_248z$9 = "/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --tw-color-red-500: oklch(0.637 0.237 25.331);\n --tw-color-green-500: oklch(0.723 0.219 149.579);\n --tw-color-slate-200: oklch(0.929 0.013 255.508);\n --tw-color-slate-300: oklch(0.869 0.022 252.894);\n --tw-color-gray-200: oklch(0.928 0.006 264.531);\n --tw-color-gray-400: oklch(0.707 0.022 261.325);\n --tw-color-gray-500: oklch(0.551 0.027 264.364);\n --tw-color-gray-600: oklch(0.446 0.03 256.802);\n --tw-color-zinc-500: oklch(0.552 0.016 285.938);\n --tw-color-zinc-800: oklch(0.274 0.006 286.033);\n --tw-color-white: #fff;\n --tw-spacing: 0.25rem;\n --tw-container-xs: 20rem;\n --tw-container-xl: 36rem;\n --tw-container-2xl: 42rem;\n --tw-container-3xl: 48rem;\n --tw-container-6xl: 72rem;\n --tw-text-xs: 0.75rem;\n --tw-text-xs--line-height: calc(1 / 0.75);\n --tw-text-sm: 0.875rem;\n --tw-text-sm--line-height: calc(1.25 / 0.875);\n --tw-text-base: 1rem;\n --tw-text-base--line-height: calc(1.5 / 1);\n --tw-text-lg: 1.125rem;\n --tw-text-lg--line-height: calc(1.75 / 1.125);\n --tw-text-xl: 1.25rem;\n --tw-text-xl--line-height: calc(1.75 / 1.25);\n --tw-text-2xl: 1.5rem;\n --tw-text-2xl--line-height: calc(2 / 1.5);\n --tw-text-3xl: 1.875rem;\n --tw-text-3xl--line-height: calc(2.25 / 1.875);\n --tw-text-6xl: 3.75rem;\n --tw-text-6xl--line-height: 1;\n --tw-font-weight-normal: 400;\n --tw-font-weight-medium: 500;\n --tw-font-weight-semibold: 600;\n --tw-font-weight-bold: 700;\n --tw-radius-md: 0.375rem;\n --tw-radius-xl: 0.75rem;\n --tw-radius-2xl: 1rem;\n --tw-drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --tw-ease-in: cubic-bezier(0.4, 0, 1, 1);\n --tw-default-transition-duration: 150ms;\n --tw-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --tw-z-index-500: 500;\n --tw-z-index-1000: 1000;\n --tw-z-index-2000: 2000;\n --tw-z-index-3000: 3000;\n --tw-min-width-80: 320px;\n --tw-container-52: 208px;\n --tw-min-height-56: 224px;\n --tw-min-height-80: 320px;\n --tw-text-map: 13px;\n --tw-leading-map: 1.4em;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" );\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var( --default-font-variation-settings, normal );\n -webkit-tap-highlight-color: transparent;\n }\n body {\n line-height: inherit;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var( --default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace );\n font-feature-settings: var( --default-mono-font-feature-settings, normal );\n font-variation-settings: var( --default-mono-font-variation-settings, normal );\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .tw\\:\\@container {\n container-type: inline-size;\n }\n .tw\\:modal {\n pointer-events: none;\n visibility: hidden;\n position: fixed;\n inset: calc(0.25rem * 0);\n margin: calc(0.25rem * 0);\n display: grid;\n height: 100%;\n max-height: none;\n width: 100%;\n max-width: none;\n align-items: center;\n justify-items: center;\n background-color: transparent;\n padding: calc(0.25rem * 0);\n color: inherit;\n overflow-x: hidden;\n transition: transform 0.3s ease-out, visibility 0.3s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;\n overflow-y: hidden;\n overscroll-behavior: contain;\n z-index: 999;\n &::backdrop {\n display: none;\n }\n &.tw\\:modal-open, &[open], &:target {\n background-color: oklch(0% 0 0/ 0.4);\n transition: transform 0.3s ease-out, background-color 0.3s ease-out, opacity 0.1s ease-out;\n pointer-events: auto;\n visibility: visible;\n opacity: 100%;\n .tw\\:modal-box {\n translate: 0 0;\n scale: 1;\n opacity: 1;\n }\n }\n @starting-style {\n &.tw\\:modal-open, &[open], &:target {\n visibility: hidden;\n opacity: 0%;\n }\n }\n }\n .tw\\:tooltip {\n position: relative;\n display: inline-block;\n --tt-bg: var(--color-neutral);\n --tt-off: calc(100% + 0.5rem);\n --tt-tail: calc(100% + 1px + 0.25rem);\n > :where(.tw\\:tooltip-content), &[data-tip]:before {\n position: absolute;\n max-width: 20rem;\n border-radius: var(--radius-field);\n padding-inline: calc(0.25rem * 2);\n padding-block: calc(0.25rem * 1);\n text-align: center;\n white-space: normal;\n color: var(--color-neutral-content);\n opacity: 0%;\n font-size: 0.875rem;\n line-height: 1.25em;\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;\n background-color: var(--tt-bg);\n width: max-content;\n pointer-events: none;\n z-index: 1;\n --tw-content: attr(data-tip);\n content: var(--tw-content);\n }\n &:after {\n position: absolute;\n position: absolute;\n opacity: 0%;\n background-color: var(--tt-bg);\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;\n content: \"\";\n pointer-events: none;\n width: 0.625rem;\n height: 0.25rem;\n display: block;\n mask-repeat: no-repeat;\n mask-position: -1px 0;\n --mask-tooltip: url(\"data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A\");\n mask-image: var(--mask-tooltip);\n }\n &.tw\\:tooltip-open, &[data-tip]:hover, &:hover, &:has(:focus-visible) {\n > .tw\\:tooltip-content, &[data-tip]:before, &:after {\n opacity: 100%;\n --tt-pos: 0rem;\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0s, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n }\n > .tw\\:tooltip-content, &[data-tip]:before {\n transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));\n inset: auto auto var(--tt-off) 50%;\n }\n &:after {\n transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));\n inset: auto auto var(--tt-tail) 50%;\n }\n }\n .tw\\:tab {\n position: relative;\n display: inline-flex;\n cursor: pointer;\n appearance: none;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n webkit-user-select: none;\n user-select: none;\n &:hover {\n @media (hover: hover) {\n color: var(--color-base-content);\n }\n }\n --tab-p: 1rem;\n --tab-bg: var(--color-base-100);\n --tab-border-color: var(--color-base-300);\n --tab-radius-ss: 0;\n --tab-radius-se: 0;\n --tab-radius-es: 0;\n --tab-radius-ee: 0;\n --tab-order: 0;\n --tab-radius-min: calc(0.75rem - var(--border));\n border-color: #0000;\n order: var(--tab-order);\n height: calc(var(--size-field, 0.25rem) * 10);\n font-size: 0.875rem;\n padding-inline-start: var(--tab-p);\n padding-inline-end: var(--tab-p);\n &:is(input[type=\"radio\"]) {\n min-width: fit-content;\n &:after {\n content: attr(aria-label);\n }\n }\n &:is(label) {\n position: relative;\n input {\n position: absolute;\n inset: calc(0.25rem * 0);\n cursor: pointer;\n appearance: none;\n opacity: 0%;\n }\n }\n &:checked, &:is(label:has(:checked)), &:is(.tw\\:tab-active, [aria-selected=\"true\"]) {\n & + .tw\\:tab-content {\n display: block;\n height: 100%;\n }\n }\n &:not(:checked, label:has(:checked), :hover, .tw\\:tab-active, [aria-selected=\"true\"]) {\n color: color-mix(in oklab, var(--color-base-content) 50%, transparent);\n }\n &:not(input):empty {\n flex-grow: 1;\n cursor: default;\n }\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n &:focus-visible, &:is(label:has(:checked:focus-visible)) {\n outline: 2px solid currentColor;\n outline-offset: -5px;\n }\n &[disabled] {\n pointer-events: none;\n opacity: 40%;\n }\n }\n .tw\\:menu {\n display: flex;\n width: fit-content;\n flex-direction: column;\n flex-wrap: wrap;\n padding: calc(0.25rem * 2);\n --menu-active-fg: var(--color-neutral-content);\n --menu-active-bg: var(--color-neutral);\n font-size: 0.875rem;\n :where(li ul) {\n position: relative;\n margin-inline-start: calc(0.25rem * 4);\n padding-inline-start: calc(0.25rem * 2);\n white-space: nowrap;\n &:before {\n position: absolute;\n inset-inline-start: calc(0.25rem * 0);\n top: calc(0.25rem * 3);\n bottom: calc(0.25rem * 3);\n background-color: var(--color-base-content);\n opacity: 10%;\n width: var(--border);\n content: \"\";\n }\n }\n :where(li > .tw\\:menu-dropdown:not(.tw\\:menu-dropdown-show)) {\n display: none;\n }\n :where(li:not(.tw\\:menu-title) > *:not(ul, details, .tw\\:menu-title, .tw\\:btn)), :where(li:not(.tw\\:menu-title) > details > summary:not(.tw\\:menu-title)) {\n display: grid;\n grid-auto-flow: column;\n align-content: flex-start;\n align-items: center;\n gap: calc(0.25rem * 2);\n border-radius: var(--radius-field);\n padding-inline: calc(0.25rem * 3);\n padding-block: calc(0.25rem * 1.5);\n text-align: start;\n transition-property: color, background-color, box-shadow;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n grid-auto-columns: minmax(auto, max-content) auto max-content;\n text-wrap: balance;\n user-select: none;\n }\n :where(li > details > summary) {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n &::-webkit-details-marker {\n display: none;\n }\n }\n :where(li > details > summary), :where(li > .tw\\:menu-dropdown-toggle) {\n &:after {\n justify-self: flex-end;\n display: block;\n height: 0.375rem;\n width: 0.375rem;\n rotate: -135deg;\n translate: 0 -1px;\n transition-property: rotate, translate;\n transition-duration: 0.2s;\n content: \"\";\n transform-origin: 50% 50%;\n box-shadow: 2px 2px inset;\n pointer-events: none;\n }\n }\n :where(li > details[open] > summary):after, :where(li > .tw\\:menu-dropdown-toggle.tw\\:menu-dropdown-show):after {\n rotate: 45deg;\n translate: 0 1px;\n }\n :where( li:not(.tw\\:menu-title, .tw\\:disabled) > *:not(ul, details, .tw\\:menu-title), li:not(.tw\\:menu-title, .tw\\:disabled) > details > summary:not(.tw\\:menu-title) ):not(.tw\\:menu-active, :active, .tw\\:btn) {\n &.tw\\:menu-focus, &:focus-visible {\n cursor: pointer;\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n color: var(--color-base-content);\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n :where( li:not(.tw\\:menu-title, .tw\\:disabled) > *:not(ul, details, .tw\\:menu-title):not(.tw\\:menu-active, :active, .tw\\:btn):hover, li:not(.tw\\:menu-title, .tw\\:disabled) > details > summary:not(.tw\\:menu-title):not(.tw\\:menu-active, :active, .tw\\:btn):hover ) {\n cursor: pointer;\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;\n }\n :where(li:empty) {\n background-color: var(--color-base-content);\n opacity: 10%;\n margin: 0.5rem 1rem;\n height: 1px;\n }\n :where(li) {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-direction: column;\n flex-wrap: wrap;\n align-items: stretch;\n .tw\\:badge {\n justify-self: flex-end;\n }\n & > *:not(ul, .tw\\:menu-title, details, .tw\\:btn):active, & > *:not(ul, .tw\\:menu-title, details, .tw\\:btn).tw\\:menu-active, & > details > summary:active {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n color: var(--menu-active-fg);\n background-color: var(--menu-active-bg);\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--fx-noise);\n &:not(&:active) {\n box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);\n }\n }\n &.tw\\:menu-disabled {\n pointer-events: none;\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n }\n .tw\\:dropdown:focus-within {\n .tw\\:menu-dropdown-toggle:after {\n rotate: 45deg;\n translate: 0 1px;\n }\n }\n .tw\\:dropdown-content {\n margin-top: calc(0.25rem * 2);\n padding: calc(0.25rem * 2);\n &:before {\n display: none;\n }\n }\n }\n .tw\\:dropdown {\n position: relative;\n display: inline-block;\n position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);\n & > *:not(summary):focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .tw\\:dropdown-content {\n position: absolute;\n }\n &:not(details, .tw\\:dropdown-open, .tw\\:dropdown-hover:hover, :focus-within) {\n .tw\\:dropdown-content {\n display: none;\n transform-origin: top;\n opacity: 0%;\n scale: 95%;\n }\n }\n &[popover], .tw\\:dropdown-content {\n z-index: 999;\n animation: dropdown 0.2s;\n transition-property: opacity, scale, display;\n transition-behavior: allow-discrete;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n @starting-style {\n &[popover], .tw\\:dropdown-content {\n scale: 95%;\n opacity: 0;\n }\n }\n &.tw\\:dropdown-open, &:not(.tw\\:dropdown-hover):focus, &:focus-within {\n > [tabindex]:first-child {\n pointer-events: none;\n }\n .tw\\:dropdown-content {\n opacity: 100%;\n }\n }\n &.tw\\:dropdown-hover:hover {\n .tw\\:dropdown-content {\n opacity: 100%;\n scale: 100%;\n }\n }\n &:is(details) {\n summary {\n &::-webkit-details-marker {\n display: none;\n }\n }\n }\n &.tw\\:dropdown-open, &:focus, &:focus-within {\n .tw\\:dropdown-content {\n scale: 100%;\n }\n }\n &:where([popover]) {\n background: #0000;\n }\n &[popover] {\n position: fixed;\n color: inherit;\n @supports not (position-area: bottom) {\n margin: auto;\n &.tw\\:dropdown-open:not(:popover-open) {\n display: none;\n transform-origin: top;\n opacity: 0%;\n scale: 95%;\n }\n &::backdrop {\n background-color: color-mix(in oklab, #000 30%, #0000);\n }\n }\n &:not(.tw\\:dropdown-open, :popover-open) {\n display: none;\n transform-origin: top;\n opacity: 0%;\n scale: 95%;\n }\n }\n }\n .tw\\:btn {\n display: inline-flex;\n flex-shrink: 0;\n cursor: pointer;\n flex-wrap: nowrap;\n align-items: center;\n justify-content: center;\n gap: calc(0.25rem * 1.5);\n text-align: center;\n vertical-align: middle;\n outline-offset: 2px;\n webkit-user-select: none;\n user-select: none;\n padding-inline: var(--btn-p);\n color: var(--btn-fg);\n --tw-prose-links: var(--btn-fg);\n height: var(--size);\n font-size: var(--fontsize, 0.875rem);\n font-weight: 600;\n outline-color: var(--btn-color, var(--color-base-content));\n transition-property: color, background-color, border-color, box-shadow;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.2s;\n border-start-start-radius: var(--join-ss, var(--radius-field));\n border-start-end-radius: var(--join-se, var(--radius-field));\n border-end-start-radius: var(--join-es, var(--radius-field));\n border-end-end-radius: var(--join-ee, var(--radius-field));\n background-color: var(--btn-bg);\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--btn-noise);\n border-width: var(--border);\n border-style: solid;\n border-color: var(--btn-border);\n text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));\n box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);\n --size: calc(var(--size-field, 0.25rem) * 10);\n --btn-bg: var(--btn-color, var(--color-base-200));\n --btn-fg: var(--color-base-content);\n --btn-p: 1rem;\n --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));\n --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),\n 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);\n --btn-noise: var(--fx-noise);\n .tw\\:prose & {\n text-decoration-line: none;\n }\n @media (hover: hover) {\n &:hover {\n --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);\n }\n }\n &:focus-visible {\n outline-width: 2px;\n outline-style: solid;\n }\n &:active:not(.tw\\:btn-active) {\n translate: 0 0.5px;\n --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);\n --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);\n --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);\n }\n &:is(:disabled, [disabled], .tw\\:btn-disabled) {\n &:not(.tw\\:btn-link, .tw\\:btn-ghost) {\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n box-shadow: none;\n }\n pointer-events: none;\n --btn-border: #0000;\n --btn-noise: none;\n --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);\n @media (hover: hover) {\n &:hover {\n pointer-events: none;\n background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);\n --btn-border: #0000;\n --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);\n }\n }\n }\n &:is(input[type=\"checkbox\"], input[type=\"radio\"]) {\n appearance: none;\n &::after {\n content: attr(aria-label);\n }\n }\n &:where(input:checked:not(.tw\\:filter .tw\\:btn)) {\n --btn-color: var(--color-primary);\n --btn-fg: var(--color-primary-content);\n isolation: isolate;\n }\n }\n .tw\\:loading {\n pointer-events: none;\n display: inline-block;\n aspect-ratio: 1 / 1;\n background-color: currentColor;\n vertical-align: middle;\n width: calc(var(--size-selector, 0.25rem) * 6);\n mask-size: 100%;\n mask-repeat: no-repeat;\n mask-position: center;\n mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E\");\n }\n .tw\\:pointer-events-auto {\n pointer-events: auto;\n }\n .tw\\:pointer-events-none {\n pointer-events: none;\n }\n .tw\\:tabs-lift {\n --tabs-height: auto;\n --tabs-direction: row;\n > .tw\\:tab {\n --tab-border: 0 0 var(--border) 0;\n --tab-radius-ss: min(var(--radius-field), var(--tab-radius-min));\n --tab-radius-se: min(var(--radius-field), var(--tab-radius-min));\n --tab-radius-es: 0;\n --tab-radius-ee: 0;\n --tab-paddings: var(--border) var(--tab-p) 0 var(--tab-p);\n --tab-border-colors: #0000 #0000 var(--tab-border-color) #0000;\n --tab-corner-width: calc(100% + min(var(--radius-field), var(--tab-radius-min)) * 2);\n --tab-corner-height: min(var(--radius-field), var(--tab-radius-min));\n --tab-corner-position: top left, top right;\n border-width: var(--tab-border);\n border-start-start-radius: var(--tab-radius-ss);\n border-start-end-radius: var(--tab-radius-se);\n border-end-start-radius: var(--tab-radius-es);\n border-end-end-radius: var(--tab-radius-ee);\n padding: var(--tab-paddings);\n border-color: var(--tab-border-colors);\n &:is(.tw\\:tab-active, [aria-selected=\"true\"]):not(.tw\\:tab-disabled, [disabled]), &:is(input:checked, label:has(:checked)) {\n --tab-border: var(--border) var(--border) 0 var(--border);\n --tab-border-colors: var(--tab-border-color) var(--tab-border-color) #0000\n var(--tab-border-color);\n --tab-paddings: 0 calc(var(--tab-p) - var(--border)) var(--border)\n calc(var(--tab-p) - var(--border));\n --tab-inset: auto auto 0 auto;\n --tab-grad: calc(69% - var(--border));\n --radius-start: radial-gradient(\n circle at top left,\n #0000 var(--tab-grad),\n var(--tab-border-color) calc(var(--tab-grad) + 0.25px),\n var(--tab-border-color) calc(var(--tab-grad) + var(--border)),\n var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)\n );\n --radius-end: radial-gradient(\n circle at top right,\n #0000 var(--tab-grad),\n var(--tab-border-color) calc(var(--tab-grad) + 0.25px),\n var(--tab-border-color) calc(var(--tab-grad) + var(--border)),\n var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)\n );\n background-color: var(--tab-bg);\n &:before {\n z-index: 1;\n content: \"\";\n display: block;\n position: absolute;\n width: var(--tab-corner-width);\n height: var(--tab-corner-height);\n background-position: var(--tab-corner-position);\n background-image: var(--radius-start), var(--radius-end);\n background-size: min(var(--radius-field), var(--tab-radius-min)) min(var(--radius-field), var(--tab-radius-min));\n background-repeat: no-repeat;\n inset: var(--tab-inset);\n }\n &:first-child:before {\n --radius-start: none;\n }\n [dir=\"rtl\"] &:first-child:before {\n transform: rotateY(180deg);\n }\n &:last-child:before {\n --radius-end: none;\n }\n [dir=\"rtl\"] &:last-child:before {\n transform: rotateY(180deg);\n }\n }\n }\n &:has(.tw\\:tab-content) {\n > .tw\\:tab:first-child {\n &:not(.tw\\:tab-active, [aria-selected=\"true\"]) {\n --tab-border-colors: var(--tab-border-color) var(--tab-border-color) #0000\n var(--tab-border-color);\n }\n }\n }\n .tw\\:tab-content {\n --tabcontent-margin: calc(-1 * var(--border)) 0 0 0;\n --tabcontent-radius-ss: 0;\n --tabcontent-radius-se: var(--radius-box);\n --tabcontent-radius-es: var(--radius-box);\n --tabcontent-radius-ee: var(--radius-box);\n }\n :checked, label:has(:checked), :is(.tw\\:tab-active, [aria-selected=\"true\"]) {\n & + .tw\\:tab-content {\n &:nth-child(1), &:nth-child(n + 3) {\n --tabcontent-radius-ss: var(--radius-box);\n }\n }\n }\n }\n .tw\\:input {\n cursor: text;\n border: var(--border) solid #0000;\n position: relative;\n display: inline-flex;\n flex-shrink: 1;\n appearance: none;\n align-items: center;\n gap: calc(0.25rem * 2);\n background-color: var(--color-base-100);\n padding-inline: calc(0.25rem * 3);\n vertical-align: middle;\n white-space: nowrap;\n width: clamp(3rem, 20rem, 100%);\n height: var(--size);\n font-size: 0.875rem;\n border-start-start-radius: var(--join-ss, var(--radius-field));\n border-start-end-radius: var(--join-se, var(--radius-field));\n border-end-start-radius: var(--join-es, var(--radius-field));\n border-end-end-radius: var(--join-ee, var(--radius-field));\n border-color: var(--input-color);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n --size: calc(var(--size-field, 0.25rem) * 10);\n --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);\n &:where(input) {\n display: inline-flex;\n }\n :where(input) {\n display: inline-flex;\n height: 100%;\n width: 100%;\n appearance: none;\n background-color: transparent;\n border: none;\n &:focus, &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n &:focus, &:focus-within {\n --input-color: var(--color-base-content);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);\n outline: 2px solid var(--input-color);\n outline-offset: 2px;\n isolation: isolate;\n }\n &:has(> input[disabled]), &:is(:disabled, [disabled]) {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n color: color-mix(in oklab, var(--color-base-content) 40%, transparent);\n &::placeholder {\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n box-shadow: none;\n }\n &:has(> input[disabled]) > input[disabled] {\n cursor: not-allowed;\n }\n &::-webkit-date-and-time-value {\n text-align: inherit;\n }\n &[type=\"number\"] {\n &::-webkit-inner-spin-button {\n margin-block: calc(0.25rem * -3);\n margin-inline-end: calc(0.25rem * -3);\n }\n }\n &::-webkit-calendar-picker-indicator {\n position: absolute;\n inset-inline-end: 0.75em;\n }\n }\n .tw\\:indicator {\n position: relative;\n display: inline-flex;\n width: max-content;\n :where(.tw\\:indicator-item) {\n z-index: 1;\n position: absolute;\n white-space: nowrap;\n top: var(--inidicator-t, 0);\n bottom: var(--inidicator-b, auto);\n left: var(--inidicator-s, auto);\n right: var(--inidicator-e, 0);\n translate: var(--inidicator-x, 50%) var(--indicator-y, -50%);\n }\n }\n .tw\\:table {\n font-size: 0.875rem;\n position: relative;\n width: 100%;\n border-radius: var(--radius-box);\n text-align: left;\n &:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: right;\n }\n tr.tw\\:row-hover {\n &, &:nth-child(even) {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-base-200);\n }\n }\n }\n }\n :where(th, td) {\n padding-inline: calc(0.25rem * 4);\n padding-block: calc(0.25rem * 3);\n vertical-align: middle;\n }\n :where(thead, tfoot) {\n white-space: nowrap;\n color: color-mix(in oklab, var(--color-base-content) 60%, transparent);\n font-size: 0.875rem;\n font-weight: 600;\n }\n :where(tfoot) {\n border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);\n }\n :where(.tw\\:table-pin-rows thead tr) {\n position: sticky;\n top: calc(0.25rem * 0);\n z-index: 1;\n background-color: var(--color-base-100);\n }\n :where(.tw\\:table-pin-rows tfoot tr) {\n position: sticky;\n bottom: calc(0.25rem * 0);\n z-index: 1;\n background-color: var(--color-base-100);\n }\n :where(.tw\\:table-pin-cols tr th) {\n position: sticky;\n right: calc(0.25rem * 0);\n left: calc(0.25rem * 0);\n background-color: var(--color-base-100);\n }\n :where(thead tr, tbody tr:not(:last-child)) {\n border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);\n }\n }\n .tw\\:card {\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--radius-box);\n outline-width: 2px;\n transition: outline 0.2s ease-in-out;\n outline: 0 solid #0000;\n outline-offset: 2px;\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n &:focus-visible {\n outline-color: currentColor;\n }\n :where(figure:first-child) {\n overflow: hidden;\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n border-end-start-radius: unset;\n border-end-end-radius: unset;\n }\n :where(figure:last-child) {\n overflow: hidden;\n border-start-start-radius: unset;\n border-start-end-radius: unset;\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n }\n &:where(.tw\\:card-border) {\n border: var(--border) solid var(--color-base-200);\n }\n &:where(.tw\\:card-dash) {\n border: var(--border) dashed var(--color-base-200);\n }\n &.tw\\:image-full {\n display: grid;\n &:before {\n position: relative;\n grid-column-start: 1;\n grid-row-start: 1;\n border-radius: var(--radius-box);\n background-color: var(--color-neutral);\n opacity: 75%;\n content: \"\";\n }\n > * {\n grid-column-start: 1;\n grid-row-start: 1;\n }\n > .tw\\:card-body {\n position: relative;\n color: var(--color-neutral-content);\n }\n :where(figure) {\n overflow: hidden;\n border-radius: inherit;\n }\n > figure img {\n height: 100%;\n object-fit: cover;\n }\n }\n figure {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n &:has(> input:is(input[type=\"checkbox\"], input[type=\"radio\"])) {\n cursor: pointer;\n user-select: none;\n }\n &:has(> :checked) {\n outline: 2px solid currentColor;\n }\n }\n .tw\\:select {\n border: var(--border) solid #0000;\n position: relative;\n display: inline-flex;\n flex-shrink: 1;\n appearance: none;\n align-items: center;\n gap: calc(0.25rem * 1.5);\n background-color: var(--color-base-100);\n padding-inline-start: calc(0.25rem * 4);\n padding-inline-end: calc(0.25rem * 7);\n vertical-align: middle;\n width: clamp(3rem, 20rem, 100%);\n height: var(--size);\n font-size: 0.875rem;\n border-start-start-radius: var(--join-ss, var(--radius-field));\n border-start-end-radius: var(--join-se, var(--radius-field));\n border-end-start-radius: var(--join-es, var(--radius-field));\n border-end-end-radius: var(--join-ee, var(--radius-field));\n background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);\n background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%);\n background-size: 4px 4px, 4px 4px;\n background-repeat: no-repeat;\n text-overflow: ellipsis;\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n border-color: var(--input-color);\n --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);\n --size: calc(var(--size-field, 0.25rem) * 10);\n [dir=\"rtl\"] & {\n background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%);\n }\n select {\n margin-inline-start: calc(0.25rem * -4);\n margin-inline-end: calc(0.25rem * -7);\n width: calc(100% + 2.75rem);\n appearance: none;\n padding-inline-start: calc(0.25rem * 4);\n padding-inline-end: calc(0.25rem * 7);\n height: calc(100% - 2px);\n background: inherit;\n border-radius: inherit;\n border-style: none;\n &:focus, &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n &:not(:last-child) {\n margin-inline-end: calc(0.25rem * -5.5);\n background-image: none;\n }\n }\n &:focus, &:focus-within {\n --input-color: var(--color-base-content);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);\n outline: 2px solid var(--input-color);\n outline-offset: 2px;\n }\n &:has(> select[disabled]), &:is(:disabled, [disabled]) {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n color: color-mix(in oklab, var(--color-base-content) 40%, transparent);\n &::placeholder {\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n }\n &:has(> select[disabled]) > select[disabled] {\n cursor: not-allowed;\n }\n }\n .tw\\:menu-horizontal {\n display: inline-flex;\n flex-direction: row;\n & > li:not(.tw\\:menu-title) > details > ul {\n position: absolute;\n margin-inline-start: calc(0.25rem * 0);\n margin-top: calc(0.25rem * 4);\n padding-block: calc(0.25rem * 2);\n padding-inline-end: calc(0.25rem * 2);\n }\n & > li > details > ul {\n &:before {\n content: none;\n }\n }\n :where(& > li:not(.tw\\:menu-title) > details > ul) {\n border-radius: var(--radius-box);\n background-color: var(--color-base-100);\n box-shadow: 0 1px 3px 0 oklch(0% 0 0/0.1), 0 1px 2px -1px oklch(0% 0 0/0.1);\n }\n }\n .tw\\:avatar {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n & > div {\n display: block;\n aspect-ratio: 1 / 1;\n overflow: hidden;\n }\n img {\n height: 100%;\n width: 100%;\n object-fit: cover;\n }\n }\n .tw\\:checkbox {\n border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));\n position: relative;\n flex-shrink: 0;\n cursor: pointer;\n appearance: none;\n border-radius: var(--radius-selector);\n padding: calc(0.25rem * 1);\n vertical-align: middle;\n color: var(--color-base-content);\n box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;\n transition: background-color 0.2s, box-shadow 0.2s;\n --size: calc(var(--size-selector, 0.25rem) * 6);\n width: var(--size);\n height: var(--size);\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--fx-noise);\n &:before {\n --tw-content: \"\";\n content: var(--tw-content);\n display: block;\n width: 100%;\n height: 100%;\n rotate: 45deg;\n background-color: currentColor;\n opacity: 0%;\n transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;\n transition-delay: 0.1s;\n clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);\n box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n font-size: 1rem;\n line-height: 0.75;\n }\n &:focus-visible {\n outline: 2px solid var(--input-color, currentColor);\n outline-offset: 2px;\n }\n &:checked, &[aria-checked=\"true\"] {\n background-color: var(--input-color, #0000);\n box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));\n &:before {\n clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);\n opacity: 100%;\n }\n @media (forced-colors: active) {\n &:before {\n rotate: 0deg;\n background-color: transparent;\n --tw-content: \"✔︎\";\n clip-path: none;\n }\n }\n @media print {\n &:before {\n rotate: 0deg;\n background-color: transparent;\n --tw-content: \"✔︎\";\n clip-path: none;\n }\n }\n }\n &:indeterminate {\n &:before {\n rotate: 0deg;\n opacity: 100%;\n translate: 0 -35%;\n clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);\n }\n }\n &:disabled {\n cursor: not-allowed;\n opacity: 20%;\n }\n }\n .tw\\:stats {\n position: relative;\n display: inline-grid;\n grid-auto-flow: column;\n overflow-x: auto;\n border-radius: var(--radius-box);\n }\n .tw\\:absolute {\n position: absolute;\n }\n .tw\\:fixed {\n position: fixed;\n }\n .tw\\:relative {\n position: relative;\n }\n .tw\\:tooltip-left {\n > .tw\\:tooltip-content, &[data-tip]:before {\n transform: translateX(calc(var(--tt-pos, 0.25rem) - 0.25rem)) translateY(-50%);\n inset: 50% var(--tt-off) auto auto;\n }\n &:after {\n transform: translateX(var(--tt-pos, 0.25rem)) translateY(-50%) rotate(-90deg);\n inset: 50% calc(var(--tt-tail) + 1px) auto auto;\n }\n }\n .tw\\:inset-y-0 {\n inset-block: calc(var(--tw-spacing) * 0);\n }\n .tw\\:dropdown-end {\n --anchor-h: span-left;\n :where(.tw\\:dropdown-content) {\n inset-inline-end: calc(0.25rem * 0);\n translate: 0 0;\n }\n &.tw\\:dropdown-left {\n --anchor-h: left;\n --anchor-v: span-top;\n .tw\\:dropdown-content {\n top: auto;\n bottom: calc(0.25rem * 0);\n }\n }\n &.tw\\:dropdown-right {\n --anchor-h: right;\n --anchor-v: span-top;\n .tw\\:dropdown-content {\n top: auto;\n bottom: calc(0.25rem * 0);\n }\n }\n }\n .tw\\:dropdown-bottom {\n --anchor-v: bottom;\n .tw\\:dropdown-content {\n top: 100%;\n bottom: auto;\n transform-origin: top;\n }\n }\n .tw\\:dropdown-top {\n --anchor-v: top;\n .tw\\:dropdown-content {\n top: auto;\n bottom: 100%;\n transform-origin: bottom;\n }\n }\n .tw\\:-top-2 {\n top: calc(var(--tw-spacing) * -2);\n }\n .tw\\:top-0 {\n top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:top-1 {\n top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:top-2 {\n top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:top-4 {\n top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:top-14 {\n top: calc(var(--tw-spacing) * 14);\n }\n .tw\\:-right-2 {\n right: calc(var(--tw-spacing) * -2);\n }\n .tw\\:right-0 {\n right: calc(var(--tw-spacing) * 0);\n }\n .tw\\:right-1 {\n right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:right-2 {\n right: calc(var(--tw-spacing) * 2);\n }\n .tw\\:right-4 {\n right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:right-5 {\n right: calc(var(--tw-spacing) * 5);\n }\n .tw\\:right-6 {\n right: calc(var(--tw-spacing) * 6);\n }\n .tw\\:bottom-0 {\n bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:bottom-4 {\n bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:bottom-24\\! {\n bottom: calc(var(--tw-spacing) * 24) !important;\n }\n .tw\\:-left-6 {\n left: calc(var(--tw-spacing) * -6);\n }\n .tw\\:left-0 {\n left: calc(var(--tw-spacing) * 0);\n }\n .tw\\:left-0\\! {\n left: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .tw\\:left-4 {\n left: calc(var(--tw-spacing) * 4);\n }\n .tw\\:left-auto\\! {\n left: auto !important;\n }\n .tw\\:file-input {\n cursor: pointer;\n cursor: pointer;\n border: var(--border) solid #0000;\n display: inline-flex;\n appearance: none;\n align-items: center;\n background-color: var(--color-base-100);\n vertical-align: middle;\n webkit-user-select: none;\n user-select: none;\n width: clamp(3rem, 20rem, 100%);\n height: var(--size);\n padding-inline-end: 0.75rem;\n font-size: 0.875rem;\n line-height: 2;\n border-start-start-radius: var(--join-ss, var(--radius-field));\n border-start-end-radius: var(--join-se, var(--radius-field));\n border-end-start-radius: var(--join-es, var(--radius-field));\n border-end-end-radius: var(--join-ee, var(--radius-field));\n border-color: var(--input-color);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n --size: calc(var(--size-field, 0.25rem) * 10);\n --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);\n &::file-selector-button {\n margin-inline-end: calc(0.25rem * 4);\n cursor: pointer;\n padding-inline: calc(0.25rem * 4);\n webkit-user-select: none;\n user-select: none;\n height: calc(100% + var(--border) * 2);\n margin-block: calc(var(--border) * -1);\n margin-inline-start: calc(var(--border) * -1);\n font-size: 0.875rem;\n color: var(--btn-fg);\n border-width: var(--border);\n border-style: solid;\n border-color: var(--btn-border);\n border-start-start-radius: calc(var(--join-ss, var(--radius-field) - var(--border)));\n border-end-start-radius: calc(var(--join-es, var(--radius-field) - var(--border)));\n font-weight: 600;\n background-color: var(--btn-bg);\n background-size: calc(var(--noise) * 100%);\n background-image: var(--btn-noise);\n text-shadow: 0 0.5px oklch(1 0 0 / calc(var(--depth) * 0.15));\n box-shadow: 0 0.5px 0 0.5px color-mix( in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000 ) inset, var(--btn-shadow);\n --size: calc(var(--size-field, 0.25rem) * 10);\n --btn-bg: var(--btn-color, var(--color-base-200));\n --btn-fg: var(--color-base-content);\n --btn-border: color-mix(in oklab, var(--btn-bg), #000 5%);\n --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000),\n 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000);\n --btn-noise: var(--fx-noise);\n }\n &:focus {\n --input-color: var(--color-base-content);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) 10%, #0000);\n outline: 2px solid var(--input-color);\n outline-offset: 2px;\n isolation: isolate;\n }\n &:has(> input[disabled]), &:is(:disabled, [disabled]) {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n &::placeholder {\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n box-shadow: none;\n color: color-mix(in oklch, var(--color-base-content) 20%, #0000);\n &::file-selector-button {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n --btn-border: #0000;\n --btn-noise: none;\n --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);\n }\n }\n }\n .tw\\:textarea {\n border: var(--border) solid #0000;\n min-height: calc(0.25rem * 20);\n flex-shrink: 1;\n appearance: none;\n border-radius: var(--radius-field);\n background-color: var(--color-base-100);\n padding-block: calc(0.25rem * 2);\n vertical-align: middle;\n width: clamp(3rem, 20rem, 100%);\n padding-inline-start: 0.75rem;\n padding-inline-end: 0.75rem;\n font-size: 0.875rem;\n border-color: var(--input-color);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);\n textarea {\n appearance: none;\n background-color: transparent;\n border: none;\n &:focus, &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n &:focus, &:focus-within {\n --input-color: var(--color-base-content);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);\n outline: 2px solid var(--input-color);\n outline-offset: 2px;\n isolation: isolate;\n }\n &:has(> textarea[disabled]), &:is(:disabled, [disabled]) {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n color: color-mix(in oklab, var(--color-base-content) 40%, transparent);\n &::placeholder {\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n box-shadow: none;\n }\n &:has(> textarea[disabled]) > textarea[disabled] {\n cursor: not-allowed;\n }\n }\n .tw\\:modal-backdrop {\n grid-column-start: 1;\n grid-row-start: 1;\n display: grid;\n align-self: stretch;\n justify-self: stretch;\n color: transparent;\n z-index: -1;\n button {\n cursor: pointer;\n }\n }\n .tw\\:z-1 {\n z-index: 1;\n }\n .tw\\:z-500 {\n z-index: var(--tw-z-index-500);\n }\n .tw\\:z-999 {\n z-index: 999;\n }\n .tw\\:z-1000 {\n z-index: var(--tw-z-index-1000);\n }\n .tw\\:z-2000 {\n z-index: var(--tw-z-index-2000);\n }\n .tw\\:z-3000 {\n z-index: var(--tw-z-index-3000);\n }\n .tw\\:z-4000 {\n z-index: 4000;\n }\n .tw\\:z-9998 {\n z-index: 9998;\n }\n .tw\\:z-10000 {\n z-index: 10000;\n }\n .tw\\:z-10000\\! {\n z-index: 10000 !important;\n }\n .tw\\:z-10035 {\n z-index: 10035;\n }\n .tw\\:tab-content {\n order: var(--tabcontent-order);\n display: none;\n border-color: transparent;\n --tabcontent-radius-ss: 0;\n --tabcontent-radius-se: 0;\n --tabcontent-radius-es: 0;\n --tabcontent-radius-ee: 0;\n --tabcontent-order: 1;\n width: 100%;\n margin: var(--tabcontent-margin);\n border-width: var(--border);\n border-start-start-radius: var(--tabcontent-radius-ss);\n border-start-end-radius: var(--tabcontent-radius-se);\n border-end-start-radius: var(--tabcontent-radius-es);\n border-end-end-radius: var(--tabcontent-radius-ee);\n }\n .tw\\:col-span-1 {\n grid-column: span 1 / span 1;\n }\n .tw\\:modal-box {\n grid-column-start: 1;\n grid-row-start: 1;\n max-height: 100vh;\n width: calc(11/12 * 100%);\n max-width: 32rem;\n background-color: var(--color-base-100);\n padding: calc(0.25rem * 6);\n transition: translate 0.3s ease-out, scale 0.3s ease-out, opacity 0.2s ease-out 0.05s, box-shadow 0.3s ease-out;\n border-top-left-radius: var(--modal-tl, var(--radius-box));\n border-top-right-radius: var(--modal-tr, var(--radius-box));\n border-bottom-left-radius: var(--modal-bl, var(--radius-box));\n border-bottom-right-radius: var(--modal-br, var(--radius-box));\n scale: 95%;\n opacity: 0;\n box-shadow: oklch(0% 0 0/ 0.25) 0px 25px 50px -12px;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n .tw\\:stat-value {\n grid-column-start: 1;\n white-space: nowrap;\n font-size: 2rem;\n font-weight: 800;\n }\n .tw\\:stat-title {\n grid-column-start: 1;\n white-space: nowrap;\n color: color-mix(in oklab, var(--color-base-content) 60%, transparent);\n font-size: 0.75rem;\n }\n .tw\\:float-left {\n float: left;\n }\n .tw\\:float-right {\n float: right;\n }\n .tw\\:divider {\n display: flex;\n height: calc(0.25rem * 4);\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n white-space: nowrap;\n margin: var(--divider-m, 1rem 0);\n &:before, &:after {\n content: \"\";\n height: calc(0.25rem * 0.5);\n width: 100%;\n flex-grow: 1;\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n }\n @media print {\n &:before, &:after {\n border: 0.5px solid;\n }\n }\n &:not(:empty) {\n gap: calc(0.25rem * 4);\n }\n }\n .tw\\:m-1 {\n margin: calc(var(--tw-spacing) * 1);\n }\n .tw\\:m-4 {\n margin: calc(var(--tw-spacing) * 4);\n }\n .tw\\:m-4\\! {\n margin: calc(var(--tw-spacing) * 4) !important;\n }\n .tw\\:m-auto {\n margin: auto;\n }\n .tw\\:mx-0\\.5 {\n margin-inline: calc(var(--tw-spacing) * 0.5);\n }\n .tw\\:mx-1 {\n margin-inline: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mx-2 {\n margin-inline: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mx-4 {\n margin-inline: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mx-6 {\n margin-inline: calc(var(--tw-spacing) * 6);\n }\n .tw\\:input-md {\n --size: calc(var(--size-field, 0.25rem) * 10);\n font-size: 0.875rem;\n &[type=\"number\"] {\n &::-webkit-inner-spin-button {\n margin-block: calc(0.25rem * -3);\n margin-inline-end: calc(0.25rem * -3);\n }\n }\n }\n .tw\\:input-sm {\n --size: calc(var(--size-field, 0.25rem) * 8);\n font-size: 0.75rem;\n &[type=\"number\"] {\n &::-webkit-inner-spin-button {\n margin-block: calc(0.25rem * -2);\n margin-inline-end: calc(0.25rem * -3);\n }\n }\n }\n .tw\\:my-0\\! {\n margin-block: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:my-1 {\n margin-block: calc(var(--tw-spacing) * 1);\n }\n .tw\\:my-2 {\n margin-block: calc(var(--tw-spacing) * 2);\n }\n .tw\\:my-10 {\n margin-block: calc(var(--tw-spacing) * 10);\n }\n .tw\\:label {\n display: inline-flex;\n align-items: center;\n gap: calc(0.25rem * 1.5);\n white-space: nowrap;\n color: color-mix(in oklab, currentColor 60%, transparent);\n &:has(input) {\n cursor: pointer;\n }\n &:is(.tw\\:input > *, .tw\\:select > *) {\n display: flex;\n height: calc(100% - 0.5rem);\n align-items: center;\n padding-inline: calc(0.25rem * 3);\n white-space: nowrap;\n font-size: inherit;\n &:first-child {\n margin-inline-start: calc(0.25rem * -3);\n margin-inline-end: calc(0.25rem * 3);\n border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);\n }\n &:last-child {\n margin-inline-start: calc(0.25rem * 3);\n margin-inline-end: calc(0.25rem * -3);\n border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);\n }\n }\n }\n .tw\\:-mt-2 {\n margin-top: calc(var(--tw-spacing) * -2);\n }\n .tw\\:mt-0 {\n margin-top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:mt-1 {\n margin-top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mt-1\\.5 {\n margin-top: calc(var(--tw-spacing) * 1.5);\n }\n .tw\\:mt-2 {\n margin-top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mt-3 {\n margin-top: calc(var(--tw-spacing) * 3);\n }\n .tw\\:mt-4 {\n margin-top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mt-5 {\n margin-top: calc(var(--tw-spacing) * 5);\n }\n .tw\\:mt-5\\.5 {\n margin-top: calc(var(--tw-spacing) * 5.5);\n }\n .tw\\:mt-6 {\n margin-top: calc(var(--tw-spacing) * 6);\n }\n .tw\\:mt-8 {\n margin-top: calc(var(--tw-spacing) * 8);\n }\n .tw\\:mt-12 {\n margin-top: calc(var(--tw-spacing) * 12);\n }\n .tw\\:mt-16 {\n margin-top: calc(var(--tw-spacing) * 16);\n }\n .tw\\:-mr-4 {\n margin-right: calc(var(--tw-spacing) * -4);\n }\n .tw\\:-mr-6 {\n margin-right: calc(var(--tw-spacing) * -6);\n }\n .tw\\:mr-1 {\n margin-right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mr-2 {\n margin-right: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mr-4 {\n margin-right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mr-5 {\n margin-right: calc(var(--tw-spacing) * 5);\n }\n .tw\\:-mb-1 {\n margin-bottom: calc(var(--tw-spacing) * -1);\n }\n .tw\\:-mb-2 {\n margin-bottom: calc(var(--tw-spacing) * -2);\n }\n .tw\\:-mb-4 {\n margin-bottom: calc(var(--tw-spacing) * -4);\n }\n .tw\\:mb-0 {\n margin-bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:mb-1 {\n margin-bottom: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mb-2 {\n margin-bottom: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mb-3 {\n margin-bottom: calc(var(--tw-spacing) * 3);\n }\n .tw\\:mb-4 {\n margin-bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mb-6 {\n margin-bottom: calc(var(--tw-spacing) * 6);\n }\n .tw\\:mb-10 {\n margin-bottom: calc(var(--tw-spacing) * 10);\n }\n .tw\\:ml-1 {\n margin-left: calc(var(--tw-spacing) * 1);\n }\n .tw\\:ml-2 {\n margin-left: calc(var(--tw-spacing) * 2);\n }\n .tw\\:ml-3 {\n margin-left: calc(var(--tw-spacing) * 3);\n }\n .tw\\:ml-4 {\n margin-left: calc(var(--tw-spacing) * 4);\n }\n .tw\\:ml-14 {\n margin-left: calc(var(--tw-spacing) * 14);\n }\n .tw\\:ml-48 {\n margin-left: calc(var(--tw-spacing) * 48);\n }\n .tw\\:badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: calc(0.25rem * 2);\n border-radius: var(--radius-selector);\n vertical-align: middle;\n color: var(--badge-fg);\n border: var(--border) solid var(--badge-color, var(--color-base-200));\n font-size: 0.875rem;\n width: fit-content;\n padding-inline: calc(0.25rem * 3 - var(--border));\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--fx-noise);\n background-color: var(--badge-bg);\n --badge-bg: var(--badge-color, var(--color-base-100));\n --badge-fg: var(--color-base-content);\n --size: calc(var(--size-selector, 0.25rem) * 6);\n height: var(--size);\n &.tw\\:badge-outline {\n --badge-fg: var(--badge-color);\n --badge-bg: #0000;\n background-image: none;\n }\n &.tw\\:badge-dash {\n --badge-fg: var(--badge-color);\n --badge-bg: #0000;\n border-style: dashed;\n background-image: none;\n }\n &.tw\\:badge-soft {\n color: var(--badge-color, var(--color-base-content));\n background-color: color-mix( in oklab, var(--badge-color, var(--color-base-content)) 8%, var(--color-base-100) );\n border-color: color-mix( in oklab, var(--badge-color, var(--color-base-content)) 10%, var(--color-base-100) );\n background-image: none;\n }\n }\n .tw\\:tabs {\n display: flex;\n flex-wrap: wrap;\n --tabs-height: auto;\n --tabs-direction: row;\n height: var(--tabs-height);\n flex-direction: var(--tabs-direction);\n }\n .tw\\:navbar {\n display: flex;\n width: 100%;\n align-items: center;\n padding: 0.5rem;\n min-height: 4rem;\n }\n .tw\\:stat {\n display: inline-grid;\n width: 100%;\n column-gap: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 6);\n padding-block: calc(0.25rem * 4);\n grid-template-columns: repeat(1, 1fr);\n &:not(:last-child) {\n border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);\n border-block-end: none;\n }\n }\n .tw\\:card-body {\n display: flex;\n flex: auto;\n flex-direction: column;\n gap: calc(0.25rem * 2);\n padding: var(--card-p, 1.5rem);\n font-size: var(--card-fs, 0.875rem);\n :where(p) {\n flex-grow: 1;\n }\n }\n .tw\\:alert {\n display: grid;\n align-items: center;\n gap: calc(0.25rem * 4);\n border-radius: var(--radius-box);\n padding-inline: calc(0.25rem * 4);\n padding-block: calc(0.25rem * 3);\n color: var(--color-base-content);\n background-color: var(--alert-color, var(--color-base-200));\n justify-content: start;\n justify-items: start;\n grid-auto-flow: column;\n grid-template-columns: auto minmax(auto, 1fr);\n text-align: start;\n border: var(--border) solid var(--color-base-200);\n font-size: 0.875rem;\n line-height: 1.25rem;\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--fx-noise);\n box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px color-mix( in oklab, color-mix(in oklab, #000 20%, var(--alert-color, var(--color-base-200))) calc(var(--depth) * 20%), #0000 ), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));\n &.tw\\:alert-outline {\n background-color: transparent;\n color: var(--alert-color);\n box-shadow: none;\n background-image: none;\n }\n &.tw\\:alert-dash {\n background-color: transparent;\n color: var(--alert-color);\n border-style: dashed;\n box-shadow: none;\n background-image: none;\n }\n &.tw\\:alert-soft {\n color: var(--alert-color, var(--color-base-content));\n background: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 8%, var(--color-base-100) );\n border-color: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 10%, var(--color-base-100) );\n box-shadow: none;\n background-image: none;\n }\n }\n .tw\\:card-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: calc(0.25rem * 2);\n }\n .tw\\:card-title {\n display: flex;\n align-items: center;\n gap: calc(0.25rem * 2);\n font-size: var(--cardtitle-fs, 1.125rem);\n font-weight: 600;\n }\n .tw\\:mask {\n display: inline-block;\n vertical-align: middle;\n mask-size: contain;\n mask-repeat: no-repeat;\n mask-position: center;\n }\n .tw\\:block {\n display: block;\n }\n .tw\\:flex {\n display: flex;\n }\n .tw\\:grid {\n display: grid;\n }\n .tw\\:hidden {\n display: none;\n }\n .tw\\:inline {\n display: inline;\n }\n .tw\\:inline-block {\n display: inline-block;\n }\n .tw\\:inline-flex {\n display: inline-flex;\n }\n .tw\\:table {\n display: table;\n }\n .tw\\:btn-circle {\n border-radius: calc(infinity * 1px);\n padding-inline: calc(0.25rem * 0);\n width: var(--size);\n height: var(--size);\n }\n .tw\\:btn-square {\n padding-inline: calc(0.25rem * 0);\n width: var(--size);\n height: var(--size);\n }\n .tw\\:\\!h-\\[calc\\(100dvh-280px\\)\\] {\n height: calc(100dvh - 280px) !important;\n }\n .tw\\:h-2 {\n height: calc(var(--tw-spacing) * 2);\n }\n .tw\\:h-3 {\n height: calc(var(--tw-spacing) * 3);\n }\n .tw\\:h-3\\/4 {\n height: calc(3/4 * 100%);\n }\n .tw\\:h-4 {\n height: calc(var(--tw-spacing) * 4);\n }\n .tw\\:h-5 {\n height: calc(var(--tw-spacing) * 5);\n }\n .tw\\:h-6 {\n height: calc(var(--tw-spacing) * 6);\n }\n .tw\\:h-8 {\n height: calc(var(--tw-spacing) * 8);\n }\n .tw\\:h-10 {\n height: calc(var(--tw-spacing) * 10);\n }\n .tw\\:h-12 {\n height: calc(var(--tw-spacing) * 12);\n }\n .tw\\:h-20 {\n height: calc(var(--tw-spacing) * 20);\n }\n .tw\\:h-24 {\n height: calc(var(--tw-spacing) * 24);\n }\n .tw\\:h-28 {\n height: calc(var(--tw-spacing) * 28);\n }\n .tw\\:h-32 {\n height: calc(var(--tw-spacing) * 32);\n }\n .tw\\:h-36 {\n height: calc(var(--tw-spacing) * 36);\n }\n .tw\\:h-40 {\n height: calc(var(--tw-spacing) * 40);\n }\n .tw\\:h-48 {\n height: calc(var(--tw-spacing) * 48);\n }\n .tw\\:h-64 {\n height: calc(var(--tw-spacing) * 64);\n }\n .tw\\:h-\\[2em\\] {\n height: 2em;\n }\n .tw\\:h-\\[calc\\(50\\%-0\\.75em\\)\\] {\n height: calc(50% - 0.75em);\n }\n .tw\\:h-\\[calc\\(50\\%-1\\.5em\\)\\] {\n height: calc(50% - 1.5em);\n }\n .tw\\:h-\\[calc\\(100\\%-1rem\\)\\] {\n height: calc(100% - 1rem);\n }\n .tw\\:h-\\[calc\\(100dvh-22px\\)\\] {\n height: calc(100dvh - 22px);\n }\n .tw\\:h-\\[calc\\(100dvh-64px\\)\\] {\n height: calc(100dvh - 64px);\n }\n .tw\\:h-\\[calc\\(100dvh-268px\\)\\] {\n height: calc(100dvh - 268px);\n }\n .tw\\:h-fit {\n height: fit-content;\n }\n .tw\\:h-full {\n height: 100%;\n }\n .tw\\:max-h-64 {\n max-height: calc(var(--tw-spacing) * 64);\n }\n .tw\\:max-h-124 {\n max-height: calc(var(--tw-spacing) * 124);\n }\n .tw\\:max-h-136 {\n max-height: calc(var(--tw-spacing) * 136);\n }\n .tw\\:max-h-\\[1000px\\] {\n max-height: 1000px;\n }\n .tw\\:max-h-\\[calc\\(100dvh-96px\\)\\] {\n max-height: calc(100dvh - 96px);\n }\n .tw\\:max-h-\\[calc\\(100dvh-152px\\)\\] {\n max-height: calc(100dvh - 152px);\n }\n .tw\\:max-h-full {\n max-height: 100%;\n }\n .tw\\:min-h-0 {\n min-height: calc(var(--tw-spacing) * 0);\n }\n .tw\\:min-h-36 {\n min-height: calc(var(--tw-spacing) * 36);\n }\n .tw\\:min-h-42 {\n min-height: calc(var(--tw-spacing) * 42);\n }\n .tw\\:min-h-56 {\n min-height: var(--tw-min-height-56);\n }\n .tw\\:min-h-80 {\n min-height: var(--tw-min-height-80);\n }\n .tw\\:min-h-\\[5em\\] {\n min-height: 5em;\n }\n .tw\\:min-h-\\[21px\\] {\n min-height: 21px;\n }\n .tw\\:btn-block {\n width: 100%;\n }\n .tw\\:loading-lg {\n width: calc(var(--size-selector, 0.25rem) * 7);\n }\n .tw\\:loading-md {\n width: calc(var(--size-selector, 0.25rem) * 6);\n }\n .tw\\:loading-sm {\n width: calc(var(--size-selector, 0.25rem) * 5);\n }\n .tw\\:loading-xl {\n width: calc(var(--size-selector, 0.25rem) * 8);\n }\n .tw\\:w-1 {\n width: calc(var(--tw-spacing) * 1);\n }\n .tw\\:w-2 {\n width: calc(var(--tw-spacing) * 2);\n }\n .tw\\:w-4 {\n width: calc(var(--tw-spacing) * 4);\n }\n .tw\\:w-5 {\n width: calc(var(--tw-spacing) * 5);\n }\n .tw\\:w-6 {\n width: calc(var(--tw-spacing) * 6);\n }\n .tw\\:w-8 {\n width: calc(var(--tw-spacing) * 8);\n }\n .tw\\:w-10 {\n width: calc(var(--tw-spacing) * 10);\n }\n .tw\\:w-12 {\n width: calc(var(--tw-spacing) * 12);\n }\n .tw\\:w-14 {\n width: calc(var(--tw-spacing) * 14);\n }\n .tw\\:w-20 {\n width: calc(var(--tw-spacing) * 20);\n }\n .tw\\:w-28 {\n width: calc(var(--tw-spacing) * 28);\n }\n .tw\\:w-36 {\n width: calc(var(--tw-spacing) * 36);\n }\n .tw\\:w-48 {\n width: calc(var(--tw-spacing) * 48);\n }\n .tw\\:w-52 {\n width: var(--tw-container-52);\n }\n .tw\\:w-80 {\n width: calc(var(--tw-spacing) * 80);\n }\n .tw\\:w-83 {\n width: calc(var(--tw-spacing) * 83);\n }\n .tw\\:w-96 {\n width: calc(var(--tw-spacing) * 96);\n }\n .tw\\:w-\\[1px\\] {\n width: 1px;\n }\n .tw\\:w-\\[calc\\(100\\%-32px\\)\\] {\n width: calc(100% - 32px);\n }\n .tw\\:w-\\[calc\\(100vw-2rem\\)\\] {\n width: calc(100vw - 2rem);\n }\n .tw\\:w-fit {\n width: fit-content;\n }\n .tw\\:w-full {\n width: 100%;\n }\n .tw\\:w-xl {\n width: var(--tw-container-xl);\n }\n .tw\\:max-w-3xl {\n max-width: var(--tw-container-3xl);\n }\n .tw\\:max-w-69 {\n max-width: calc(var(--tw-spacing) * 69);\n }\n .tw\\:max-w-\\[17rem\\] {\n max-width: 17rem;\n }\n .tw\\:max-w-\\[22rem\\] {\n max-width: 22rem;\n }\n .tw\\:max-w-\\[calc\\(100\\%-60px\\)\\] {\n max-width: calc(100% - 60px);\n }\n .tw\\:max-w-full {\n max-width: 100%;\n }\n .tw\\:max-w-xl {\n max-width: var(--tw-container-xl);\n }\n .tw\\:max-w-xs {\n max-width: var(--tw-container-xs);\n }\n .tw\\:min-w-0 {\n min-width: calc(var(--tw-spacing) * 0);\n }\n .tw\\:min-w-80 {\n min-width: var(--tw-min-width-80);\n }\n .tw\\:min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .tw\\:min-w-\\[10\\.4em\\] {\n min-width: 10.4em;\n }\n .tw\\:min-w-fit {\n min-width: fit-content;\n }\n .tw\\:flex-1 {\n flex: 1;\n }\n .tw\\:flex-none {\n flex: none;\n }\n .tw\\:shrink {\n flex-shrink: 1;\n }\n .tw\\:flex-grow {\n flex-grow: 1;\n }\n .tw\\:grow {\n flex-grow: 1;\n }\n .tw\\:basis-1\\/5 {\n flex-basis: calc(1/5 * 100%);\n }\n .tw\\:basis-2\\/5 {\n flex-basis: calc(2/5 * 100%);\n }\n .tw\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:-translate-x-full {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:translate-x-0 {\n --tw-translate-x: calc(var(--tw-spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:translate-x-1\\/3 {\n --tw-translate-x: calc(1/3 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:-translate-y-1\\/3 {\n --tw-translate-y: calc(calc(1/3 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:rotate-180 {\n rotate: 180deg;\n }\n .tw\\:transform {\n transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);\n }\n .tw\\:animate-none {\n animation: none;\n }\n .tw\\:cursor-pointer {\n cursor: pointer;\n }\n .tw\\:cursor-text {\n cursor: text;\n }\n .tw\\:resize-none {\n resize: none;\n }\n .tw\\:list-none {\n list-style-type: none;\n }\n .tw\\:columns-1 {\n columns: 1;\n }\n .tw\\:break-inside-avoid {\n break-inside: avoid;\n }\n .tw\\:stats-horizontal {\n grid-auto-flow: column;\n overflow-x: auto;\n .tw\\:stat:not(:last-child) {\n border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);\n border-block-end: none;\n }\n }\n .tw\\:grid-flow-col {\n grid-auto-flow: column;\n }\n .tw\\:grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .tw\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .tw\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .tw\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n .tw\\:flex-col {\n flex-direction: column;\n }\n .tw\\:flex-row {\n flex-direction: row;\n }\n .tw\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .tw\\:flex-wrap {\n flex-wrap: wrap;\n }\n .tw\\:place-content-center {\n place-content: center;\n }\n .tw\\:place-content-end {\n place-content: end;\n }\n .tw\\:place-items-center {\n place-items: center;\n }\n .tw\\:place-items-end {\n place-items: end;\n }\n .tw\\:items-center {\n align-items: center;\n }\n .tw\\:justify-between {\n justify-content: space-between;\n }\n .tw\\:justify-center {\n justify-content: center;\n }\n .tw\\:justify-end {\n justify-content: flex-end;\n }\n .tw\\:justify-normal {\n justify-content: normal;\n }\n .tw\\:justify-start {\n justify-content: flex-start;\n }\n .tw\\:gap-2 {\n gap: calc(var(--tw-spacing) * 2);\n }\n .tw\\:gap-6 {\n gap: calc(var(--tw-spacing) * 6);\n }\n .tw\\:space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .tw\\:space-x-3 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 3) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .tw\\:place-self-center {\n place-self: center;\n }\n .tw\\:place-self-end {\n place-self: end;\n }\n .tw\\:self-center {\n align-self: center;\n }\n .tw\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .tw\\:overflow-auto {\n overflow: auto;\n }\n .tw\\:overflow-hidden {\n overflow: hidden;\n }\n .tw\\:overflow-scroll {\n overflow: scroll;\n }\n .tw\\:overflow-x-auto {\n overflow-x: auto;\n }\n .tw\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .tw\\:overflow-y-auto {\n overflow-y: auto;\n }\n .tw\\:rounded {\n border-radius: 0.25rem;\n }\n .tw\\:rounded-2xl {\n border-radius: var(--tw-radius-2xl);\n }\n .tw\\:rounded-box {\n border-radius: var(--radius-box);\n }\n .tw\\:rounded-box {\n border-radius: var(--radius-box);\n }\n .tw\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .tw\\:rounded-md {\n border-radius: var(--tw-radius-md);\n }\n .tw\\:rounded-none {\n border-radius: 0;\n }\n .tw\\:rounded-none\\! {\n border-radius: 0 !important;\n }\n .tw\\:rounded-xl {\n border-radius: var(--tw-radius-xl);\n }\n .tw\\:rounded-tr-md {\n border-top-right-radius: var(--tw-radius-md);\n }\n .tw\\:rounded-b-none {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n .tw\\:rounded-br-md {\n border-bottom-right-radius: var(--tw-radius-md);\n }\n .tw\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .tw\\:border-1 {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-4 {\n border-style: var(--tw-border-style);\n border-width: 4px;\n }\n .tw\\:border-\\[1px\\] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .tw\\:border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .tw\\:border-base-200 {\n border-color: var(--color-base-200);\n }\n .tw\\:border-base-300 {\n border-color: var(--color-base-300);\n }\n .tw\\:border-base-content\\/20 {\n border-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n .tw\\:border-current\\/10 {\n border-color: color-mix(in oklab, currentColor 10%, transparent);\n }\n .tw\\:bg-base-100 {\n background-color: var(--color-base-100);\n }\n .tw\\:bg-base-200 {\n background-color: var(--color-base-200);\n }\n .tw\\:bg-base-300 {\n background-color: var(--color-base-300);\n }\n .tw\\:bg-base-content\\/10 {\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n }\n .tw\\:bg-gray-200 {\n background-color: var(--tw-color-gray-200);\n }\n .tw\\:bg-neutral-content {\n background-color: var(--color-neutral-content);\n }\n .tw\\:bg-primary {\n background-color: var(--color-primary);\n }\n .tw\\:bg-slate-200 {\n background-color: var(--tw-color-slate-200);\n }\n .tw\\:bg-transparent {\n background-color: transparent;\n }\n .tw\\:bg-white {\n background-color: var(--tw-color-white);\n }\n .tw\\:fill-current {\n fill: currentColor;\n }\n .tw\\:stroke-3 {\n stroke-width: 3;\n }\n .tw\\:stroke-\\[2\\.5\\] {\n stroke-width: 2.5;\n }\n .tw\\:object-cover {\n object-fit: cover;\n }\n .tw\\:checkbox-xs {\n padding: 0.125rem;\n --size: calc(var(--size-selector, 0.25rem) * 4);\n }\n .tw\\:p-0 {\n padding: calc(var(--tw-spacing) * 0);\n }\n .tw\\:p-0\\! {\n padding: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:p-1 {\n padding: calc(var(--tw-spacing) * 1);\n }\n .tw\\:p-2 {\n padding: calc(var(--tw-spacing) * 2);\n }\n .tw\\:p-3 {\n padding: calc(var(--tw-spacing) * 3);\n }\n .tw\\:p-4 {\n padding: calc(var(--tw-spacing) * 4);\n }\n .tw\\:p-4\\! {\n padding: calc(var(--tw-spacing) * 4) !important;\n }\n .tw\\:p-6 {\n padding: calc(var(--tw-spacing) * 6);\n }\n .tw\\:p-9\\! {\n padding: calc(var(--tw-spacing) * 9) !important;\n }\n .tw\\:p-\\[1px\\] {\n padding: 1px;\n }\n .tw\\:px-0 {\n padding-inline: calc(var(--tw-spacing) * 0);\n }\n .tw\\:px-1 {\n padding-inline: calc(var(--tw-spacing) * 1);\n }\n .tw\\:px-1\\.5 {\n padding-inline: calc(var(--tw-spacing) * 1.5);\n }\n .tw\\:px-2 {\n padding-inline: calc(var(--tw-spacing) * 2);\n }\n .tw\\:px-4 {\n padding-inline: calc(var(--tw-spacing) * 4);\n }\n .tw\\:px-6 {\n padding-inline: calc(var(--tw-spacing) * 6);\n }\n .tw\\:px-8 {\n padding-inline: calc(var(--tw-spacing) * 8);\n }\n .tw\\:py-0\\.5 {\n padding-block: calc(var(--tw-spacing) * 0.5);\n }\n .tw\\:py-1 {\n padding-block: calc(var(--tw-spacing) * 1);\n }\n .tw\\:py-2 {\n padding-block: calc(var(--tw-spacing) * 2);\n }\n .tw\\:ps-2\\! {\n padding-inline-start: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:pe-2\\! {\n padding-inline-end: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:pt-0 {\n padding-top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:pt-1 {\n padding-top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pt-2 {\n padding-top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:pt-4 {\n padding-top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pt-6 {\n padding-top: calc(var(--tw-spacing) * 6);\n }\n .tw\\:pr-1 {\n padding-right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pr-4 {\n padding-right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pr-12 {\n padding-right: calc(var(--tw-spacing) * 12);\n }\n .tw\\:pb-0 {\n padding-bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:pb-1 {\n padding-bottom: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pb-2 {\n padding-bottom: calc(var(--tw-spacing) * 2);\n }\n .tw\\:pb-4 {\n padding-bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pb-6 {\n padding-bottom: calc(var(--tw-spacing) * 6);\n }\n .tw\\:pl-2 {\n padding-left: calc(var(--tw-spacing) * 2);\n }\n .tw\\:text-center {\n text-align: center;\n }\n .tw\\:text-right {\n text-align: right;\n }\n .tw\\:align-middle {\n vertical-align: middle;\n }\n .tw\\:text-2xl {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n }\n .tw\\:text-3xl {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n }\n .tw\\:text-6xl {\n font-size: var(--tw-text-6xl);\n line-height: var(--tw-leading, var(--tw-text-6xl--line-height));\n }\n .tw\\:text-base {\n font-size: var(--tw-text-base);\n line-height: var(--tw-leading, var(--tw-text-base--line-height));\n }\n .tw\\:text-lg {\n font-size: var(--tw-text-lg);\n line-height: var(--tw-leading, var(--tw-text-lg--line-height));\n }\n .tw\\:text-sm {\n font-size: var(--tw-text-sm);\n line-height: var(--tw-leading, var(--tw-text-sm--line-height));\n }\n .tw\\:text-xl {\n font-size: var(--tw-text-xl);\n line-height: var(--tw-leading, var(--tw-text-xl--line-height));\n }\n .tw\\:text-xs {\n font-size: var(--tw-text-xs);\n line-height: var(--tw-leading, var(--tw-text-xs--line-height));\n }\n .tw\\:text-map {\n font-size: var(--tw-text-map);\n }\n .tw\\:leading-3 {\n --tw-leading: calc(var(--tw-spacing) * 3);\n line-height: calc(var(--tw-spacing) * 3);\n }\n .tw\\:leading-5 {\n --tw-leading: calc(var(--tw-spacing) * 5);\n line-height: calc(var(--tw-spacing) * 5);\n }\n .tw\\:leading-map {\n --tw-leading: var(--tw-leading-map);\n line-height: var(--tw-leading-map);\n }\n .tw\\:font-bold {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n .tw\\:font-medium {\n --tw-font-weight: var(--tw-font-weight-medium);\n font-weight: var(--tw-font-weight-medium);\n }\n .tw\\:font-normal {\n --tw-font-weight: var(--tw-font-weight-normal);\n font-weight: var(--tw-font-weight-normal);\n }\n .tw\\:font-semibold {\n --tw-font-weight: var(--tw-font-weight-semibold);\n font-weight: var(--tw-font-weight-semibold);\n }\n .tw\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .tw\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .tw\\:checkbox-success {\n color: var(--color-success-content);\n --input-color: var(--color-success);\n }\n .tw\\:text-base-content {\n color: var(--color-base-content);\n }\n .tw\\:text-base-content\\! {\n color: var(--color-base-content) !important;\n }\n .tw\\:text-base-content\\/50 {\n color: color-mix(in oklab, var(--color-base-content) 50%, transparent);\n }\n .tw\\:text-current {\n color: currentColor;\n }\n .tw\\:text-error {\n color: var(--color-error);\n }\n .tw\\:text-error\\! {\n color: var(--color-error) !important;\n }\n .tw\\:text-gray-400 {\n color: var(--tw-color-gray-400);\n }\n .tw\\:text-gray-500 {\n color: var(--tw-color-gray-500);\n }\n .tw\\:text-gray-600 {\n color: var(--tw-color-gray-600);\n }\n .tw\\:text-green-500 {\n color: var(--tw-color-green-500);\n }\n .tw\\:text-neutral-content {\n color: var(--color-neutral-content);\n }\n .tw\\:text-primary {\n color: var(--color-primary);\n }\n .tw\\:text-red-500 {\n color: var(--tw-color-red-500);\n }\n .tw\\:text-white {\n color: var(--tw-color-white);\n }\n .tw\\:text-zinc-500 {\n color: var(--tw-color-zinc-500);\n }\n .tw\\:normal-case {\n text-transform: none;\n }\n .tw\\:italic {\n font-style: italic;\n }\n .tw\\:opacity-0 {\n opacity: 0%;\n }\n .tw\\:opacity-50 {\n opacity: 50%;\n }\n .tw\\:opacity-60 {\n opacity: 60%;\n }\n .tw\\:opacity-100 {\n opacity: 100%;\n }\n .tw\\:shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:btn-ghost {\n &:not(.tw\\:btn-active, :hover, :active:focus, :focus-visible) {\n --btn-shadow: \"\";\n --btn-bg: #0000;\n --btn-border: #0000;\n --btn-noise: none;\n &:not(:disabled, [disabled], .tw\\:btn-disabled) {\n outline-color: currentColor;\n --btn-fg: currentColor;\n }\n }\n }\n .tw\\:drop-shadow-md {\n --tw-drop-shadow: drop-shadow(var(--tw-drop-shadow-md));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .tw\\:backdrop-brightness-75 {\n --tw-backdrop-brightness: brightness(75%);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .tw\\:transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-none {\n transition-property: none;\n }\n .tw\\:delay-400 {\n transition-delay: 400ms;\n }\n .tw\\:duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .tw\\:duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .tw\\:duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .tw\\:ease-in {\n --tw-ease: var(--tw-ease-in);\n transition-timing-function: var(--tw-ease-in);\n }\n .tw\\:btn-lg {\n --fontsize: 1.125rem;\n --btn-p: 1.25rem;\n --size: calc(var(--size-field, 0.25rem) * 12);\n }\n .tw\\:btn-sm {\n --fontsize: 0.75rem;\n --btn-p: 0.75rem;\n --size: calc(var(--size-field, 0.25rem) * 8);\n }\n .tw\\:btn-xs {\n --fontsize: 0.6875rem;\n --btn-p: 0.5rem;\n --size: calc(var(--size-field, 0.25rem) * 6);\n }\n .tw\\:badge-success {\n --badge-color: var(--color-success);\n --badge-fg: var(--color-success-content);\n }\n .tw\\:btn-error {\n --btn-color: var(--color-error);\n --btn-fg: var(--color-error-content);\n }\n .tw\\:btn-neutral {\n --btn-color: var(--color-neutral);\n --btn-fg: var(--color-neutral-content);\n }\n .tw\\:btn-primary {\n --btn-color: var(--color-primary);\n --btn-fg: var(--color-primary-content);\n }\n .tw\\:loading-spinner {\n mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E\");\n }\n .tw\\:mask-circle {\n mask-image: url(\"data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e\");\n }\n .tw\\:mask-hexagon-2 {\n mask-image: url(\"data:image/svg+xml,%3csvg width='200' height='182' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M64.786 181.4c-9.196 0-20.063-6.687-25.079-14.21L3.762 105.33c-5.016-8.36-5.016-20.9 0-29.259l35.945-61.86C44.723 5.851 55.59 0 64.786 0h71.055c9.196 0 20.063 6.688 25.079 14.211l35.945 61.86c4.18 8.36 4.18 20.899 0 29.258l-35.945 61.86c-4.18 8.36-15.883 14.211-25.079 14.211H64.786Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e\");\n }\n .tw\\:mask-squircle {\n mask-image: url(\"data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 0C20 0 0 20 0 100s20 100 100 100 100-20 100-100S180 0 100 0Z'/%3e%3c/svg%3e\");\n }\n .tw\\:hover\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\n }\n }\n }\n .tw\\:hover\\:bg-base-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-base-200);\n }\n }\n }\n .tw\\:hover\\:bg-slate-300 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--tw-color-slate-300);\n }\n }\n }\n .tw\\:hover\\:bg-transparent {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n .tw\\:hover\\:font-bold {\n &:hover {\n @media (hover: hover) {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n }\n }\n .tw\\:hover\\:text-primary {\n &:hover {\n @media (hover: hover) {\n color: var(--color-primary);\n }\n }\n }\n .tw\\:hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .tw\\:focus\\:ring-0 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .tw\\:focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .tw\\:focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .tw\\:sm\\:left-auto\\! {\n @media (width >= 40rem) {\n left: auto !important;\n }\n }\n .tw\\:sm\\:w-2xl {\n @media (width >= 40rem) {\n width: var(--tw-container-2xl);\n }\n }\n .tw\\:sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:mb-0 {\n @media (width >= 48rem) {\n margin-bottom: calc(var(--tw-spacing) * 0);\n }\n }\n .tw\\:md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .tw\\:md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .tw\\:md\\:max-h-full {\n @media (width >= 48rem) {\n max-height: 100%;\n }\n }\n .tw\\:md\\:w-1\\/2 {\n @media (width >= 48rem) {\n width: calc(1/2 * 100%);\n }\n }\n .tw\\:md\\:w-\\[calc\\(50\\%-32px\\)\\] {\n @media (width >= 48rem) {\n width: calc(50% - 32px);\n }\n }\n .tw\\:md\\:columns-2 {\n @media (width >= 48rem) {\n columns: 2;\n }\n }\n .tw\\:md\\:grid-cols-1 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:space-x-4 {\n @media (width >= 48rem) {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n }\n .tw\\:md\\:text-2xl {\n @media (width >= 48rem) {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n }\n }\n .tw\\:lg\\:columns-3 {\n @media (width >= 64rem) {\n columns: 3;\n }\n }\n .tw\\:lg\\:grid-cols-1 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:xl\\:max-w-6xl {\n @media (width >= 80rem) {\n max-width: var(--tw-container-6xl);\n }\n }\n .tw\\:xl\\:grid-cols-1 {\n @media (width >= 80rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:xl\\:text-3xl {\n @media (width >= 80rem) {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n }\n }\n .tw\\:2xl\\:columns-4 {\n @media (width >= 96rem) {\n columns: 4;\n }\n }\n .tw\\:2xl\\:grid-cols-2 {\n @media (width >= 96rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:\\@sm\\:tooltip {\n @container (width >= 24rem) {\n position: relative;\n display: inline-block;\n --tt-bg: var(--color-neutral);\n --tt-off: calc(100% + 0.5rem);\n --tt-tail: calc(100% + 1px + 0.25rem);\n > :where(.tw\\:tooltip-content), &[data-tip]:before {\n position: absolute;\n max-width: 20rem;\n border-radius: var(--radius-field);\n padding-inline: calc(0.25rem * 2);\n padding-block: calc(0.25rem * 1);\n text-align: center;\n white-space: normal;\n color: var(--color-neutral-content);\n opacity: 0%;\n font-size: 0.875rem;\n line-height: 1.25em;\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;\n background-color: var(--tt-bg);\n width: max-content;\n pointer-events: none;\n z-index: 1;\n --tw-content: attr(data-tip);\n content: var(--tw-content);\n }\n &:after {\n position: absolute;\n position: absolute;\n opacity: 0%;\n background-color: var(--tt-bg);\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;\n content: \"\";\n pointer-events: none;\n width: 0.625rem;\n height: 0.25rem;\n display: block;\n mask-repeat: no-repeat;\n mask-position: -1px 0;\n --mask-tooltip: url(\"data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A\");\n mask-image: var(--mask-tooltip);\n }\n &.tw\\:tooltip-open, &[data-tip]:hover, &:hover, &:has(:focus-visible) {\n > .tw\\:tooltip-content, &[data-tip]:before, &:after {\n opacity: 100%;\n --tt-pos: 0rem;\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0s, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n }\n > .tw\\:tooltip-content, &[data-tip]:before {\n transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));\n inset: auto auto var(--tt-off) 50%;\n }\n &:after {\n transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));\n inset: auto auto var(--tt-tail) 50%;\n }\n }\n }\n .tw\\:\\@sm\\:block {\n @container (width >= 24rem) {\n display: block;\n }\n }\n .tw\\:\\@sm\\:grid-cols-2 {\n @container (width >= 24rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:\\@sm\\:overflow-visible {\n @container (width >= 24rem) {\n overflow: visible;\n }\n }\n .tw\\:dark\\:bg-zinc-800 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--tw-color-zinc-800);\n }\n }\n}\n@layer base {\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n border-color: var(--color-gray-200, currentColor);\n }\n}\n.modal {\n z-index: 1200 !important;\n}\n.menu li a {\n border-radius: 10px;\n}\n.modal {\n z-index: 1200 !important;\n max-height: 100dvh;\n}\n.modal-box {\n max-height: calc(100dvh - 2em);\n}\n@layer base {\n :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {\n color-scheme: light;\n --color-base-100: oklch(100% 0 0);\n --color-base-200: oklch(98% 0 0);\n --color-base-300: oklch(95% 0 0);\n --color-base-content: oklch(21% 0.006 285.885);\n --color-primary: oklch(45% 0.24 277.023);\n --color-primary-content: oklch(93% 0.034 272.788);\n --color-secondary: oklch(65% 0.241 354.308);\n --color-secondary-content: oklch(94% 0.028 342.258);\n --color-accent: oklch(77% 0.152 181.912);\n --color-accent-content: oklch(38% 0.063 188.416);\n --color-neutral: oklch(14% 0.005 285.823);\n --color-neutral-content: oklch(92% 0.004 286.32);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(76% 0.177 163.223);\n --color-success-content: oklch(37% 0.077 168.94);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(71% 0.194 13.428);\n --color-error-content: oklch(27% 0.105 12.094);\n --radius-selector: 0.5rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n @media (prefers-color-scheme: dark) {\n :root {\n color-scheme: dark;\n --color-base-100: oklch(25.33% 0.016 252.42);\n --color-base-200: oklch(23.26% 0.014 253.1);\n --color-base-300: oklch(21.15% 0.012 254.09);\n --color-base-content: oklch(97.807% 0.029 256.847);\n --color-primary: oklch(58% 0.233 277.117);\n --color-primary-content: oklch(96% 0.018 272.314);\n --color-secondary: oklch(65% 0.241 354.308);\n --color-secondary-content: oklch(94% 0.028 342.258);\n --color-accent: oklch(77% 0.152 181.912);\n --color-accent-content: oklch(38% 0.063 188.416);\n --color-neutral: oklch(14% 0.005 285.823);\n --color-neutral-content: oklch(92% 0.004 286.32);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(76% 0.177 163.223);\n --color-success-content: oklch(37% 0.077 168.94);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(71% 0.194 13.428);\n --color-error-content: oklch(27% 0.105 12.094);\n --radius-selector: 0.5rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=light]:checked),[data-theme=light] {\n color-scheme: light;\n --color-base-100: oklch(100% 0 0);\n --color-base-200: oklch(98% 0 0);\n --color-base-300: oklch(95% 0 0);\n --color-base-content: oklch(21% 0.006 285.885);\n --color-primary: oklch(45% 0.24 277.023);\n --color-primary-content: oklch(93% 0.034 272.788);\n --color-secondary: oklch(65% 0.241 354.308);\n --color-secondary-content: oklch(94% 0.028 342.258);\n --color-accent: oklch(77% 0.152 181.912);\n --color-accent-content: oklch(38% 0.063 188.416);\n --color-neutral: oklch(14% 0.005 285.823);\n --color-neutral-content: oklch(92% 0.004 286.32);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(76% 0.177 163.223);\n --color-success-content: oklch(37% 0.077 168.94);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(71% 0.194 13.428);\n --color-error-content: oklch(27% 0.105 12.094);\n --radius-selector: 0.5rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {\n color-scheme: dark;\n --color-base-100: oklch(25.33% 0.016 252.42);\n --color-base-200: oklch(23.26% 0.014 253.1);\n --color-base-300: oklch(21.15% 0.012 254.09);\n --color-base-content: oklch(97.807% 0.029 256.847);\n --color-primary: oklch(58% 0.233 277.117);\n --color-primary-content: oklch(96% 0.018 272.314);\n --color-secondary: oklch(65% 0.241 354.308);\n --color-secondary-content: oklch(94% 0.028 342.258);\n --color-accent: oklch(77% 0.152 181.912);\n --color-accent-content: oklch(38% 0.063 188.416);\n --color-neutral: oklch(14% 0.005 285.823);\n --color-neutral-content: oklch(92% 0.004 286.32);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(76% 0.177 163.223);\n --color-success-content: oklch(37% 0.077 168.94);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(71% 0.194 13.428);\n --color-error-content: oklch(27% 0.105 12.094);\n --radius-selector: 0.5rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=valentine]:checked),[data-theme=valentine] {\n color-scheme: light;\n --color-base-100: oklch(97% 0.014 343.198);\n --color-base-200: oklch(94% 0.028 342.258);\n --color-base-300: oklch(89% 0.061 343.231);\n --color-base-content: oklch(52% 0.223 3.958);\n --color-primary: oklch(65% 0.241 354.308);\n --color-primary-content: oklch(100% 0 0);\n --color-secondary: oklch(62% 0.265 303.9);\n --color-secondary-content: oklch(97% 0.014 308.299);\n --color-accent: oklch(82% 0.111 230.318);\n --color-accent-content: oklch(39% 0.09 240.876);\n --color-neutral: oklch(40% 0.153 2.432);\n --color-neutral-content: oklch(89% 0.061 343.231);\n --color-info: oklch(86% 0.127 207.078);\n --color-info-content: oklch(44% 0.11 240.79);\n --color-success: oklch(84% 0.143 164.978);\n --color-success-content: oklch(43% 0.095 166.913);\n --color-warning: oklch(75% 0.183 55.934);\n --color-warning-content: oklch(26% 0.079 36.259);\n --color-error: oklch(63% 0.237 25.331);\n --color-error-content: oklch(97% 0.013 17.38);\n --radius-selector: 1rem;\n --radius-field: 2rem;\n --radius-box: 1rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 0;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=retro]:checked),[data-theme=retro] {\n color-scheme: light;\n --color-base-100: oklch(91.637% 0.034 90.515);\n --color-base-200: oklch(88.272% 0.049 91.774);\n --color-base-300: oklch(84.133% 0.065 90.856);\n --color-base-content: oklch(41% 0.112 45.904);\n --color-primary: oklch(80% 0.114 19.571);\n --color-primary-content: oklch(39% 0.141 25.723);\n --color-secondary: oklch(92% 0.084 155.995);\n --color-secondary-content: oklch(44% 0.119 151.328);\n --color-accent: oklch(68% 0.162 75.834);\n --color-accent-content: oklch(41% 0.112 45.904);\n --color-neutral: oklch(44% 0.011 73.639);\n --color-neutral-content: oklch(86% 0.005 56.366);\n --color-info: oklch(58% 0.158 241.966);\n --color-info-content: oklch(96% 0.059 95.617);\n --color-success: oklch(51% 0.096 186.391);\n --color-success-content: oklch(96% 0.059 95.617);\n --color-warning: oklch(64% 0.222 41.116);\n --color-warning-content: oklch(96% 0.059 95.617);\n --color-error: oklch(70% 0.191 22.216);\n --color-error-content: oklch(40% 0.123 38.172);\n --radius-selector: 0.25rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 0;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=aqua]:checked),[data-theme=aqua] {\n color-scheme: dark;\n --color-base-100: oklch(37% 0.146 265.522);\n --color-base-200: oklch(28% 0.091 267.935);\n --color-base-300: oklch(22% 0.091 267.935);\n --color-base-content: oklch(90% 0.058 230.902);\n --color-primary: oklch(85.661% 0.144 198.645);\n --color-primary-content: oklch(40.124% 0.068 197.603);\n --color-secondary: oklch(60.682% 0.108 309.782);\n --color-secondary-content: oklch(96% 0.016 293.756);\n --color-accent: oklch(93.426% 0.102 94.555);\n --color-accent-content: oklch(18.685% 0.02 94.555);\n --color-neutral: oklch(27% 0.146 265.522);\n --color-neutral-content: oklch(80% 0.146 265.522);\n --color-info: oklch(54.615% 0.215 262.88);\n --color-info-content: oklch(90.923% 0.043 262.88);\n --color-success: oklch(62.705% 0.169 149.213);\n --color-success-content: oklch(12.541% 0.033 149.213);\n --color-warning: oklch(66.584% 0.157 58.318);\n --color-warning-content: oklch(27% 0.077 45.635);\n --color-error: oklch(73.95% 0.19 27.33);\n --color-error-content: oklch(14.79% 0.038 27.33);\n --radius-selector: 1rem;\n --radius-field: 0.5rem;\n --radius-box: 1rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=cyberpunk]:checked),[data-theme=cyberpunk] {\n color-scheme: light;\n --color-base-100: oklch(94.51% 0.179 104.32);\n --color-base-200: oklch(91.51% 0.179 104.32);\n --color-base-300: oklch(85.51% 0.179 104.32);\n --color-base-content: oklch(0% 0 0);\n --color-primary: oklch(74.22% 0.209 6.35);\n --color-primary-content: oklch(14.844% 0.041 6.35);\n --color-secondary: oklch(83.33% 0.184 204.72);\n --color-secondary-content: oklch(16.666% 0.036 204.72);\n --color-accent: oklch(71.86% 0.217 310.43);\n --color-accent-content: oklch(14.372% 0.043 310.43);\n --color-neutral: oklch(23.04% 0.065 269.31);\n --color-neutral-content: oklch(94.51% 0.179 104.32);\n --color-info: oklch(72.06% 0.191 231.6);\n --color-info-content: oklch(0% 0 0);\n --color-success: oklch(64.8% 0.15 160);\n --color-success-content: oklch(0% 0 0);\n --color-warning: oklch(84.71% 0.199 83.87);\n --color-warning-content: oklch(0% 0 0);\n --color-error: oklch(71.76% 0.221 22.18);\n --color-error-content: oklch(0% 0 0);\n --radius-selector: 0rem;\n --radius-field: 0rem;\n --radius-box: 0rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 0;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=caramellatte]:checked),[data-theme=caramellatte] {\n color-scheme: light;\n --color-base-100: oklch(98% 0.016 73.684);\n --color-base-200: oklch(95% 0.038 75.164);\n --color-base-300: oklch(90% 0.076 70.697);\n --color-base-content: oklch(40% 0.123 38.172);\n --color-primary: oklch(0% 0 0);\n --color-primary-content: oklch(100% 0 0);\n --color-secondary: oklch(22.45% 0.075 37.85);\n --color-secondary-content: oklch(90% 0.076 70.697);\n --color-accent: oklch(46.44% 0.111 37.85);\n --color-accent-content: oklch(90% 0.076 70.697);\n --color-neutral: oklch(55% 0.195 38.402);\n --color-neutral-content: oklch(98% 0.016 73.684);\n --color-info: oklch(42% 0.199 265.638);\n --color-info-content: oklch(90% 0.076 70.697);\n --color-success: oklch(43% 0.095 166.913);\n --color-success-content: oklch(90% 0.076 70.697);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(70% 0.191 22.216);\n --color-error-content: oklch(39% 0.141 25.723);\n --radius-selector: 2rem;\n --radius-field: 0.5rem;\n --radius-box: 1rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 2px;\n --depth: 1;\n --noise: 1;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=abyss]:checked),[data-theme=abyss] {\n color-scheme: dark;\n --color-base-100: oklch(20% 0.08 209);\n --color-base-200: oklch(15% 0.08 209);\n --color-base-300: oklch(10% 0.08 209);\n --color-base-content: oklch(90% 0.076 70.697);\n --color-primary: oklch(92% 0.2653 125);\n --color-primary-content: oklch(50% 0.2653 125);\n --color-secondary: oklch(83.27% 0.0764 298.3);\n --color-secondary-content: oklch(43.27% 0.0764 298.3);\n --color-accent: oklch(43% 0 0);\n --color-accent-content: oklch(98% 0 0);\n --color-neutral: oklch(30% 0.08 209);\n --color-neutral-content: oklch(90% 0.076 70.697);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(79% 0.209 151.711);\n --color-success-content: oklch(26% 0.065 152.934);\n --color-warning: oklch(84.8% 0.1962 84.62);\n --color-warning-content: oklch(44.8% 0.1962 84.62);\n --color-error: oklch(65% 0.1985 24.22);\n --color-error-content: oklch(27% 0.1985 24.22);\n --radius-selector: 2rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=silk]:checked),[data-theme=silk] {\n color-scheme: light;\n --color-base-100: oklch(97% 0.0035 67.78);\n --color-base-200: oklch(95% 0.0081 61.42);\n --color-base-300: oklch(90% 0.0081 61.42);\n --color-base-content: oklch(40% 0.0081 61.42);\n --color-primary: oklch(23.27% 0.0249 284.3);\n --color-primary-content: oklch(94.22% 0.2505 117.44);\n --color-secondary: oklch(23.27% 0.0249 284.3);\n --color-secondary-content: oklch(73.92% 0.2135 50.94);\n --color-accent: oklch(23.27% 0.0249 284.3);\n --color-accent-content: oklch(88.92% 0.2061 189.9);\n --color-neutral: oklch(20% 0 0);\n --color-neutral-content: oklch(80% 0.0081 61.42);\n --color-info: oklch(80.39% 0.1148 241.68);\n --color-info-content: oklch(30.39% 0.1148 241.68);\n --color-success: oklch(83.92% 0.0901 136.87);\n --color-success-content: oklch(23.92% 0.0901 136.87);\n --color-warning: oklch(83.92% 0.1085 80);\n --color-warning-content: oklch(43.92% 0.1085 80);\n --color-error: oklch(75.1% 0.1814 22.37);\n --color-error-content: oklch(35.1% 0.1814 22.37);\n --radius-selector: 2rem;\n --radius-field: 0.5rem;\n --radius-box: 1rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 2px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n @property --radialprogress {\n syntax: \"<percentage>\";\n inherits: true;\n initial-value: 0%;\n }\n}\n@layer base {\n :root {\n scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;\n }\n}\n@layer base {\n :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not([class*=\"drawer-open\"]) > .drawer-toggle:checked ) {\n overflow: hidden;\n }\n}\n@layer base {\n :root,\n[data-theme] {\n background-color: var(--root-bg, var(--color-base-100));\n color: var(--color-base-content);\n }\n}\n@layer base {\n :root {\n --fx-noise: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E\");\n }\n .chat {\n --mask-chat: url(\"data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e\");\n }\n}\n@layer base {\n :where(\n :root:has(\n .modal-open,\n .modal[open],\n .modal:target,\n .modal-toggle:checked,\n .drawer:not(.drawer-open) > .drawer-toggle:checked\n )\n) {\n scrollbar-gutter: stable;\n background-image: linear-gradient(var(--color-base-100), var(--color-base-100));\n --root-bg: color-mix(in srgb, var(--color-base-100), oklch(0% 0 0) 40%);\n }\n}\n@keyframes skeleton {\n 0% {\n background-position: 150%;\n }\n 100% {\n background-position: -50%;\n }\n}\n@keyframes progress {\n 50% {\n background-position-x: -115%;\n }\n}\n@keyframes radio {\n 0% {\n padding: 5px;\n }\n 50% {\n padding: 3px;\n }\n}\n@keyframes dropdown {\n 0% {\n opacity: 0;\n }\n}\n@keyframes rating {\n 0%, 40% {\n scale: 1.1;\n filter: brightness(1.05) contrast(1.05);\n }\n}\n@keyframes toast {\n 0% {\n scale: 0.9;\n opacity: 0;\n }\n 100% {\n scale: 1;\n opacity: 1;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateX(0);\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateY(0);\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateZ(0);\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n initial-value: skewX(0);\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n initial-value: skewY(0);\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}";
|
56
59
|
styleInject(css_248z$9);
|
57
60
|
|
58
|
-
var css_248z$8 = "/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --tw-color-red-500: oklch(0.637 0.237 25.331);\n --tw-color-green-500: oklch(0.723 0.219 149.579);\n --tw-color-slate-200: oklch(0.929 0.013 255.508);\n --tw-color-slate-300: oklch(0.869 0.022 252.894);\n --tw-color-gray-200: oklch(0.928 0.006 264.531);\n --tw-color-gray-400: oklch(0.707 0.022 261.325);\n --tw-color-gray-500: oklch(0.551 0.027 264.364);\n --tw-color-gray-600: oklch(0.446 0.03 256.802);\n --tw-color-zinc-500: oklch(0.552 0.016 285.938);\n --tw-color-zinc-800: oklch(0.274 0.006 286.033);\n --tw-color-white: #fff;\n --tw-spacing: 0.25rem;\n --tw-container-xs: 20rem;\n --tw-container-xl: 36rem;\n --tw-container-2xl: 42rem;\n --tw-container-3xl: 48rem;\n --tw-container-6xl: 72rem;\n --tw-text-xs: 0.75rem;\n --tw-text-xs--line-height: calc(1 / 0.75);\n --tw-text-sm: 0.875rem;\n --tw-text-sm--line-height: calc(1.25 / 0.875);\n --tw-text-base: 1rem;\n --tw-text-base--line-height: calc(1.5 / 1);\n --tw-text-lg: 1.125rem;\n --tw-text-lg--line-height: calc(1.75 / 1.125);\n --tw-text-xl: 1.25rem;\n --tw-text-xl--line-height: calc(1.75 / 1.25);\n --tw-text-2xl: 1.5rem;\n --tw-text-2xl--line-height: calc(2 / 1.5);\n --tw-text-3xl: 1.875rem;\n --tw-text-3xl--line-height: calc(2.25 / 1.875);\n --tw-text-6xl: 3.75rem;\n --tw-text-6xl--line-height: 1;\n --tw-font-weight-normal: 400;\n --tw-font-weight-medium: 500;\n --tw-font-weight-semibold: 600;\n --tw-font-weight-bold: 700;\n --tw-radius-md: 0.375rem;\n --tw-radius-xl: 0.75rem;\n --tw-radius-2xl: 1rem;\n --tw-drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --tw-ease-in: cubic-bezier(0.4, 0, 1, 1);\n --tw-default-transition-duration: 150ms;\n --tw-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --tw-z-index-500: 500;\n --tw-z-index-1000: 1000;\n --tw-z-index-2000: 2000;\n --tw-z-index-3000: 3000;\n --tw-min-width-80: 320px;\n --tw-container-52: 208px;\n --tw-min-height-56: 224px;\n --tw-min-height-80: 320px;\n --tw-text-map: 13px;\n --tw-leading-map: 1.4em;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" );\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var( --default-font-variation-settings, normal );\n -webkit-tap-highlight-color: transparent;\n }\n body {\n line-height: inherit;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var( --default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace );\n font-feature-settings: var( --default-mono-font-feature-settings, normal );\n font-variation-settings: var( --default-mono-font-variation-settings, normal );\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .tw\\:modal {\n pointer-events: none;\n visibility: hidden;\n position: fixed;\n inset: calc(0.25rem * 0);\n margin: calc(0.25rem * 0);\n display: grid;\n height: 100%;\n max-height: none;\n width: 100%;\n max-width: none;\n align-items: center;\n justify-items: center;\n background-color: transparent;\n padding: calc(0.25rem * 0);\n color: inherit;\n overflow-x: hidden;\n transition: transform 0.3s ease-out, visibility 0.3s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;\n overflow-y: hidden;\n overscroll-behavior: contain;\n z-index: 999;\n &::backdrop {\n display: none;\n }\n &.tw\\:modal-open, &[open], &:target {\n background-color: oklch(0% 0 0/ 0.4);\n transition: transform 0.3s ease-out, background-color 0.3s ease-out, opacity 0.1s ease-out;\n pointer-events: auto;\n visibility: visible;\n opacity: 100%;\n .tw\\:modal-box {\n translate: 0 0;\n scale: 1;\n opacity: 1;\n }\n }\n @starting-style {\n &.tw\\:modal-open, &[open], &:target {\n visibility: hidden;\n opacity: 0%;\n }\n }\n }\n .tw\\:tooltip {\n position: relative;\n display: inline-block;\n --tt-bg: var(--color-neutral);\n --tt-off: calc(100% + 0.5rem);\n --tt-tail: calc(100% + 1px + 0.25rem);\n > :where(.tw\\:tooltip-content), &[data-tip]:before {\n position: absolute;\n max-width: 20rem;\n border-radius: var(--radius-field);\n padding-inline: calc(0.25rem * 2);\n padding-block: calc(0.25rem * 1);\n text-align: center;\n white-space: normal;\n color: var(--color-neutral-content);\n opacity: 0%;\n font-size: 0.875rem;\n line-height: 1.25em;\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;\n background-color: var(--tt-bg);\n width: max-content;\n pointer-events: none;\n z-index: 1;\n --tw-content: attr(data-tip);\n content: var(--tw-content);\n }\n &:after {\n position: absolute;\n position: absolute;\n opacity: 0%;\n background-color: var(--tt-bg);\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;\n content: \"\";\n pointer-events: none;\n width: 0.625rem;\n height: 0.25rem;\n display: block;\n mask-repeat: no-repeat;\n mask-position: -1px 0;\n --mask-tooltip: url(\"data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A\");\n mask-image: var(--mask-tooltip);\n }\n &.tw\\:tooltip-open, &[data-tip]:hover, &:hover, &:has(:focus-visible) {\n > .tw\\:tooltip-content, &[data-tip]:before, &:after {\n opacity: 100%;\n --tt-pos: 0rem;\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0s, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n }\n > .tw\\:tooltip-content, &[data-tip]:before {\n transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));\n inset: auto auto var(--tt-off) 50%;\n }\n &:after {\n transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));\n inset: auto auto var(--tt-tail) 50%;\n }\n }\n .tw\\:tab {\n position: relative;\n display: inline-flex;\n cursor: pointer;\n appearance: none;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n webkit-user-select: none;\n user-select: none;\n &:hover {\n @media (hover: hover) {\n color: var(--color-base-content);\n }\n }\n --tab-p: 1rem;\n --tab-bg: var(--color-base-100);\n --tab-border-color: var(--color-base-300);\n --tab-radius-ss: 0;\n --tab-radius-se: 0;\n --tab-radius-es: 0;\n --tab-radius-ee: 0;\n --tab-order: 0;\n --tab-radius-min: calc(0.75rem - var(--border));\n border-color: #0000;\n order: var(--tab-order);\n height: calc(var(--size-field, 0.25rem) * 10);\n font-size: 0.875rem;\n padding-inline-start: var(--tab-p);\n padding-inline-end: var(--tab-p);\n &:is(input[type=\"radio\"]) {\n min-width: fit-content;\n &:after {\n content: attr(aria-label);\n }\n }\n &:is(label) {\n position: relative;\n input {\n position: absolute;\n inset: calc(0.25rem * 0);\n cursor: pointer;\n appearance: none;\n opacity: 0%;\n }\n }\n &:checked, &:is(label:has(:checked)), &:is(.tw\\:tab-active, [aria-selected=\"true\"]) {\n & + .tw\\:tab-content {\n display: block;\n height: 100%;\n }\n }\n &:not(:checked, label:has(:checked), :hover, .tw\\:tab-active, [aria-selected=\"true\"]) {\n color: color-mix(in oklab, var(--color-base-content) 50%, transparent);\n }\n &:not(input):empty {\n flex-grow: 1;\n cursor: default;\n }\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n &:focus-visible, &:is(label:has(:checked:focus-visible)) {\n outline: 2px solid currentColor;\n outline-offset: -5px;\n }\n &[disabled] {\n pointer-events: none;\n opacity: 40%;\n }\n }\n .tw\\:menu {\n display: flex;\n width: fit-content;\n flex-direction: column;\n flex-wrap: wrap;\n padding: calc(0.25rem * 2);\n --menu-active-fg: var(--color-neutral-content);\n --menu-active-bg: var(--color-neutral);\n font-size: 0.875rem;\n :where(li ul) {\n position: relative;\n margin-inline-start: calc(0.25rem * 4);\n padding-inline-start: calc(0.25rem * 2);\n white-space: nowrap;\n &:before {\n position: absolute;\n inset-inline-start: calc(0.25rem * 0);\n top: calc(0.25rem * 3);\n bottom: calc(0.25rem * 3);\n background-color: var(--color-base-content);\n opacity: 10%;\n width: var(--border);\n content: \"\";\n }\n }\n :where(li > .tw\\:menu-dropdown:not(.tw\\:menu-dropdown-show)) {\n display: none;\n }\n :where(li:not(.tw\\:menu-title) > *:not(ul, details, .tw\\:menu-title, .tw\\:btn)), :where(li:not(.tw\\:menu-title) > details > summary:not(.tw\\:menu-title)) {\n display: grid;\n grid-auto-flow: column;\n align-content: flex-start;\n align-items: center;\n gap: calc(0.25rem * 2);\n border-radius: var(--radius-field);\n padding-inline: calc(0.25rem * 3);\n padding-block: calc(0.25rem * 1.5);\n text-align: start;\n transition-property: color, background-color, box-shadow;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n grid-auto-columns: minmax(auto, max-content) auto max-content;\n text-wrap: balance;\n user-select: none;\n }\n :where(li > details > summary) {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n &::-webkit-details-marker {\n display: none;\n }\n }\n :where(li > details > summary), :where(li > .tw\\:menu-dropdown-toggle) {\n &:after {\n justify-self: flex-end;\n display: block;\n height: 0.375rem;\n width: 0.375rem;\n rotate: -135deg;\n translate: 0 -1px;\n transition-property: rotate, translate;\n transition-duration: 0.2s;\n content: \"\";\n transform-origin: 50% 50%;\n box-shadow: 2px 2px inset;\n pointer-events: none;\n }\n }\n :where(li > details[open] > summary):after, :where(li > .tw\\:menu-dropdown-toggle.tw\\:menu-dropdown-show):after {\n rotate: 45deg;\n translate: 0 1px;\n }\n :where( li:not(.tw\\:menu-title, .tw\\:disabled) > *:not(ul, details, .tw\\:menu-title), li:not(.tw\\:menu-title, .tw\\:disabled) > details > summary:not(.tw\\:menu-title) ):not(.tw\\:menu-active, :active, .tw\\:btn) {\n &.tw\\:menu-focus, &:focus-visible {\n cursor: pointer;\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n color: var(--color-base-content);\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n :where( li:not(.tw\\:menu-title, .tw\\:disabled) > *:not(ul, details, .tw\\:menu-title):not(.tw\\:menu-active, :active, .tw\\:btn):hover, li:not(.tw\\:menu-title, .tw\\:disabled) > details > summary:not(.tw\\:menu-title):not(.tw\\:menu-active, :active, .tw\\:btn):hover ) {\n cursor: pointer;\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;\n }\n :where(li:empty) {\n background-color: var(--color-base-content);\n opacity: 10%;\n margin: 0.5rem 1rem;\n height: 1px;\n }\n :where(li) {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-direction: column;\n flex-wrap: wrap;\n align-items: stretch;\n .tw\\:badge {\n justify-self: flex-end;\n }\n & > *:not(ul, .tw\\:menu-title, details, .tw\\:btn):active, & > *:not(ul, .tw\\:menu-title, details, .tw\\:btn).tw\\:menu-active, & > details > summary:active {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n color: var(--menu-active-fg);\n background-color: var(--menu-active-bg);\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--fx-noise);\n &:not(&:active) {\n box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);\n }\n }\n &.tw\\:menu-disabled {\n pointer-events: none;\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n }\n .tw\\:dropdown:focus-within {\n .tw\\:menu-dropdown-toggle:after {\n rotate: 45deg;\n translate: 0 1px;\n }\n }\n .tw\\:dropdown-content {\n margin-top: calc(0.25rem * 2);\n padding: calc(0.25rem * 2);\n &:before {\n display: none;\n }\n }\n }\n .tw\\:dropdown {\n position: relative;\n display: inline-block;\n position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);\n & > *:not(summary):focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .tw\\:dropdown-content {\n position: absolute;\n }\n &:not(details, .tw\\:dropdown-open, .tw\\:dropdown-hover:hover, :focus-within) {\n .tw\\:dropdown-content {\n display: none;\n transform-origin: top;\n opacity: 0%;\n scale: 95%;\n }\n }\n &[popover], .tw\\:dropdown-content {\n z-index: 999;\n animation: dropdown 0.2s;\n transition-property: opacity, scale, display;\n transition-behavior: allow-discrete;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n @starting-style {\n &[popover], .tw\\:dropdown-content {\n scale: 95%;\n opacity: 0;\n }\n }\n &.tw\\:dropdown-open, &:not(.tw\\:dropdown-hover):focus, &:focus-within {\n > [tabindex]:first-child {\n pointer-events: none;\n }\n .tw\\:dropdown-content {\n opacity: 100%;\n }\n }\n &.tw\\:dropdown-hover:hover {\n .tw\\:dropdown-content {\n opacity: 100%;\n scale: 100%;\n }\n }\n &:is(details) {\n summary {\n &::-webkit-details-marker {\n display: none;\n }\n }\n }\n &.tw\\:dropdown-open, &:focus, &:focus-within {\n .tw\\:dropdown-content {\n scale: 100%;\n }\n }\n &:where([popover]) {\n background: #0000;\n }\n &[popover] {\n position: fixed;\n color: inherit;\n @supports not (position-area: bottom) {\n margin: auto;\n &.tw\\:dropdown-open:not(:popover-open) {\n display: none;\n transform-origin: top;\n opacity: 0%;\n scale: 95%;\n }\n &::backdrop {\n background-color: color-mix(in oklab, #000 30%, #0000);\n }\n }\n &:not(.tw\\:dropdown-open, :popover-open) {\n display: none;\n transform-origin: top;\n opacity: 0%;\n scale: 95%;\n }\n }\n }\n .tw\\:btn {\n display: inline-flex;\n flex-shrink: 0;\n cursor: pointer;\n flex-wrap: nowrap;\n align-items: center;\n justify-content: center;\n gap: calc(0.25rem * 1.5);\n text-align: center;\n vertical-align: middle;\n outline-offset: 2px;\n webkit-user-select: none;\n user-select: none;\n padding-inline: var(--btn-p);\n color: var(--btn-fg);\n --tw-prose-links: var(--btn-fg);\n height: var(--size);\n font-size: var(--fontsize, 0.875rem);\n font-weight: 600;\n outline-color: var(--btn-color, var(--color-base-content));\n transition-property: color, background-color, border-color, box-shadow;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.2s;\n border-start-start-radius: var(--join-ss, var(--radius-field));\n border-start-end-radius: var(--join-se, var(--radius-field));\n border-end-start-radius: var(--join-es, var(--radius-field));\n border-end-end-radius: var(--join-ee, var(--radius-field));\n background-color: var(--btn-bg);\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--btn-noise);\n border-width: var(--border);\n border-style: solid;\n border-color: var(--btn-border);\n text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));\n box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);\n --size: calc(var(--size-field, 0.25rem) * 10);\n --btn-bg: var(--btn-color, var(--color-base-200));\n --btn-fg: var(--color-base-content);\n --btn-p: 1rem;\n --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));\n --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),\n 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);\n --btn-noise: var(--fx-noise);\n .tw\\:prose & {\n text-decoration-line: none;\n }\n @media (hover: hover) {\n &:hover {\n --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);\n }\n }\n &:focus-visible {\n outline-width: 2px;\n outline-style: solid;\n }\n &:active:not(.tw\\:btn-active) {\n translate: 0 0.5px;\n --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);\n --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);\n --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);\n }\n &:is(:disabled, [disabled], .tw\\:btn-disabled) {\n &:not(.tw\\:btn-link, .tw\\:btn-ghost) {\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n box-shadow: none;\n }\n pointer-events: none;\n --btn-border: #0000;\n --btn-noise: none;\n --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);\n @media (hover: hover) {\n &:hover {\n pointer-events: none;\n background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);\n --btn-border: #0000;\n --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);\n }\n }\n }\n &:is(input[type=\"checkbox\"], input[type=\"radio\"]) {\n appearance: none;\n &::after {\n content: attr(aria-label);\n }\n }\n &:where(input:checked:not(.tw\\:filter .tw\\:btn)) {\n --btn-color: var(--color-primary);\n --btn-fg: var(--color-primary-content);\n isolation: isolate;\n }\n }\n .tw\\:loading {\n pointer-events: none;\n display: inline-block;\n aspect-ratio: 1 / 1;\n background-color: currentColor;\n vertical-align: middle;\n width: calc(var(--size-selector, 0.25rem) * 6);\n mask-size: 100%;\n mask-repeat: no-repeat;\n mask-position: center;\n mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E\");\n }\n .tw\\:pointer-events-auto {\n pointer-events: auto;\n }\n .tw\\:pointer-events-none {\n pointer-events: none;\n }\n .tw\\:tabs-lift {\n --tabs-height: auto;\n --tabs-direction: row;\n > .tw\\:tab {\n --tab-border: 0 0 var(--border) 0;\n --tab-radius-ss: min(var(--radius-field), var(--tab-radius-min));\n --tab-radius-se: min(var(--radius-field), var(--tab-radius-min));\n --tab-radius-es: 0;\n --tab-radius-ee: 0;\n --tab-paddings: var(--border) var(--tab-p) 0 var(--tab-p);\n --tab-border-colors: #0000 #0000 var(--tab-border-color) #0000;\n --tab-corner-width: calc(100% + min(var(--radius-field), var(--tab-radius-min)) * 2);\n --tab-corner-height: min(var(--radius-field), var(--tab-radius-min));\n --tab-corner-position: top left, top right;\n border-width: var(--tab-border);\n border-start-start-radius: var(--tab-radius-ss);\n border-start-end-radius: var(--tab-radius-se);\n border-end-start-radius: var(--tab-radius-es);\n border-end-end-radius: var(--tab-radius-ee);\n padding: var(--tab-paddings);\n border-color: var(--tab-border-colors);\n &:is(.tw\\:tab-active, [aria-selected=\"true\"]):not(.tw\\:tab-disabled, [disabled]), &:is(input:checked, label:has(:checked)) {\n --tab-border: var(--border) var(--border) 0 var(--border);\n --tab-border-colors: var(--tab-border-color) var(--tab-border-color) #0000\n var(--tab-border-color);\n --tab-paddings: 0 calc(var(--tab-p) - var(--border)) var(--border)\n calc(var(--tab-p) - var(--border));\n --tab-inset: auto auto 0 auto;\n --tab-grad: calc(69% - var(--border));\n --radius-start: radial-gradient(\n circle at top left,\n #0000 var(--tab-grad),\n var(--tab-border-color) calc(var(--tab-grad) + 0.25px),\n var(--tab-border-color) calc(var(--tab-grad) + var(--border)),\n var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)\n );\n --radius-end: radial-gradient(\n circle at top right,\n #0000 var(--tab-grad),\n var(--tab-border-color) calc(var(--tab-grad) + 0.25px),\n var(--tab-border-color) calc(var(--tab-grad) + var(--border)),\n var(--tab-bg) calc(var(--tab-grad) + var(--border) + 0.25px)\n );\n background-color: var(--tab-bg);\n &:before {\n z-index: 1;\n content: \"\";\n display: block;\n position: absolute;\n width: var(--tab-corner-width);\n height: var(--tab-corner-height);\n background-position: var(--tab-corner-position);\n background-image: var(--radius-start), var(--radius-end);\n background-size: min(var(--radius-field), var(--tab-radius-min)) min(var(--radius-field), var(--tab-radius-min));\n background-repeat: no-repeat;\n inset: var(--tab-inset);\n }\n &:first-child:before {\n --radius-start: none;\n }\n [dir=\"rtl\"] &:first-child:before {\n transform: rotateY(180deg);\n }\n &:last-child:before {\n --radius-end: none;\n }\n [dir=\"rtl\"] &:last-child:before {\n transform: rotateY(180deg);\n }\n }\n }\n &:has(.tw\\:tab-content) {\n > .tw\\:tab:first-child {\n &:not(.tw\\:tab-active, [aria-selected=\"true\"]) {\n --tab-border-colors: var(--tab-border-color) var(--tab-border-color) #0000\n var(--tab-border-color);\n }\n }\n }\n .tw\\:tab-content {\n --tabcontent-margin: calc(-1 * var(--border)) 0 0 0;\n --tabcontent-radius-ss: 0;\n --tabcontent-radius-se: var(--radius-box);\n --tabcontent-radius-es: var(--radius-box);\n --tabcontent-radius-ee: var(--radius-box);\n }\n :checked, label:has(:checked), :is(.tw\\:tab-active, [aria-selected=\"true\"]) {\n & + .tw\\:tab-content {\n &:nth-child(1), &:nth-child(n + 3) {\n --tabcontent-radius-ss: var(--radius-box);\n }\n }\n }\n }\n .tw\\:input {\n cursor: text;\n border: var(--border) solid #0000;\n position: relative;\n display: inline-flex;\n flex-shrink: 1;\n appearance: none;\n align-items: center;\n gap: calc(0.25rem * 2);\n background-color: var(--color-base-100);\n padding-inline: calc(0.25rem * 3);\n vertical-align: middle;\n white-space: nowrap;\n width: clamp(3rem, 20rem, 100%);\n height: var(--size);\n font-size: 0.875rem;\n border-start-start-radius: var(--join-ss, var(--radius-field));\n border-start-end-radius: var(--join-se, var(--radius-field));\n border-end-start-radius: var(--join-es, var(--radius-field));\n border-end-end-radius: var(--join-ee, var(--radius-field));\n border-color: var(--input-color);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n --size: calc(var(--size-field, 0.25rem) * 10);\n --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);\n &:where(input) {\n display: inline-flex;\n }\n :where(input) {\n display: inline-flex;\n height: 100%;\n width: 100%;\n appearance: none;\n background-color: transparent;\n border: none;\n &:focus, &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n &:focus, &:focus-within {\n --input-color: var(--color-base-content);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);\n outline: 2px solid var(--input-color);\n outline-offset: 2px;\n isolation: isolate;\n }\n &:has(> input[disabled]), &:is(:disabled, [disabled]) {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n color: color-mix(in oklab, var(--color-base-content) 40%, transparent);\n &::placeholder {\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n box-shadow: none;\n }\n &:has(> input[disabled]) > input[disabled] {\n cursor: not-allowed;\n }\n &::-webkit-date-and-time-value {\n text-align: inherit;\n }\n &[type=\"number\"] {\n &::-webkit-inner-spin-button {\n margin-block: calc(0.25rem * -3);\n margin-inline-end: calc(0.25rem * -3);\n }\n }\n &::-webkit-calendar-picker-indicator {\n position: absolute;\n inset-inline-end: 0.75em;\n }\n }\n .tw\\:indicator {\n position: relative;\n display: inline-flex;\n width: max-content;\n :where(.tw\\:indicator-item) {\n z-index: 1;\n position: absolute;\n white-space: nowrap;\n top: var(--inidicator-t, 0);\n bottom: var(--inidicator-b, auto);\n left: var(--inidicator-s, auto);\n right: var(--inidicator-e, 0);\n translate: var(--inidicator-x, 50%) var(--indicator-y, -50%);\n }\n }\n .tw\\:table {\n font-size: 0.875rem;\n position: relative;\n width: 100%;\n border-radius: var(--radius-box);\n text-align: left;\n &:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: right;\n }\n tr.tw\\:row-hover {\n &, &:nth-child(even) {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-base-200);\n }\n }\n }\n }\n :where(th, td) {\n padding-inline: calc(0.25rem * 4);\n padding-block: calc(0.25rem * 3);\n vertical-align: middle;\n }\n :where(thead, tfoot) {\n white-space: nowrap;\n color: color-mix(in oklab, var(--color-base-content) 60%, transparent);\n font-size: 0.875rem;\n font-weight: 600;\n }\n :where(tfoot) {\n border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);\n }\n :where(.tw\\:table-pin-rows thead tr) {\n position: sticky;\n top: calc(0.25rem * 0);\n z-index: 1;\n background-color: var(--color-base-100);\n }\n :where(.tw\\:table-pin-rows tfoot tr) {\n position: sticky;\n bottom: calc(0.25rem * 0);\n z-index: 1;\n background-color: var(--color-base-100);\n }\n :where(.tw\\:table-pin-cols tr th) {\n position: sticky;\n right: calc(0.25rem * 0);\n left: calc(0.25rem * 0);\n background-color: var(--color-base-100);\n }\n :where(thead tr, tbody tr:not(:last-child)) {\n border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);\n }\n }\n .tw\\:card {\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--radius-box);\n outline-width: 2px;\n transition: outline 0.2s ease-in-out;\n outline: 0 solid #0000;\n outline-offset: 2px;\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n &:focus-visible {\n outline-color: currentColor;\n }\n :where(figure:first-child) {\n overflow: hidden;\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n border-end-start-radius: unset;\n border-end-end-radius: unset;\n }\n :where(figure:last-child) {\n overflow: hidden;\n border-start-start-radius: unset;\n border-start-end-radius: unset;\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n }\n &:where(.tw\\:card-border) {\n border: var(--border) solid var(--color-base-200);\n }\n &:where(.tw\\:card-dash) {\n border: var(--border) dashed var(--color-base-200);\n }\n &.tw\\:image-full {\n display: grid;\n &:before {\n position: relative;\n grid-column-start: 1;\n grid-row-start: 1;\n border-radius: var(--radius-box);\n background-color: var(--color-neutral);\n opacity: 75%;\n content: \"\";\n }\n > * {\n grid-column-start: 1;\n grid-row-start: 1;\n }\n > .tw\\:card-body {\n position: relative;\n color: var(--color-neutral-content);\n }\n :where(figure) {\n overflow: hidden;\n border-radius: inherit;\n }\n > figure img {\n height: 100%;\n object-fit: cover;\n }\n }\n figure {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n &:has(> input:is(input[type=\"checkbox\"], input[type=\"radio\"])) {\n cursor: pointer;\n user-select: none;\n }\n &:has(> :checked) {\n outline: 2px solid currentColor;\n }\n }\n .tw\\:select {\n border: var(--border) solid #0000;\n position: relative;\n display: inline-flex;\n flex-shrink: 1;\n appearance: none;\n align-items: center;\n gap: calc(0.25rem * 1.5);\n background-color: var(--color-base-100);\n padding-inline-start: calc(0.25rem * 4);\n padding-inline-end: calc(0.25rem * 7);\n vertical-align: middle;\n width: clamp(3rem, 20rem, 100%);\n height: var(--size);\n font-size: 0.875rem;\n border-start-start-radius: var(--join-ss, var(--radius-field));\n border-start-end-radius: var(--join-se, var(--radius-field));\n border-end-start-radius: var(--join-es, var(--radius-field));\n border-end-end-radius: var(--join-ee, var(--radius-field));\n background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);\n background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%);\n background-size: 4px 4px, 4px 4px;\n background-repeat: no-repeat;\n text-overflow: ellipsis;\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n border-color: var(--input-color);\n --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);\n --size: calc(var(--size-field, 0.25rem) * 10);\n [dir=\"rtl\"] & {\n background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%);\n }\n select {\n margin-inline-start: calc(0.25rem * -4);\n margin-inline-end: calc(0.25rem * -7);\n width: calc(100% + 2.75rem);\n appearance: none;\n padding-inline-start: calc(0.25rem * 4);\n padding-inline-end: calc(0.25rem * 7);\n height: calc(100% - 2px);\n background: inherit;\n border-radius: inherit;\n border-style: none;\n &:focus, &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n &:not(:last-child) {\n margin-inline-end: calc(0.25rem * -5.5);\n background-image: none;\n }\n }\n &:focus, &:focus-within {\n --input-color: var(--color-base-content);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);\n outline: 2px solid var(--input-color);\n outline-offset: 2px;\n }\n &:has(> select[disabled]), &:is(:disabled, [disabled]) {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n color: color-mix(in oklab, var(--color-base-content) 40%, transparent);\n &::placeholder {\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n }\n &:has(> select[disabled]) > select[disabled] {\n cursor: not-allowed;\n }\n }\n .tw\\:avatar {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n & > div {\n display: block;\n aspect-ratio: 1 / 1;\n overflow: hidden;\n }\n img {\n height: 100%;\n width: 100%;\n object-fit: cover;\n }\n }\n .tw\\:checkbox {\n border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));\n position: relative;\n flex-shrink: 0;\n cursor: pointer;\n appearance: none;\n border-radius: var(--radius-selector);\n padding: calc(0.25rem * 1);\n vertical-align: middle;\n color: var(--color-base-content);\n box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;\n transition: background-color 0.2s, box-shadow 0.2s;\n --size: calc(var(--size-selector, 0.25rem) * 6);\n width: var(--size);\n height: var(--size);\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--fx-noise);\n &:before {\n --tw-content: \"\";\n content: var(--tw-content);\n display: block;\n width: 100%;\n height: 100%;\n rotate: 45deg;\n background-color: currentColor;\n opacity: 0%;\n transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;\n transition-delay: 0.1s;\n clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);\n box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n font-size: 1rem;\n line-height: 0.75;\n }\n &:focus-visible {\n outline: 2px solid var(--input-color, currentColor);\n outline-offset: 2px;\n }\n &:checked, &[aria-checked=\"true\"] {\n background-color: var(--input-color, #0000);\n box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));\n &:before {\n clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);\n opacity: 100%;\n }\n @media (forced-colors: active) {\n &:before {\n rotate: 0deg;\n background-color: transparent;\n --tw-content: \"✔︎\";\n clip-path: none;\n }\n }\n @media print {\n &:before {\n rotate: 0deg;\n background-color: transparent;\n --tw-content: \"✔︎\";\n clip-path: none;\n }\n }\n }\n &:indeterminate {\n &:before {\n rotate: 0deg;\n opacity: 100%;\n translate: 0 -35%;\n clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);\n }\n }\n &:disabled {\n cursor: not-allowed;\n opacity: 20%;\n }\n }\n .tw\\:stats {\n position: relative;\n display: inline-grid;\n grid-auto-flow: column;\n overflow-x: auto;\n border-radius: var(--radius-box);\n }\n .tw\\:absolute {\n position: absolute;\n }\n .tw\\:fixed {\n position: fixed;\n }\n .tw\\:relative {\n position: relative;\n }\n .tw\\:tooltip-left {\n > .tw\\:tooltip-content, &[data-tip]:before {\n transform: translateX(calc(var(--tt-pos, 0.25rem) - 0.25rem)) translateY(-50%);\n inset: 50% var(--tt-off) auto auto;\n }\n &:after {\n transform: translateX(var(--tt-pos, 0.25rem)) translateY(-50%) rotate(-90deg);\n inset: 50% calc(var(--tt-tail) + 1px) auto auto;\n }\n }\n .tw\\:inset-y-0 {\n inset-block: calc(var(--tw-spacing) * 0);\n }\n .tw\\:dropdown-end {\n --anchor-h: span-left;\n :where(.tw\\:dropdown-content) {\n inset-inline-end: calc(0.25rem * 0);\n translate: 0 0;\n }\n &.tw\\:dropdown-left {\n --anchor-h: left;\n --anchor-v: span-top;\n .tw\\:dropdown-content {\n top: auto;\n bottom: calc(0.25rem * 0);\n }\n }\n &.tw\\:dropdown-right {\n --anchor-h: right;\n --anchor-v: span-top;\n .tw\\:dropdown-content {\n top: auto;\n bottom: calc(0.25rem * 0);\n }\n }\n }\n .tw\\:dropdown-bottom {\n --anchor-v: bottom;\n .tw\\:dropdown-content {\n top: 100%;\n bottom: auto;\n transform-origin: top;\n }\n }\n .tw\\:dropdown-top {\n --anchor-v: top;\n .tw\\:dropdown-content {\n top: auto;\n bottom: 100%;\n transform-origin: bottom;\n }\n }\n .tw\\:-top-2 {\n top: calc(var(--tw-spacing) * -2);\n }\n .tw\\:top-0 {\n top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:top-1 {\n top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:top-2 {\n top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:top-4 {\n top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:top-14 {\n top: calc(var(--tw-spacing) * 14);\n }\n .tw\\:-right-2 {\n right: calc(var(--tw-spacing) * -2);\n }\n .tw\\:right-0 {\n right: calc(var(--tw-spacing) * 0);\n }\n .tw\\:right-1 {\n right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:right-2 {\n right: calc(var(--tw-spacing) * 2);\n }\n .tw\\:right-4 {\n right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:right-5 {\n right: calc(var(--tw-spacing) * 5);\n }\n .tw\\:right-6 {\n right: calc(var(--tw-spacing) * 6);\n }\n .tw\\:bottom-0 {\n bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:bottom-4 {\n bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:bottom-24\\! {\n bottom: calc(var(--tw-spacing) * 24) !important;\n }\n .tw\\:-left-6 {\n left: calc(var(--tw-spacing) * -6);\n }\n .tw\\:left-0 {\n left: calc(var(--tw-spacing) * 0);\n }\n .tw\\:left-0\\! {\n left: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .tw\\:left-4 {\n left: calc(var(--tw-spacing) * 4);\n }\n .tw\\:left-auto\\! {\n left: auto !important;\n }\n .tw\\:file-input {\n cursor: pointer;\n cursor: pointer;\n border: var(--border) solid #0000;\n display: inline-flex;\n appearance: none;\n align-items: center;\n background-color: var(--color-base-100);\n vertical-align: middle;\n webkit-user-select: none;\n user-select: none;\n width: clamp(3rem, 20rem, 100%);\n height: var(--size);\n padding-inline-end: 0.75rem;\n font-size: 0.875rem;\n line-height: 2;\n border-start-start-radius: var(--join-ss, var(--radius-field));\n border-start-end-radius: var(--join-se, var(--radius-field));\n border-end-start-radius: var(--join-es, var(--radius-field));\n border-end-end-radius: var(--join-ee, var(--radius-field));\n border-color: var(--input-color);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n --size: calc(var(--size-field, 0.25rem) * 10);\n --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);\n &::file-selector-button {\n margin-inline-end: calc(0.25rem * 4);\n cursor: pointer;\n padding-inline: calc(0.25rem * 4);\n webkit-user-select: none;\n user-select: none;\n height: calc(100% + var(--border) * 2);\n margin-block: calc(var(--border) * -1);\n margin-inline-start: calc(var(--border) * -1);\n font-size: 0.875rem;\n color: var(--btn-fg);\n border-width: var(--border);\n border-style: solid;\n border-color: var(--btn-border);\n border-start-start-radius: calc(var(--join-ss, var(--radius-field) - var(--border)));\n border-end-start-radius: calc(var(--join-es, var(--radius-field) - var(--border)));\n font-weight: 600;\n background-color: var(--btn-bg);\n background-size: calc(var(--noise) * 100%);\n background-image: var(--btn-noise);\n text-shadow: 0 0.5px oklch(1 0 0 / calc(var(--depth) * 0.15));\n box-shadow: 0 0.5px 0 0.5px color-mix( in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000 ) inset, var(--btn-shadow);\n --size: calc(var(--size-field, 0.25rem) * 10);\n --btn-bg: var(--btn-color, var(--color-base-200));\n --btn-fg: var(--color-base-content);\n --btn-border: color-mix(in oklab, var(--btn-bg), #000 5%);\n --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000),\n 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000);\n --btn-noise: var(--fx-noise);\n }\n &:focus {\n --input-color: var(--color-base-content);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) 10%, #0000);\n outline: 2px solid var(--input-color);\n outline-offset: 2px;\n isolation: isolate;\n }\n &:has(> input[disabled]), &:is(:disabled, [disabled]) {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n &::placeholder {\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n box-shadow: none;\n color: color-mix(in oklch, var(--color-base-content) 20%, #0000);\n &::file-selector-button {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n --btn-border: #0000;\n --btn-noise: none;\n --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);\n }\n }\n }\n .tw\\:textarea {\n border: var(--border) solid #0000;\n min-height: calc(0.25rem * 20);\n flex-shrink: 1;\n appearance: none;\n border-radius: var(--radius-field);\n background-color: var(--color-base-100);\n padding-block: calc(0.25rem * 2);\n vertical-align: middle;\n width: clamp(3rem, 20rem, 100%);\n padding-inline-start: 0.75rem;\n padding-inline-end: 0.75rem;\n font-size: 0.875rem;\n border-color: var(--input-color);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;\n --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);\n textarea {\n appearance: none;\n background-color: transparent;\n border: none;\n &:focus, &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n &:focus, &:focus-within {\n --input-color: var(--color-base-content);\n box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);\n outline: 2px solid var(--input-color);\n outline-offset: 2px;\n isolation: isolate;\n }\n &:has(> textarea[disabled]), &:is(:disabled, [disabled]) {\n cursor: not-allowed;\n border-color: var(--color-base-200);\n background-color: var(--color-base-200);\n color: color-mix(in oklab, var(--color-base-content) 40%, transparent);\n &::placeholder {\n color: color-mix(in oklab, var(--color-base-content) 20%, transparent);\n }\n box-shadow: none;\n }\n &:has(> textarea[disabled]) > textarea[disabled] {\n cursor: not-allowed;\n }\n }\n .tw\\:modal-backdrop {\n grid-column-start: 1;\n grid-row-start: 1;\n display: grid;\n align-self: stretch;\n justify-self: stretch;\n color: transparent;\n z-index: -1;\n button {\n cursor: pointer;\n }\n }\n .tw\\:z-1 {\n z-index: 1;\n }\n .tw\\:z-500 {\n z-index: var(--tw-z-index-500);\n }\n .tw\\:z-999 {\n z-index: 999;\n }\n .tw\\:z-1000 {\n z-index: var(--tw-z-index-1000);\n }\n .tw\\:z-2000 {\n z-index: var(--tw-z-index-2000);\n }\n .tw\\:z-3000 {\n z-index: var(--tw-z-index-3000);\n }\n .tw\\:z-4000 {\n z-index: 4000;\n }\n .tw\\:z-9998 {\n z-index: 9998;\n }\n .tw\\:z-10000 {\n z-index: 10000;\n }\n .tw\\:z-10000\\! {\n z-index: 10000 !important;\n }\n .tw\\:z-10035 {\n z-index: 10035;\n }\n .tw\\:tab-content {\n order: var(--tabcontent-order);\n display: none;\n border-color: transparent;\n --tabcontent-radius-ss: 0;\n --tabcontent-radius-se: 0;\n --tabcontent-radius-es: 0;\n --tabcontent-radius-ee: 0;\n --tabcontent-order: 1;\n width: 100%;\n margin: var(--tabcontent-margin);\n border-width: var(--border);\n border-start-start-radius: var(--tabcontent-radius-ss);\n border-start-end-radius: var(--tabcontent-radius-se);\n border-end-start-radius: var(--tabcontent-radius-es);\n border-end-end-radius: var(--tabcontent-radius-ee);\n }\n .tw\\:col-span-1 {\n grid-column: span 1 / span 1;\n }\n .tw\\:modal-box {\n grid-column-start: 1;\n grid-row-start: 1;\n max-height: 100vh;\n width: calc(11/12 * 100%);\n max-width: 32rem;\n background-color: var(--color-base-100);\n padding: calc(0.25rem * 6);\n transition: translate 0.3s ease-out, scale 0.3s ease-out, opacity 0.2s ease-out 0.05s, box-shadow 0.3s ease-out;\n border-top-left-radius: var(--modal-tl, var(--radius-box));\n border-top-right-radius: var(--modal-tr, var(--radius-box));\n border-bottom-left-radius: var(--modal-bl, var(--radius-box));\n border-bottom-right-radius: var(--modal-br, var(--radius-box));\n scale: 95%;\n opacity: 0;\n box-shadow: oklch(0% 0 0/ 0.25) 0px 25px 50px -12px;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n .tw\\:stat-value {\n grid-column-start: 1;\n white-space: nowrap;\n font-size: 2rem;\n font-weight: 800;\n }\n .tw\\:stat-title {\n grid-column-start: 1;\n white-space: nowrap;\n color: color-mix(in oklab, var(--color-base-content) 60%, transparent);\n font-size: 0.75rem;\n }\n .tw\\:float-left {\n float: left;\n }\n .tw\\:float-right {\n float: right;\n }\n .tw\\:divider {\n display: flex;\n height: calc(0.25rem * 4);\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n white-space: nowrap;\n margin: var(--divider-m, 1rem 0);\n &:before, &:after {\n content: \"\";\n height: calc(0.25rem * 0.5);\n width: 100%;\n flex-grow: 1;\n background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);\n }\n @media print {\n &:before, &:after {\n border: 0.5px solid;\n }\n }\n &:not(:empty) {\n gap: calc(0.25rem * 4);\n }\n }\n .tw\\:m-1 {\n margin: calc(var(--tw-spacing) * 1);\n }\n .tw\\:m-4 {\n margin: calc(var(--tw-spacing) * 4);\n }\n .tw\\:m-4\\! {\n margin: calc(var(--tw-spacing) * 4) !important;\n }\n .tw\\:m-auto {\n margin: auto;\n }\n .tw\\:mx-2 {\n margin-inline: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mx-4 {\n margin-inline: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mx-6 {\n margin-inline: calc(var(--tw-spacing) * 6);\n }\n .tw\\:input-md {\n --size: calc(var(--size-field, 0.25rem) * 10);\n font-size: 0.875rem;\n &[type=\"number\"] {\n &::-webkit-inner-spin-button {\n margin-block: calc(0.25rem * -3);\n margin-inline-end: calc(0.25rem * -3);\n }\n }\n }\n .tw\\:input-sm {\n --size: calc(var(--size-field, 0.25rem) * 8);\n font-size: 0.75rem;\n &[type=\"number\"] {\n &::-webkit-inner-spin-button {\n margin-block: calc(0.25rem * -2);\n margin-inline-end: calc(0.25rem * -3);\n }\n }\n }\n .tw\\:my-0\\! {\n margin-block: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:my-1 {\n margin-block: calc(var(--tw-spacing) * 1);\n }\n .tw\\:my-2 {\n margin-block: calc(var(--tw-spacing) * 2);\n }\n .tw\\:my-2\\! {\n margin-block: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:my-10 {\n margin-block: calc(var(--tw-spacing) * 10);\n }\n .tw\\:label {\n display: inline-flex;\n align-items: center;\n gap: calc(0.25rem * 1.5);\n white-space: nowrap;\n color: color-mix(in oklab, currentColor 60%, transparent);\n &:has(input) {\n cursor: pointer;\n }\n &:is(.tw\\:input > *, .tw\\:select > *) {\n display: flex;\n height: calc(100% - 0.5rem);\n align-items: center;\n padding-inline: calc(0.25rem * 3);\n white-space: nowrap;\n font-size: inherit;\n &:first-child {\n margin-inline-start: calc(0.25rem * -3);\n margin-inline-end: calc(0.25rem * 3);\n border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);\n }\n &:last-child {\n margin-inline-start: calc(0.25rem * 3);\n margin-inline-end: calc(0.25rem * -3);\n border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);\n }\n }\n }\n .tw\\:-mt-2 {\n margin-top: calc(var(--tw-spacing) * -2);\n }\n .tw\\:mt-0 {\n margin-top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:mt-1 {\n margin-top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mt-1\\.5 {\n margin-top: calc(var(--tw-spacing) * 1.5);\n }\n .tw\\:mt-2 {\n margin-top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mt-3 {\n margin-top: calc(var(--tw-spacing) * 3);\n }\n .tw\\:mt-4 {\n margin-top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mt-5 {\n margin-top: calc(var(--tw-spacing) * 5);\n }\n .tw\\:mt-5\\.5 {\n margin-top: calc(var(--tw-spacing) * 5.5);\n }\n .tw\\:mt-6 {\n margin-top: calc(var(--tw-spacing) * 6);\n }\n .tw\\:mt-8 {\n margin-top: calc(var(--tw-spacing) * 8);\n }\n .tw\\:mt-12 {\n margin-top: calc(var(--tw-spacing) * 12);\n }\n .tw\\:mt-16 {\n margin-top: calc(var(--tw-spacing) * 16);\n }\n .tw\\:-mr-4 {\n margin-right: calc(var(--tw-spacing) * -4);\n }\n .tw\\:-mr-6 {\n margin-right: calc(var(--tw-spacing) * -6);\n }\n .tw\\:mr-1 {\n margin-right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mr-2 {\n margin-right: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mr-4 {\n margin-right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mr-5 {\n margin-right: calc(var(--tw-spacing) * 5);\n }\n .tw\\:-mb-1 {\n margin-bottom: calc(var(--tw-spacing) * -1);\n }\n .tw\\:-mb-2 {\n margin-bottom: calc(var(--tw-spacing) * -2);\n }\n .tw\\:-mb-4 {\n margin-bottom: calc(var(--tw-spacing) * -4);\n }\n .tw\\:mb-0 {\n margin-bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:mb-1 {\n margin-bottom: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mb-2 {\n margin-bottom: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mb-3 {\n margin-bottom: calc(var(--tw-spacing) * 3);\n }\n .tw\\:mb-4 {\n margin-bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mb-6 {\n margin-bottom: calc(var(--tw-spacing) * 6);\n }\n .tw\\:mb-10 {\n margin-bottom: calc(var(--tw-spacing) * 10);\n }\n .tw\\:ml-1 {\n margin-left: calc(var(--tw-spacing) * 1);\n }\n .tw\\:ml-2 {\n margin-left: calc(var(--tw-spacing) * 2);\n }\n .tw\\:ml-3 {\n margin-left: calc(var(--tw-spacing) * 3);\n }\n .tw\\:ml-4 {\n margin-left: calc(var(--tw-spacing) * 4);\n }\n .tw\\:ml-14 {\n margin-left: calc(var(--tw-spacing) * 14);\n }\n .tw\\:ml-48 {\n margin-left: calc(var(--tw-spacing) * 48);\n }\n .tw\\:badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: calc(0.25rem * 2);\n border-radius: var(--radius-selector);\n vertical-align: middle;\n color: var(--badge-fg);\n border: var(--border) solid var(--badge-color, var(--color-base-200));\n font-size: 0.875rem;\n width: fit-content;\n padding-inline: calc(0.25rem * 3 - var(--border));\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--fx-noise);\n background-color: var(--badge-bg);\n --badge-bg: var(--badge-color, var(--color-base-100));\n --badge-fg: var(--color-base-content);\n --size: calc(var(--size-selector, 0.25rem) * 6);\n height: var(--size);\n &.tw\\:badge-outline {\n --badge-fg: var(--badge-color);\n --badge-bg: #0000;\n background-image: none;\n }\n &.tw\\:badge-dash {\n --badge-fg: var(--badge-color);\n --badge-bg: #0000;\n border-style: dashed;\n background-image: none;\n }\n &.tw\\:badge-soft {\n color: var(--badge-color, var(--color-base-content));\n background-color: color-mix( in oklab, var(--badge-color, var(--color-base-content)) 8%, var(--color-base-100) );\n border-color: color-mix( in oklab, var(--badge-color, var(--color-base-content)) 10%, var(--color-base-100) );\n background-image: none;\n }\n }\n .tw\\:tabs {\n display: flex;\n flex-wrap: wrap;\n --tabs-height: auto;\n --tabs-direction: row;\n height: var(--tabs-height);\n flex-direction: var(--tabs-direction);\n }\n .tw\\:navbar {\n display: flex;\n width: 100%;\n align-items: center;\n padding: 0.5rem;\n min-height: 4rem;\n }\n .tw\\:stat {\n display: inline-grid;\n width: 100%;\n column-gap: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 6);\n padding-block: calc(0.25rem * 4);\n grid-template-columns: repeat(1, 1fr);\n &:not(:last-child) {\n border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);\n border-block-end: none;\n }\n }\n .tw\\:card-body {\n display: flex;\n flex: auto;\n flex-direction: column;\n gap: calc(0.25rem * 2);\n padding: var(--card-p, 1.5rem);\n font-size: var(--card-fs, 0.875rem);\n :where(p) {\n flex-grow: 1;\n }\n }\n .tw\\:alert {\n display: grid;\n align-items: center;\n gap: calc(0.25rem * 4);\n border-radius: var(--radius-box);\n padding-inline: calc(0.25rem * 4);\n padding-block: calc(0.25rem * 3);\n color: var(--color-base-content);\n background-color: var(--alert-color, var(--color-base-200));\n justify-content: start;\n justify-items: start;\n grid-auto-flow: column;\n grid-template-columns: auto minmax(auto, 1fr);\n text-align: start;\n border: var(--border) solid var(--color-base-200);\n font-size: 0.875rem;\n line-height: 1.25rem;\n background-size: auto, calc(var(--noise) * 100%);\n background-image: none, var(--fx-noise);\n box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px color-mix( in oklab, color-mix(in oklab, #000 20%, var(--alert-color, var(--color-base-200))) calc(var(--depth) * 20%), #0000 ), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));\n &.tw\\:alert-outline {\n background-color: transparent;\n color: var(--alert-color);\n box-shadow: none;\n background-image: none;\n }\n &.tw\\:alert-dash {\n background-color: transparent;\n color: var(--alert-color);\n border-style: dashed;\n box-shadow: none;\n background-image: none;\n }\n &.tw\\:alert-soft {\n color: var(--alert-color, var(--color-base-content));\n background: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 8%, var(--color-base-100) );\n border-color: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 10%, var(--color-base-100) );\n box-shadow: none;\n background-image: none;\n }\n }\n .tw\\:card-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: calc(0.25rem * 2);\n }\n .tw\\:card-title {\n display: flex;\n align-items: center;\n gap: calc(0.25rem * 2);\n font-size: var(--cardtitle-fs, 1.125rem);\n font-weight: 600;\n }\n .tw\\:mask {\n display: inline-block;\n vertical-align: middle;\n mask-size: contain;\n mask-repeat: no-repeat;\n mask-position: center;\n }\n .tw\\:block {\n display: block;\n }\n .tw\\:flex {\n display: flex;\n }\n .tw\\:grid {\n display: grid;\n }\n .tw\\:hidden {\n display: none;\n }\n .tw\\:inline {\n display: inline;\n }\n .tw\\:inline-block {\n display: inline-block;\n }\n .tw\\:inline-flex {\n display: inline-flex;\n }\n .tw\\:table {\n display: table;\n }\n .tw\\:btn-circle {\n border-radius: calc(infinity * 1px);\n padding-inline: calc(0.25rem * 0);\n width: var(--size);\n height: var(--size);\n }\n .tw\\:btn-square {\n padding-inline: calc(0.25rem * 0);\n width: var(--size);\n height: var(--size);\n }\n .tw\\:\\!h-\\[calc\\(100\\%-48px\\)\\] {\n height: calc(100% - 48px) !important;\n }\n .tw\\:\\!h-\\[calc\\(100dvh-280px\\)\\] {\n height: calc(100dvh - 280px) !important;\n }\n .tw\\:h-2 {\n height: calc(var(--tw-spacing) * 2);\n }\n .tw\\:h-3 {\n height: calc(var(--tw-spacing) * 3);\n }\n .tw\\:h-3\\/4 {\n height: calc(3/4 * 100%);\n }\n .tw\\:h-4 {\n height: calc(var(--tw-spacing) * 4);\n }\n .tw\\:h-5 {\n height: calc(var(--tw-spacing) * 5);\n }\n .tw\\:h-6 {\n height: calc(var(--tw-spacing) * 6);\n }\n .tw\\:h-8 {\n height: calc(var(--tw-spacing) * 8);\n }\n .tw\\:h-10 {\n height: calc(var(--tw-spacing) * 10);\n }\n .tw\\:h-12 {\n height: calc(var(--tw-spacing) * 12);\n }\n .tw\\:h-20 {\n height: calc(var(--tw-spacing) * 20);\n }\n .tw\\:h-24 {\n height: calc(var(--tw-spacing) * 24);\n }\n .tw\\:h-28 {\n height: calc(var(--tw-spacing) * 28);\n }\n .tw\\:h-32 {\n height: calc(var(--tw-spacing) * 32);\n }\n .tw\\:h-40 {\n height: calc(var(--tw-spacing) * 40);\n }\n .tw\\:h-48 {\n height: calc(var(--tw-spacing) * 48);\n }\n .tw\\:h-\\[2em\\] {\n height: 2em;\n }\n .tw\\:h-\\[calc\\(50\\%-0\\.75em\\)\\] {\n height: calc(50% - 0.75em);\n }\n .tw\\:h-\\[calc\\(50\\%-1\\.5em\\)\\] {\n height: calc(50% - 1.5em);\n }\n .tw\\:h-\\[calc\\(100\\%-1rem\\)\\] {\n height: calc(100% - 1rem);\n }\n .tw\\:h-\\[calc\\(100dvh-22px\\)\\] {\n height: calc(100dvh - 22px);\n }\n .tw\\:h-\\[calc\\(100dvh-64px\\)\\] {\n height: calc(100dvh - 64px);\n }\n .tw\\:h-\\[calc\\(100dvh-268px\\)\\] {\n height: calc(100dvh - 268px);\n }\n .tw\\:h-fit {\n height: fit-content;\n }\n .tw\\:h-full {\n height: 100%;\n }\n .tw\\:max-h-64 {\n max-height: calc(var(--tw-spacing) * 64);\n }\n .tw\\:max-h-\\[calc\\(100dvh-96px\\)\\] {\n max-height: calc(100dvh - 96px);\n }\n .tw\\:max-h-\\[calc\\(100dvh-152px\\)\\] {\n max-height: calc(100dvh - 152px);\n }\n .tw\\:min-h-0 {\n min-height: calc(var(--tw-spacing) * 0);\n }\n .tw\\:min-h-56 {\n min-height: var(--tw-min-height-56);\n }\n .tw\\:min-h-80 {\n min-height: var(--tw-min-height-80);\n }\n .tw\\:min-h-\\[5em\\] {\n min-height: 5em;\n }\n .tw\\:min-h-\\[21px\\] {\n min-height: 21px;\n }\n .tw\\:btn-block {\n width: 100%;\n }\n .tw\\:loading-lg {\n width: calc(var(--size-selector, 0.25rem) * 7);\n }\n .tw\\:loading-md {\n width: calc(var(--size-selector, 0.25rem) * 6);\n }\n .tw\\:loading-sm {\n width: calc(var(--size-selector, 0.25rem) * 5);\n }\n .tw\\:w-1 {\n width: calc(var(--tw-spacing) * 1);\n }\n .tw\\:w-2 {\n width: calc(var(--tw-spacing) * 2);\n }\n .tw\\:w-4 {\n width: calc(var(--tw-spacing) * 4);\n }\n .tw\\:w-5 {\n width: calc(var(--tw-spacing) * 5);\n }\n .tw\\:w-6 {\n width: calc(var(--tw-spacing) * 6);\n }\n .tw\\:w-8 {\n width: calc(var(--tw-spacing) * 8);\n }\n .tw\\:w-10 {\n width: calc(var(--tw-spacing) * 10);\n }\n .tw\\:w-12 {\n width: calc(var(--tw-spacing) * 12);\n }\n .tw\\:w-14 {\n width: calc(var(--tw-spacing) * 14);\n }\n .tw\\:w-20 {\n width: calc(var(--tw-spacing) * 20);\n }\n .tw\\:w-28 {\n width: calc(var(--tw-spacing) * 28);\n }\n .tw\\:w-36 {\n width: calc(var(--tw-spacing) * 36);\n }\n .tw\\:w-48 {\n width: calc(var(--tw-spacing) * 48);\n }\n .tw\\:w-52 {\n width: var(--tw-container-52);\n }\n .tw\\:w-80 {\n width: calc(var(--tw-spacing) * 80);\n }\n .tw\\:w-83 {\n width: calc(var(--tw-spacing) * 83);\n }\n .tw\\:w-96 {\n width: calc(var(--tw-spacing) * 96);\n }\n .tw\\:w-\\[calc\\(100\\%-32px\\)\\] {\n width: calc(100% - 32px);\n }\n .tw\\:w-\\[calc\\(100vw-2rem\\)\\] {\n width: calc(100vw - 2rem);\n }\n .tw\\:w-fit {\n width: fit-content;\n }\n .tw\\:w-full {\n width: 100%;\n }\n .tw\\:w-xl {\n width: var(--tw-container-xl);\n }\n .tw\\:max-w-3xl {\n max-width: var(--tw-container-3xl);\n }\n .tw\\:max-w-69 {\n max-width: calc(var(--tw-spacing) * 69);\n }\n .tw\\:max-w-\\[17rem\\] {\n max-width: 17rem;\n }\n .tw\\:max-w-\\[22rem\\] {\n max-width: 22rem;\n }\n .tw\\:max-w-\\[calc\\(100\\%-60px\\)\\] {\n max-width: calc(100% - 60px);\n }\n .tw\\:max-w-full {\n max-width: 100%;\n }\n .tw\\:max-w-xl {\n max-width: var(--tw-container-xl);\n }\n .tw\\:max-w-xs {\n max-width: var(--tw-container-xs);\n }\n .tw\\:min-w-0 {\n min-width: calc(var(--tw-spacing) * 0);\n }\n .tw\\:min-w-80 {\n min-width: var(--tw-min-width-80);\n }\n .tw\\:min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .tw\\:min-w-\\[10\\.4em\\] {\n min-width: 10.4em;\n }\n .tw\\:min-w-\\[10em\\] {\n min-width: 10em;\n }\n .tw\\:min-w-fit {\n min-width: fit-content;\n }\n .tw\\:flex-1 {\n flex: 1;\n }\n .tw\\:flex-none {\n flex: none;\n }\n .tw\\:shrink {\n flex-shrink: 1;\n }\n .tw\\:grow {\n flex-grow: 1;\n }\n .tw\\:basis-1\\/5 {\n flex-basis: calc(1/5 * 100%);\n }\n .tw\\:basis-2\\/5 {\n flex-basis: calc(2/5 * 100%);\n }\n .tw\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:-translate-x-full {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:translate-x-0 {\n --tw-translate-x: calc(var(--tw-spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:translate-x-1\\/3 {\n --tw-translate-x: calc(1/3 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:-translate-y-1\\/3 {\n --tw-translate-y: calc(calc(1/3 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:rotate-180 {\n rotate: 180deg;\n }\n .tw\\:transform {\n transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);\n }\n .tw\\:animate-none {\n animation: none;\n }\n .tw\\:cursor-pointer {\n cursor: pointer;\n }\n .tw\\:cursor-text {\n cursor: text;\n }\n .tw\\:resize-none {\n resize: none;\n }\n .tw\\:list-inside {\n list-style-position: inside;\n }\n .tw\\:list-decimal {\n list-style-type: decimal;\n }\n .tw\\:list-disc {\n list-style-type: disc;\n }\n .tw\\:list-none {\n list-style-type: none;\n }\n .tw\\:columns-1 {\n columns: 1;\n }\n .tw\\:break-inside-avoid {\n break-inside: avoid;\n }\n .tw\\:stats-horizontal {\n grid-auto-flow: column;\n overflow-x: auto;\n .tw\\:stat:not(:last-child) {\n border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);\n border-block-end: none;\n }\n }\n .tw\\:grid-flow-col {\n grid-auto-flow: column;\n }\n .tw\\:grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .tw\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .tw\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .tw\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n .tw\\:flex-col {\n flex-direction: column;\n }\n .tw\\:flex-row {\n flex-direction: row;\n }\n .tw\\:flex-wrap {\n flex-wrap: wrap;\n }\n .tw\\:place-content-center {\n place-content: center;\n }\n .tw\\:place-content-end {\n place-content: end;\n }\n .tw\\:place-items-center {\n place-items: center;\n }\n .tw\\:place-items-end {\n place-items: end;\n }\n .tw\\:items-center {\n align-items: center;\n }\n .tw\\:justify-between {\n justify-content: space-between;\n }\n .tw\\:justify-center {\n justify-content: center;\n }\n .tw\\:justify-end {\n justify-content: flex-end;\n }\n .tw\\:justify-normal {\n justify-content: normal;\n }\n .tw\\:justify-start {\n justify-content: flex-start;\n }\n .tw\\:gap-2 {\n gap: calc(var(--tw-spacing) * 2);\n }\n .tw\\:gap-6 {\n gap: calc(var(--tw-spacing) * 6);\n }\n .tw\\:space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .tw\\:space-x-3 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 3) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .tw\\:place-self-center {\n place-self: center;\n }\n .tw\\:place-self-end {\n place-self: end;\n }\n .tw\\:self-center {\n align-self: center;\n }\n .tw\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .tw\\:overflow-auto {\n overflow: auto;\n }\n .tw\\:overflow-hidden {\n overflow: hidden;\n }\n .tw\\:overflow-scroll {\n overflow: scroll;\n }\n .tw\\:overflow-x-auto {\n overflow-x: auto;\n }\n .tw\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .tw\\:overflow-y-auto {\n overflow-y: auto;\n }\n .tw\\:rounded {\n border-radius: 0.25rem;\n }\n .tw\\:rounded-2xl {\n border-radius: var(--tw-radius-2xl);\n }\n .tw\\:rounded-box {\n border-radius: var(--radius-box);\n }\n .tw\\:rounded-box {\n border-radius: var(--radius-box);\n }\n .tw\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .tw\\:rounded-md {\n border-radius: var(--tw-radius-md);\n }\n .tw\\:rounded-none {\n border-radius: 0;\n }\n .tw\\:rounded-none\\! {\n border-radius: 0 !important;\n }\n .tw\\:rounded-xl {\n border-radius: var(--tw-radius-xl);\n }\n .tw\\:rounded-tl-none {\n border-top-left-radius: 0;\n }\n .tw\\:rounded-tr-md {\n border-top-right-radius: var(--tw-radius-md);\n }\n .tw\\:rounded-b-none {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n .tw\\:rounded-br-md {\n border-bottom-right-radius: var(--tw-radius-md);\n }\n .tw\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .tw\\:border-1 {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-4 {\n border-style: var(--tw-border-style);\n border-width: 4px;\n }\n .tw\\:border-\\[1px\\] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-t-0 {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n .tw\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .tw\\:border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .tw\\:border-\\(--fallback-bc\\,oklch\\(var\\(--bc\\)\\/0\\.2\\)\\) {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n }\n .tw\\:border-base-200 {\n border-color: var(--color-base-200);\n }\n .tw\\:border-base-300 {\n border-color: var(--color-base-300);\n }\n .tw\\:border-current {\n border-color: currentColor;\n }\n .tw\\:border-current\\/10 {\n border-color: color-mix(in oklab, currentColor 10%, transparent);\n }\n .tw\\:bg-base-100 {\n background-color: var(--color-base-100);\n }\n .tw\\:bg-base-200 {\n background-color: var(--color-base-200);\n }\n .tw\\:bg-base-300 {\n background-color: var(--color-base-300);\n }\n .tw\\:bg-gray-200 {\n background-color: var(--tw-color-gray-200);\n }\n .tw\\:bg-neutral-content {\n background-color: var(--color-neutral-content);\n }\n .tw\\:bg-primary {\n background-color: var(--color-primary);\n }\n .tw\\:bg-slate-200 {\n background-color: var(--tw-color-slate-200);\n }\n .tw\\:bg-transparent {\n background-color: transparent;\n }\n .tw\\:bg-white {\n background-color: var(--tw-color-white);\n }\n .tw\\:fill-current {\n fill: currentColor;\n }\n .tw\\:stroke-3 {\n stroke-width: 3;\n }\n .tw\\:stroke-\\[2\\.5\\] {\n stroke-width: 2.5;\n }\n .tw\\:object-cover {\n object-fit: cover;\n }\n .tw\\:checkbox-xs {\n padding: 0.125rem;\n --size: calc(var(--size-selector, 0.25rem) * 4);\n }\n .tw\\:p-0 {\n padding: calc(var(--tw-spacing) * 0);\n }\n .tw\\:p-0\\! {\n padding: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:p-1 {\n padding: calc(var(--tw-spacing) * 1);\n }\n .tw\\:p-2 {\n padding: calc(var(--tw-spacing) * 2);\n }\n .tw\\:p-3 {\n padding: calc(var(--tw-spacing) * 3);\n }\n .tw\\:p-4 {\n padding: calc(var(--tw-spacing) * 4);\n }\n .tw\\:p-4\\! {\n padding: calc(var(--tw-spacing) * 4) !important;\n }\n .tw\\:p-6 {\n padding: calc(var(--tw-spacing) * 6);\n }\n .tw\\:p-9\\! {\n padding: calc(var(--tw-spacing) * 9) !important;\n }\n .tw\\:p-\\[1px\\] {\n padding: 1px;\n }\n .tw\\:px-0 {\n padding-inline: calc(var(--tw-spacing) * 0);\n }\n .tw\\:px-2 {\n padding-inline: calc(var(--tw-spacing) * 2);\n }\n .tw\\:px-4 {\n padding-inline: calc(var(--tw-spacing) * 4);\n }\n .tw\\:px-6 {\n padding-inline: calc(var(--tw-spacing) * 6);\n }\n .tw\\:px-8 {\n padding-inline: calc(var(--tw-spacing) * 8);\n }\n .tw\\:py-0\\.5 {\n padding-block: calc(var(--tw-spacing) * 0.5);\n }\n .tw\\:py-1 {\n padding-block: calc(var(--tw-spacing) * 1);\n }\n .tw\\:py-2 {\n padding-block: calc(var(--tw-spacing) * 2);\n }\n .tw\\:ps-2\\! {\n padding-inline-start: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:pe-2\\! {\n padding-inline-end: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:pt-0 {\n padding-top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:pt-1 {\n padding-top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pt-2 {\n padding-top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:pt-4 {\n padding-top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pt-6 {\n padding-top: calc(var(--tw-spacing) * 6);\n }\n .tw\\:pr-1 {\n padding-right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pr-4 {\n padding-right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pr-12 {\n padding-right: calc(var(--tw-spacing) * 12);\n }\n .tw\\:pb-0 {\n padding-bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:pb-1 {\n padding-bottom: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pb-2 {\n padding-bottom: calc(var(--tw-spacing) * 2);\n }\n .tw\\:pb-4 {\n padding-bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pb-6 {\n padding-bottom: calc(var(--tw-spacing) * 6);\n }\n .tw\\:pl-2 {\n padding-left: calc(var(--tw-spacing) * 2);\n }\n .tw\\:text-center {\n text-align: center;\n }\n .tw\\:text-right {\n text-align: right;\n }\n .tw\\:align-middle {\n vertical-align: middle;\n }\n .tw\\:text-2xl {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n }\n .tw\\:text-3xl {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n }\n .tw\\:text-6xl {\n font-size: var(--tw-text-6xl);\n line-height: var(--tw-leading, var(--tw-text-6xl--line-height));\n }\n .tw\\:text-base {\n font-size: var(--tw-text-base);\n line-height: var(--tw-leading, var(--tw-text-base--line-height));\n }\n .tw\\:text-lg {\n font-size: var(--tw-text-lg);\n line-height: var(--tw-leading, var(--tw-text-lg--line-height));\n }\n .tw\\:text-sm {\n font-size: var(--tw-text-sm);\n line-height: var(--tw-leading, var(--tw-text-sm--line-height));\n }\n .tw\\:text-xl {\n font-size: var(--tw-text-xl);\n line-height: var(--tw-leading, var(--tw-text-xl--line-height));\n }\n .tw\\:text-xs {\n font-size: var(--tw-text-xs);\n line-height: var(--tw-leading, var(--tw-text-xs--line-height));\n }\n .tw\\:text-map {\n font-size: var(--tw-text-map);\n }\n .tw\\:leading-3 {\n --tw-leading: calc(var(--tw-spacing) * 3);\n line-height: calc(var(--tw-spacing) * 3);\n }\n .tw\\:leading-5 {\n --tw-leading: calc(var(--tw-spacing) * 5);\n line-height: calc(var(--tw-spacing) * 5);\n }\n .tw\\:leading-map {\n --tw-leading: var(--tw-leading-map);\n line-height: var(--tw-leading-map);\n }\n .tw\\:font-bold {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n .tw\\:font-medium {\n --tw-font-weight: var(--tw-font-weight-medium);\n font-weight: var(--tw-font-weight-medium);\n }\n .tw\\:font-normal {\n --tw-font-weight: var(--tw-font-weight-normal);\n font-weight: var(--tw-font-weight-normal);\n }\n .tw\\:font-semibold {\n --tw-font-weight: var(--tw-font-weight-semibold);\n font-weight: var(--tw-font-weight-semibold);\n }\n .tw\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .tw\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .tw\\:checkbox-success {\n color: var(--color-success-content);\n --input-color: var(--color-success);\n }\n .tw\\:text-base-content {\n color: var(--color-base-content);\n }\n .tw\\:text-base-content\\! {\n color: var(--color-base-content) !important;\n }\n .tw\\:text-current {\n color: currentColor;\n }\n .tw\\:text-error {\n color: var(--color-error);\n }\n .tw\\:text-error\\! {\n color: var(--color-error) !important;\n }\n .tw\\:text-gray-400 {\n color: var(--tw-color-gray-400);\n }\n .tw\\:text-gray-500 {\n color: var(--tw-color-gray-500);\n }\n .tw\\:text-gray-600 {\n color: var(--tw-color-gray-600);\n }\n .tw\\:text-green-500 {\n color: var(--tw-color-green-500);\n }\n .tw\\:text-neutral-content {\n color: var(--color-neutral-content);\n }\n .tw\\:text-primary {\n color: var(--color-primary);\n }\n .tw\\:text-red-500 {\n color: var(--tw-color-red-500);\n }\n .tw\\:text-white {\n color: var(--tw-color-white);\n }\n .tw\\:text-zinc-500 {\n color: var(--tw-color-zinc-500);\n }\n .tw\\:normal-case {\n text-transform: none;\n }\n .tw\\:italic {\n font-style: italic;\n }\n .tw\\:underline {\n text-decoration-line: underline;\n }\n .tw\\:opacity-0 {\n opacity: 0%;\n }\n .tw\\:opacity-50 {\n opacity: 50%;\n }\n .tw\\:opacity-60 {\n opacity: 60%;\n }\n .tw\\:opacity-100 {\n opacity: 100%;\n }\n .tw\\:shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:btn-ghost {\n &:not(.tw\\:btn-active, :hover, :active:focus, :focus-visible) {\n --btn-shadow: \"\";\n --btn-bg: #0000;\n --btn-border: #0000;\n --btn-noise: none;\n &:not(:disabled, [disabled], .tw\\:btn-disabled) {\n outline-color: currentColor;\n --btn-fg: currentColor;\n }\n }\n }\n .tw\\:drop-shadow-md {\n --tw-drop-shadow: drop-shadow(var(--tw-drop-shadow-md));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .tw\\:backdrop-brightness-75 {\n --tw-backdrop-brightness: brightness(75%);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .tw\\:transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-none {\n transition-property: none;\n }\n .tw\\:delay-400 {\n transition-delay: 400ms;\n }\n .tw\\:duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .tw\\:duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .tw\\:duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .tw\\:ease-in {\n --tw-ease: var(--tw-ease-in);\n transition-timing-function: var(--tw-ease-in);\n }\n .tw\\:btn-lg {\n --fontsize: 1.125rem;\n --btn-p: 1.25rem;\n --size: calc(var(--size-field, 0.25rem) * 12);\n }\n .tw\\:btn-sm {\n --fontsize: 0.75rem;\n --btn-p: 0.75rem;\n --size: calc(var(--size-field, 0.25rem) * 8);\n }\n .tw\\:btn-xs {\n --fontsize: 0.6875rem;\n --btn-p: 0.5rem;\n --size: calc(var(--size-field, 0.25rem) * 6);\n }\n .tw\\:badge-success {\n --badge-color: var(--color-success);\n --badge-fg: var(--color-success-content);\n }\n .tw\\:btn-error {\n --btn-color: var(--color-error);\n --btn-fg: var(--color-error-content);\n }\n .tw\\:btn-neutral {\n --btn-color: var(--color-neutral);\n --btn-fg: var(--color-neutral-content);\n }\n .tw\\:btn-primary {\n --btn-color: var(--color-primary);\n --btn-fg: var(--color-primary-content);\n }\n .tw\\:loading-spinner {\n mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E\");\n }\n .tw\\:mask-circle {\n mask-image: url(\"data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e\");\n }\n .tw\\:mask-hexagon-2 {\n mask-image: url(\"data:image/svg+xml,%3csvg width='200' height='182' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M64.786 181.4c-9.196 0-20.063-6.687-25.079-14.21L3.762 105.33c-5.016-8.36-5.016-20.9 0-29.259l35.945-61.86C44.723 5.851 55.59 0 64.786 0h71.055c9.196 0 20.063 6.688 25.079 14.211l35.945 61.86c4.18 8.36 4.18 20.899 0 29.258l-35.945 61.86c-4.18 8.36-15.883 14.211-25.079 14.211H64.786Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e\");\n }\n .tw\\:mask-squircle {\n mask-image: url(\"data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 0C20 0 0 20 0 100s20 100 100 100 100-20 100-100S180 0 100 0Z'/%3e%3c/svg%3e\");\n }\n .tw\\:hover\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\n }\n }\n }\n .tw\\:hover\\:bg-base-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-base-200);\n }\n }\n }\n .tw\\:hover\\:bg-slate-300 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--tw-color-slate-300);\n }\n }\n }\n .tw\\:hover\\:bg-transparent {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n .tw\\:hover\\:font-bold {\n &:hover {\n @media (hover: hover) {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n }\n }\n .tw\\:hover\\:text-primary {\n &:hover {\n @media (hover: hover) {\n color: var(--color-primary);\n }\n }\n }\n .tw\\:hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .tw\\:focus\\:ring-0 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .tw\\:focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .tw\\:focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .tw\\:sm\\:left-auto\\! {\n @media (width >= 40rem) {\n left: auto !important;\n }\n }\n .tw\\:sm\\:w-2xl {\n @media (width >= 40rem) {\n width: var(--tw-container-2xl);\n }\n }\n .tw\\:sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:mb-0 {\n @media (width >= 48rem) {\n margin-bottom: calc(var(--tw-spacing) * 0);\n }\n }\n .tw\\:md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .tw\\:md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .tw\\:md\\:w-1\\/2 {\n @media (width >= 48rem) {\n width: calc(1/2 * 100%);\n }\n }\n .tw\\:md\\:w-\\[calc\\(50\\%-32px\\)\\] {\n @media (width >= 48rem) {\n width: calc(50% - 32px);\n }\n }\n .tw\\:md\\:columns-2 {\n @media (width >= 48rem) {\n columns: 2;\n }\n }\n .tw\\:md\\:grid-cols-1 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:space-x-4 {\n @media (width >= 48rem) {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n }\n .tw\\:md\\:text-2xl {\n @media (width >= 48rem) {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n }\n }\n .tw\\:lg\\:columns-3 {\n @media (width >= 64rem) {\n columns: 3;\n }\n }\n .tw\\:lg\\:grid-cols-1 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:xl\\:max-w-6xl {\n @media (width >= 80rem) {\n max-width: var(--tw-container-6xl);\n }\n }\n .tw\\:xl\\:grid-cols-1 {\n @media (width >= 80rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:xl\\:text-3xl {\n @media (width >= 80rem) {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n }\n }\n .tw\\:2xl\\:columns-4 {\n @media (width >= 96rem) {\n columns: 4;\n }\n }\n .tw\\:2xl\\:grid-cols-2 {\n @media (width >= 96rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:dark\\:bg-zinc-800 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--tw-color-zinc-800);\n }\n }\n}\n@layer base {\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n border-color: var(--color-gray-200, currentColor);\n }\n}\n.modal {\n z-index: 1200 !important;\n}\n.menu li a {\n border-radius: 10px;\n}\n.modal {\n z-index: 1200 !important;\n max-height: 100dvh;\n}\n.modal-box {\n max-height: calc(100dvh - 2em);\n}\n@layer base {\n :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {\n color-scheme: light;\n --color-base-100: oklch(100% 0 0);\n --color-base-200: oklch(98% 0 0);\n --color-base-300: oklch(95% 0 0);\n --color-base-content: oklch(21% 0.006 285.885);\n --color-primary: oklch(45% 0.24 277.023);\n --color-primary-content: oklch(93% 0.034 272.788);\n --color-secondary: oklch(65% 0.241 354.308);\n --color-secondary-content: oklch(94% 0.028 342.258);\n --color-accent: oklch(77% 0.152 181.912);\n --color-accent-content: oklch(38% 0.063 188.416);\n --color-neutral: oklch(14% 0.005 285.823);\n --color-neutral-content: oklch(92% 0.004 286.32);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(76% 0.177 163.223);\n --color-success-content: oklch(37% 0.077 168.94);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(71% 0.194 13.428);\n --color-error-content: oklch(27% 0.105 12.094);\n --radius-selector: 0.5rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n @media (prefers-color-scheme: dark) {\n :root {\n color-scheme: dark;\n --color-base-100: oklch(25.33% 0.016 252.42);\n --color-base-200: oklch(23.26% 0.014 253.1);\n --color-base-300: oklch(21.15% 0.012 254.09);\n --color-base-content: oklch(97.807% 0.029 256.847);\n --color-primary: oklch(58% 0.233 277.117);\n --color-primary-content: oklch(96% 0.018 272.314);\n --color-secondary: oklch(65% 0.241 354.308);\n --color-secondary-content: oklch(94% 0.028 342.258);\n --color-accent: oklch(77% 0.152 181.912);\n --color-accent-content: oklch(38% 0.063 188.416);\n --color-neutral: oklch(14% 0.005 285.823);\n --color-neutral-content: oklch(92% 0.004 286.32);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(76% 0.177 163.223);\n --color-success-content: oklch(37% 0.077 168.94);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(71% 0.194 13.428);\n --color-error-content: oklch(27% 0.105 12.094);\n --radius-selector: 0.5rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=light]:checked),[data-theme=light] {\n color-scheme: light;\n --color-base-100: oklch(100% 0 0);\n --color-base-200: oklch(98% 0 0);\n --color-base-300: oklch(95% 0 0);\n --color-base-content: oklch(21% 0.006 285.885);\n --color-primary: oklch(45% 0.24 277.023);\n --color-primary-content: oklch(93% 0.034 272.788);\n --color-secondary: oklch(65% 0.241 354.308);\n --color-secondary-content: oklch(94% 0.028 342.258);\n --color-accent: oklch(77% 0.152 181.912);\n --color-accent-content: oklch(38% 0.063 188.416);\n --color-neutral: oklch(14% 0.005 285.823);\n --color-neutral-content: oklch(92% 0.004 286.32);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(76% 0.177 163.223);\n --color-success-content: oklch(37% 0.077 168.94);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(71% 0.194 13.428);\n --color-error-content: oklch(27% 0.105 12.094);\n --radius-selector: 0.5rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {\n color-scheme: dark;\n --color-base-100: oklch(25.33% 0.016 252.42);\n --color-base-200: oklch(23.26% 0.014 253.1);\n --color-base-300: oklch(21.15% 0.012 254.09);\n --color-base-content: oklch(97.807% 0.029 256.847);\n --color-primary: oklch(58% 0.233 277.117);\n --color-primary-content: oklch(96% 0.018 272.314);\n --color-secondary: oklch(65% 0.241 354.308);\n --color-secondary-content: oklch(94% 0.028 342.258);\n --color-accent: oklch(77% 0.152 181.912);\n --color-accent-content: oklch(38% 0.063 188.416);\n --color-neutral: oklch(14% 0.005 285.823);\n --color-neutral-content: oklch(92% 0.004 286.32);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(76% 0.177 163.223);\n --color-success-content: oklch(37% 0.077 168.94);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(71% 0.194 13.428);\n --color-error-content: oklch(27% 0.105 12.094);\n --radius-selector: 0.5rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=valentine]:checked),[data-theme=valentine] {\n color-scheme: light;\n --color-base-100: oklch(97% 0.014 343.198);\n --color-base-200: oklch(94% 0.028 342.258);\n --color-base-300: oklch(89% 0.061 343.231);\n --color-base-content: oklch(52% 0.223 3.958);\n --color-primary: oklch(65% 0.241 354.308);\n --color-primary-content: oklch(100% 0 0);\n --color-secondary: oklch(62% 0.265 303.9);\n --color-secondary-content: oklch(97% 0.014 308.299);\n --color-accent: oklch(82% 0.111 230.318);\n --color-accent-content: oklch(39% 0.09 240.876);\n --color-neutral: oklch(40% 0.153 2.432);\n --color-neutral-content: oklch(89% 0.061 343.231);\n --color-info: oklch(86% 0.127 207.078);\n --color-info-content: oklch(44% 0.11 240.79);\n --color-success: oklch(84% 0.143 164.978);\n --color-success-content: oklch(43% 0.095 166.913);\n --color-warning: oklch(75% 0.183 55.934);\n --color-warning-content: oklch(26% 0.079 36.259);\n --color-error: oklch(63% 0.237 25.331);\n --color-error-content: oklch(97% 0.013 17.38);\n --radius-selector: 1rem;\n --radius-field: 2rem;\n --radius-box: 1rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 0;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=retro]:checked),[data-theme=retro] {\n color-scheme: light;\n --color-base-100: oklch(91.637% 0.034 90.515);\n --color-base-200: oklch(88.272% 0.049 91.774);\n --color-base-300: oklch(84.133% 0.065 90.856);\n --color-base-content: oklch(41% 0.112 45.904);\n --color-primary: oklch(80% 0.114 19.571);\n --color-primary-content: oklch(39% 0.141 25.723);\n --color-secondary: oklch(92% 0.084 155.995);\n --color-secondary-content: oklch(44% 0.119 151.328);\n --color-accent: oklch(68% 0.162 75.834);\n --color-accent-content: oklch(41% 0.112 45.904);\n --color-neutral: oklch(44% 0.011 73.639);\n --color-neutral-content: oklch(86% 0.005 56.366);\n --color-info: oklch(58% 0.158 241.966);\n --color-info-content: oklch(96% 0.059 95.617);\n --color-success: oklch(51% 0.096 186.391);\n --color-success-content: oklch(96% 0.059 95.617);\n --color-warning: oklch(64% 0.222 41.116);\n --color-warning-content: oklch(96% 0.059 95.617);\n --color-error: oklch(70% 0.191 22.216);\n --color-error-content: oklch(40% 0.123 38.172);\n --radius-selector: 0.25rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 0;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=aqua]:checked),[data-theme=aqua] {\n color-scheme: dark;\n --color-base-100: oklch(37% 0.146 265.522);\n --color-base-200: oklch(28% 0.091 267.935);\n --color-base-300: oklch(22% 0.091 267.935);\n --color-base-content: oklch(90% 0.058 230.902);\n --color-primary: oklch(85.661% 0.144 198.645);\n --color-primary-content: oklch(40.124% 0.068 197.603);\n --color-secondary: oklch(60.682% 0.108 309.782);\n --color-secondary-content: oklch(96% 0.016 293.756);\n --color-accent: oklch(93.426% 0.102 94.555);\n --color-accent-content: oklch(18.685% 0.02 94.555);\n --color-neutral: oklch(27% 0.146 265.522);\n --color-neutral-content: oklch(80% 0.146 265.522);\n --color-info: oklch(54.615% 0.215 262.88);\n --color-info-content: oklch(90.923% 0.043 262.88);\n --color-success: oklch(62.705% 0.169 149.213);\n --color-success-content: oklch(12.541% 0.033 149.213);\n --color-warning: oklch(66.584% 0.157 58.318);\n --color-warning-content: oklch(27% 0.077 45.635);\n --color-error: oklch(73.95% 0.19 27.33);\n --color-error-content: oklch(14.79% 0.038 27.33);\n --radius-selector: 1rem;\n --radius-field: 0.5rem;\n --radius-box: 1rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=cyberpunk]:checked),[data-theme=cyberpunk] {\n color-scheme: light;\n --color-base-100: oklch(94.51% 0.179 104.32);\n --color-base-200: oklch(91.51% 0.179 104.32);\n --color-base-300: oklch(85.51% 0.179 104.32);\n --color-base-content: oklch(0% 0 0);\n --color-primary: oklch(74.22% 0.209 6.35);\n --color-primary-content: oklch(14.844% 0.041 6.35);\n --color-secondary: oklch(83.33% 0.184 204.72);\n --color-secondary-content: oklch(16.666% 0.036 204.72);\n --color-accent: oklch(71.86% 0.217 310.43);\n --color-accent-content: oklch(14.372% 0.043 310.43);\n --color-neutral: oklch(23.04% 0.065 269.31);\n --color-neutral-content: oklch(94.51% 0.179 104.32);\n --color-info: oklch(72.06% 0.191 231.6);\n --color-info-content: oklch(0% 0 0);\n --color-success: oklch(64.8% 0.15 160);\n --color-success-content: oklch(0% 0 0);\n --color-warning: oklch(84.71% 0.199 83.87);\n --color-warning-content: oklch(0% 0 0);\n --color-error: oklch(71.76% 0.221 22.18);\n --color-error-content: oklch(0% 0 0);\n --radius-selector: 0rem;\n --radius-field: 0rem;\n --radius-box: 0rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 0;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=caramellatte]:checked),[data-theme=caramellatte] {\n color-scheme: light;\n --color-base-100: oklch(98% 0.016 73.684);\n --color-base-200: oklch(95% 0.038 75.164);\n --color-base-300: oklch(90% 0.076 70.697);\n --color-base-content: oklch(40% 0.123 38.172);\n --color-primary: oklch(0% 0 0);\n --color-primary-content: oklch(100% 0 0);\n --color-secondary: oklch(22.45% 0.075 37.85);\n --color-secondary-content: oklch(90% 0.076 70.697);\n --color-accent: oklch(46.44% 0.111 37.85);\n --color-accent-content: oklch(90% 0.076 70.697);\n --color-neutral: oklch(55% 0.195 38.402);\n --color-neutral-content: oklch(98% 0.016 73.684);\n --color-info: oklch(42% 0.199 265.638);\n --color-info-content: oklch(90% 0.076 70.697);\n --color-success: oklch(43% 0.095 166.913);\n --color-success-content: oklch(90% 0.076 70.697);\n --color-warning: oklch(82% 0.189 84.429);\n --color-warning-content: oklch(41% 0.112 45.904);\n --color-error: oklch(70% 0.191 22.216);\n --color-error-content: oklch(39% 0.141 25.723);\n --radius-selector: 2rem;\n --radius-field: 0.5rem;\n --radius-box: 1rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 2px;\n --depth: 1;\n --noise: 1;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=abyss]:checked),[data-theme=abyss] {\n color-scheme: dark;\n --color-base-100: oklch(20% 0.08 209);\n --color-base-200: oklch(15% 0.08 209);\n --color-base-300: oklch(10% 0.08 209);\n --color-base-content: oklch(90% 0.076 70.697);\n --color-primary: oklch(92% 0.2653 125);\n --color-primary-content: oklch(50% 0.2653 125);\n --color-secondary: oklch(83.27% 0.0764 298.3);\n --color-secondary-content: oklch(43.27% 0.0764 298.3);\n --color-accent: oklch(43% 0 0);\n --color-accent-content: oklch(98% 0 0);\n --color-neutral: oklch(30% 0.08 209);\n --color-neutral-content: oklch(90% 0.076 70.697);\n --color-info: oklch(74% 0.16 232.661);\n --color-info-content: oklch(29% 0.066 243.157);\n --color-success: oklch(79% 0.209 151.711);\n --color-success-content: oklch(26% 0.065 152.934);\n --color-warning: oklch(84.8% 0.1962 84.62);\n --color-warning-content: oklch(44.8% 0.1962 84.62);\n --color-error: oklch(65% 0.1985 24.22);\n --color-error-content: oklch(27% 0.1985 24.22);\n --radius-selector: 2rem;\n --radius-field: 0.25rem;\n --radius-box: 0.5rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 1px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n :root:has(input.theme-controller[value=silk]:checked),[data-theme=silk] {\n color-scheme: light;\n --color-base-100: oklch(97% 0.0035 67.78);\n --color-base-200: oklch(95% 0.0081 61.42);\n --color-base-300: oklch(90% 0.0081 61.42);\n --color-base-content: oklch(40% 0.0081 61.42);\n --color-primary: oklch(23.27% 0.0249 284.3);\n --color-primary-content: oklch(94.22% 0.2505 117.44);\n --color-secondary: oklch(23.27% 0.0249 284.3);\n --color-secondary-content: oklch(73.92% 0.2135 50.94);\n --color-accent: oklch(23.27% 0.0249 284.3);\n --color-accent-content: oklch(88.92% 0.2061 189.9);\n --color-neutral: oklch(20% 0 0);\n --color-neutral-content: oklch(80% 0.0081 61.42);\n --color-info: oklch(80.39% 0.1148 241.68);\n --color-info-content: oklch(30.39% 0.1148 241.68);\n --color-success: oklch(83.92% 0.0901 136.87);\n --color-success-content: oklch(23.92% 0.0901 136.87);\n --color-warning: oklch(83.92% 0.1085 80);\n --color-warning-content: oklch(43.92% 0.1085 80);\n --color-error: oklch(75.1% 0.1814 22.37);\n --color-error-content: oklch(35.1% 0.1814 22.37);\n --radius-selector: 2rem;\n --radius-field: 0.5rem;\n --radius-box: 1rem;\n --size-selector: 0.25rem;\n --size-field: 0.25rem;\n --border: 2px;\n --depth: 1;\n --noise: 0;\n }\n}\n@layer base {\n @property --radialprogress {\n syntax: \"<percentage>\";\n inherits: true;\n initial-value: 0%;\n }\n}\n@layer base {\n :root {\n scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;\n }\n}\n@layer base {\n :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not([class*=\"drawer-open\"]) > .drawer-toggle:checked ) {\n overflow: hidden;\n }\n}\n@layer base {\n :root,\n[data-theme] {\n background-color: var(--root-bg, var(--color-base-100));\n color: var(--color-base-content);\n }\n}\n@layer base {\n :root {\n --fx-noise: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E\");\n }\n .chat {\n --mask-chat: url(\"data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e\");\n }\n}\n@layer base {\n :where(\n :root:has(\n .modal-open,\n .modal[open],\n .modal:target,\n .modal-toggle:checked,\n .drawer:not(.drawer-open) > .drawer-toggle:checked\n )\n) {\n scrollbar-gutter: stable;\n background-image: linear-gradient(var(--color-base-100), var(--color-base-100));\n --root-bg: color-mix(in srgb, var(--color-base-100), oklch(0% 0 0) 40%);\n }\n}\n@keyframes skeleton {\n 0% {\n background-position: 150%;\n }\n 100% {\n background-position: -50%;\n }\n}\n@keyframes progress {\n 50% {\n background-position-x: -115%;\n }\n}\n@keyframes radio {\n 0% {\n padding: 5px;\n }\n 50% {\n padding: 3px;\n }\n}\n@keyframes dropdown {\n 0% {\n opacity: 0;\n }\n}\n@keyframes rating {\n 0%, 40% {\n scale: 1.1;\n filter: brightness(1.05) contrast(1.05);\n }\n}\n@keyframes toast {\n 0% {\n scale: 0.9;\n opacity: 0;\n }\n 100% {\n scale: 1;\n opacity: 1;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateX(0);\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateY(0);\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateZ(0);\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n initial-value: skewX(0);\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n initial-value: skewY(0);\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n";
|
61
|
+
var css_248z$8 = ".masonry {\n column-count: 1;\n column-gap: 1.5rem;\n}\n\n.masonry-item {\n break-inside: avoid;\n margin-bottom: 1.5rem;\n}\n\n@media (min-width: 640px) {\n .masonry {\n column-count: 2;\n }\n}\n\n@media (min-width: 1024px) {\n .masonry {\n column-count: 3;\n }\n}\n\n@media (min-width: 1536px) {\n .masonry {\n column-count: 4;\n }\n}";
|
59
62
|
styleInject(css_248z$8);
|
60
63
|
|
61
|
-
var css_248z$7 = "
|
64
|
+
var css_248z$7 = ":root {\n --toastify-color-info: var(--color-info);\n --toastify-color-success: var(--color-success);\n --toastify-color-warning: var(--color-warning);\n --toastify-color-error: var(--color-error);\n}\n\n.Toastify__toast {\n border-radius: var(--radius-box);\n --shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-colored: 0 20px 25px -5px var(--shadow-color), 0 8px 10px -6px var(--shadow-color);\n box-shadow: var(--ring-offset-shadow, 0 0 #0000), var(--ring-shadow, 0 0 #0000), var(--shadow);\n margin-left: 1rem;\n margin-right: 1rem;\n margin-bottom: 1rem;\n background-color: var(--color-base-100);\n color: var(--color-base-content);\n}\n\n.Toastify__toast-container {\n z-index: 2001 !important;\n}\n\n.Toastify__toast-container--top-right {\n top: 4.75em !important;\n}";
|
62
65
|
styleInject(css_248z$7);
|
63
66
|
|
64
|
-
var css_248z$6 = "
|
67
|
+
var css_248z$6 = ".custom-file-upload {\n cursor: pointer;\n}\n\ninput[type=\"file\"] {\n display: none;\n}\n\n.custom-file-upload:hover .button {\n opacity: 0.8;\n}\n\n.custom-file-upload .button {\n transition: .5s ease;\n opacity: 0;\n position: absolute;\n transform: translate(8px, 8px);\n}";
|
65
68
|
styleInject(css_248z$6);
|
66
69
|
|
67
|
-
var css_248z$5 = ".
|
70
|
+
var css_248z$5 = ".fade {\n mask-image: linear-gradient(180deg, transparent, #000 1%, #000 99%, transparent);\n}\n\n.placeholder-center::placeholder {\n text-align: center;\n}\n\ninput {\n box-sizing: border-box;\n}\n\ntextarea {\n box-sizing: border-box;\n}\n\n.crosshair-cursor-enabled {\n cursor: crosshair;\n}\n\n.marker-cluster span {\n color: #000;\n}";
|
68
71
|
styleInject(css_248z$5);
|
69
72
|
|
70
|
-
var css_248z$4 = ".
|
73
|
+
var css_248z$4 = ".svg-container {\n position: relative;\n width: 33px; /* gleiche Breite wie das untere SVG */\n height: 44px; /* gleiche Höhe wie das untere SVG */\n }\n \n .overlay-svg {\n position: absolute;\n width: 12.5px;\n top: calc(50% - 5px);\n left: 50%;\n transform: translate(-50%, -50%);\n }";
|
71
74
|
styleInject(css_248z$4);
|
72
75
|
|
73
|
-
var css_248z$3 = ".
|
76
|
+
var css_248z$3 = " .leaflet-control-attribution {\n display: none;\n}\n\n.leaflet-control-locate {\n display: none;\n}\n\n.leaflet-data-marker {\n background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAQCAYAAACcN8ZaAAAB3klEQVR42s3U4UdDURzG8czMXJnJ1Vwzc6VJZjaZJdlMlpQsKdmUFNOUspRSSqUolfQfr+fF98Vx5mwv9qbDx7LdznnO7/7Omej3+/+Ga0QMUYkhbvBgmhzCQxwxibIGrGEF8CQhU+LLtKQkQNqScUgjxRxTBIxbgfgD/BgnhM8kM5KTeclLQYqGkkMRBckzR8ic/mAgd5BAZplsUaqyIg2sDtHg2brUZJk5SmwopErJUWE8SpmTMhNvya60Zd/SNrR4bkeaskG4uiwRZk6yrJEYFibGAxn+scECHTmTnuVCzvmty3PHciB7bGKN6lQkzysPqIrHmpFhYbKUtckC1/Ioz4ZHuZdbuSLYiRxRpSZVWXZVxAzC0R4Ik5SQsu6w8yd5l2/5kg95I9SdXMoZQfYIUjeqEUrgOkXGPeN4TYRhxy8E+ZUf+eS7B7miIoeybVSjKDnm8u3+gH3pDTYwu1igATvs/pXqvBKiR4i2bNJfi1ZfUAnjgrOG8wY2quNzBKuU/ZS+uSFEl5O0xRGuUIlZCcw7xG5QPkeHYUSNV5WXGou2sC3rBC0LjenqCXGO0WEiTJa0Lr4KixdHBrDGuGGiRqCUpFk8pGIpQtCU7p4YPwxYxEMCk1aAMQZh8Ac8PfbIzYPJOwAAAABJRU5ErkJggg==') no-repeat;\n background-position: 6px 32px;\n}\n\n.leaflet-container {\n cursor: inherit;\n}\n\n.leaflet-popup-scrolled {\n overflow-x: hidden;\n}\n\n.leaflet-popup-content-wrapper, .leaflet-popup-tip{\n background-color: var(--color-base-100);\n color: var(--color-base-content);\n border-radius: var(--radius-box);\n}\n\n.leaflet-popup-tip-container, .leaflet-popup-tip{\n border-radius: 0;\n}\n\n.leaflet-tooltip {\n background-color: var(--color-base-100);\n color: var(--color-base-content);\n border-width: 0px;\n}\n\n.leaflet-tooltip {\n border-radius: var(--radius-box);\n transition: opacity 500ms;\n transition-delay: 50ms;\n}\n\n.leaflet-tooltip::before {\n border-top-color: var(--color-base-100);\n}\n\n.leaflet-container {\n text-align: left;\n background-image: url(\"data:image/svg+xml,%3Csvg width='40' height='40' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-attachment: fixed;\n background-position: 50% 80%;\n}\n\n.leaflet-popup-close-button span {\n color: var(--color-base-content);\n opacity: 50%;\n}\n\n.leaflet-top {\n top: 6em\n}\n\n.leaflet-left {\n left: 0.5em\n}\n\n.leaflet-control-zoom {\n border-radius: var(--radius-box);\n color: var(--color-base-content);\n background-color: var(--color-base-100);\n width: calc(var(--tw-spacing) * 10);\n border: 2px solid var(--color-base-300) !important;\n box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1) !important;\n}\n\n.leaflet-control-zoom-in {\n border-top-left-radius: var(--radius-box) !important;\n border-top-right-radius: var(--radius-box) !important;\n color: var(--color-base-content) !important;\n background-color: var(--color-base-100) !important;\n width: calc(var(--tw-spacing) * 9) !important;\n border-bottom: 1px solid var(--color-base-300) !important;\n height: calc(var(--tw-spacing) * 9) !important;\n line-height: 40px !important;\n}\n\n.leaflet-control-zoom-out {\n border-bottom-left-radius: var(--radius-box) !important;\n border-bottom-right-radius: var(--radius-box) !important;\n color: var(--color-base-content) !important;\n background-color: var(--color-base-100) !important;\n width: calc(var(--tw-spacing) * 9) !important;\n height: calc(var(--tw-spacing) * 9) !important;\n line-height: 40px !important;\n}\n\n";
|
74
77
|
styleInject(css_248z$3);
|
75
78
|
|
76
|
-
var css_248z$2 = "
|
79
|
+
var css_248z$2 = ".picker {\n position: relative;\n}\n\n.swatch {\n width: 28px;\n height: 28px;\n border-radius: 8px;\n border: 3px solid #fff;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 36px;\n border-radius: 9px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);\n}";
|
77
80
|
styleInject(css_248z$2);
|
78
81
|
|
79
|
-
var css_248z$1 = ".picker {\n position: relative;\n}\n\n.swatch {\n width: 28px;\n height: 28px;\n border-radius: 8px;\n border: 3px solid #fff;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 36px;\n border-radius: 9px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);\n}";
|
82
|
+
var css_248z$1 = "/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --tw-color-red-500: oklch(0.637 0.237 25.331);\n --tw-color-green-500: oklch(0.723 0.219 149.579);\n --tw-color-slate-200: oklch(0.929 0.013 255.508);\n --tw-color-slate-300: oklch(0.869 0.022 252.894);\n --tw-color-gray-200: oklch(0.928 0.006 264.531);\n --tw-color-gray-400: oklch(0.707 0.022 261.325);\n --tw-color-gray-500: oklch(0.551 0.027 264.364);\n --tw-color-gray-600: oklch(0.446 0.03 256.802);\n --tw-color-zinc-500: oklch(0.552 0.016 285.938);\n --tw-color-zinc-800: oklch(0.274 0.006 286.033);\n --tw-color-white: #fff;\n --tw-spacing: 0.25rem;\n --tw-container-xs: 20rem;\n --tw-container-xl: 36rem;\n --tw-container-2xl: 42rem;\n --tw-container-3xl: 48rem;\n --tw-container-6xl: 72rem;\n --tw-text-xs: 0.75rem;\n --tw-text-xs--line-height: calc(1 / 0.75);\n --tw-text-sm: 0.875rem;\n --tw-text-sm--line-height: calc(1.25 / 0.875);\n --tw-text-base: 1rem;\n --tw-text-base--line-height: calc(1.5 / 1);\n --tw-text-lg: 1.125rem;\n --tw-text-lg--line-height: calc(1.75 / 1.125);\n --tw-text-xl: 1.25rem;\n --tw-text-xl--line-height: calc(1.75 / 1.25);\n --tw-text-2xl: 1.5rem;\n --tw-text-2xl--line-height: calc(2 / 1.5);\n --tw-text-3xl: 1.875rem;\n --tw-text-3xl--line-height: calc(2.25 / 1.875);\n --tw-text-6xl: 3.75rem;\n --tw-text-6xl--line-height: 1;\n --tw-font-weight-normal: 400;\n --tw-font-weight-medium: 500;\n --tw-font-weight-semibold: 600;\n --tw-font-weight-bold: 700;\n --tw-leading-relaxed: 1.625;\n --tw-radius-md: 0.375rem;\n --tw-radius-xl: 0.75rem;\n --tw-radius-2xl: 1rem;\n --tw-drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --tw-ease-in: cubic-bezier(0.4, 0, 1, 1);\n --tw-aspect-video: 16 / 9;\n --tw-default-transition-duration: 150ms;\n --tw-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" );\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var( --default-font-variation-settings, normal );\n -webkit-tap-highlight-color: transparent;\n }\n body {\n line-height: inherit;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var( --default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace );\n font-feature-settings: var( --default-mono-font-feature-settings, normal );\n font-variation-settings: var( --default-mono-font-variation-settings, normal );\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .tw\\:\\@container {\n container-type: inline-size;\n }\n .tw\\:pointer-events-auto {\n pointer-events: auto;\n }\n .tw\\:pointer-events-none {\n pointer-events: none;\n }\n .tw\\:absolute {\n position: absolute;\n }\n .tw\\:fixed {\n position: fixed;\n }\n .tw\\:relative {\n position: relative;\n }\n .tw\\:inset-y-0 {\n inset-block: calc(var(--tw-spacing) * 0);\n }\n .tw\\:-top-2 {\n top: calc(var(--tw-spacing) * -2);\n }\n .tw\\:top-0 {\n top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:top-1 {\n top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:top-2 {\n top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:top-4 {\n top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:top-14 {\n top: calc(var(--tw-spacing) * 14);\n }\n .tw\\:-right-2 {\n right: calc(var(--tw-spacing) * -2);\n }\n .tw\\:right-0 {\n right: calc(var(--tw-spacing) * 0);\n }\n .tw\\:right-1 {\n right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:right-2 {\n right: calc(var(--tw-spacing) * 2);\n }\n .tw\\:right-4 {\n right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:right-5 {\n right: calc(var(--tw-spacing) * 5);\n }\n .tw\\:right-6 {\n right: calc(var(--tw-spacing) * 6);\n }\n .tw\\:bottom-0 {\n bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:bottom-4 {\n bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:bottom-24\\! {\n bottom: calc(var(--tw-spacing) * 24) !important;\n }\n .tw\\:-left-6 {\n left: calc(var(--tw-spacing) * -6);\n }\n .tw\\:left-0 {\n left: calc(var(--tw-spacing) * 0);\n }\n .tw\\:left-0\\! {\n left: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .tw\\:left-4 {\n left: calc(var(--tw-spacing) * 4);\n }\n .tw\\:left-auto\\! {\n left: auto !important;\n }\n .tw\\:z-1 {\n z-index: 1;\n }\n .tw\\:z-500 {\n z-index: 500;\n }\n .tw\\:z-999 {\n z-index: 999;\n }\n .tw\\:z-1000 {\n z-index: 1000;\n }\n .tw\\:z-2000 {\n z-index: 2000;\n }\n .tw\\:z-3000 {\n z-index: 3000;\n }\n .tw\\:z-4000 {\n z-index: 4000;\n }\n .tw\\:z-9998 {\n z-index: 9998;\n }\n .tw\\:z-10000 {\n z-index: 10000;\n }\n .tw\\:z-10000\\! {\n z-index: 10000 !important;\n }\n .tw\\:z-10035 {\n z-index: 10035;\n }\n .tw\\:col-span-1 {\n grid-column: span 1 / span 1;\n }\n .tw\\:float-left {\n float: left;\n }\n .tw\\:float-right {\n float: right;\n }\n .tw\\:m-1 {\n margin: calc(var(--tw-spacing) * 1);\n }\n .tw\\:m-4 {\n margin: calc(var(--tw-spacing) * 4);\n }\n .tw\\:m-4\\! {\n margin: calc(var(--tw-spacing) * 4) !important;\n }\n .tw\\:m-auto {\n margin: auto;\n }\n .tw\\:mx-0\\.5 {\n margin-inline: calc(var(--tw-spacing) * 0.5);\n }\n .tw\\:mx-1 {\n margin-inline: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mx-2 {\n margin-inline: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mx-4 {\n margin-inline: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mx-6 {\n margin-inline: calc(var(--tw-spacing) * 6);\n }\n .tw\\:my-0\\! {\n margin-block: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:my-1 {\n margin-block: calc(var(--tw-spacing) * 1);\n }\n .tw\\:my-2 {\n margin-block: calc(var(--tw-spacing) * 2);\n }\n .tw\\:my-10 {\n margin-block: calc(var(--tw-spacing) * 10);\n }\n .tw\\:-mt-2 {\n margin-top: calc(var(--tw-spacing) * -2);\n }\n .tw\\:mt-0 {\n margin-top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:mt-1 {\n margin-top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mt-1\\.5 {\n margin-top: calc(var(--tw-spacing) * 1.5);\n }\n .tw\\:mt-2 {\n margin-top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mt-3 {\n margin-top: calc(var(--tw-spacing) * 3);\n }\n .tw\\:mt-4 {\n margin-top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mt-5 {\n margin-top: calc(var(--tw-spacing) * 5);\n }\n .tw\\:mt-5\\.5 {\n margin-top: calc(var(--tw-spacing) * 5.5);\n }\n .tw\\:mt-6 {\n margin-top: calc(var(--tw-spacing) * 6);\n }\n .tw\\:mt-8 {\n margin-top: calc(var(--tw-spacing) * 8);\n }\n .tw\\:mt-12 {\n margin-top: calc(var(--tw-spacing) * 12);\n }\n .tw\\:mt-16 {\n margin-top: calc(var(--tw-spacing) * 16);\n }\n .tw\\:-mr-4 {\n margin-right: calc(var(--tw-spacing) * -4);\n }\n .tw\\:-mr-6 {\n margin-right: calc(var(--tw-spacing) * -6);\n }\n .tw\\:mr-1 {\n margin-right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mr-2 {\n margin-right: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mr-4 {\n margin-right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mr-5 {\n margin-right: calc(var(--tw-spacing) * 5);\n }\n .tw\\:-mb-1 {\n margin-bottom: calc(var(--tw-spacing) * -1);\n }\n .tw\\:-mb-2 {\n margin-bottom: calc(var(--tw-spacing) * -2);\n }\n .tw\\:-mb-4 {\n margin-bottom: calc(var(--tw-spacing) * -4);\n }\n .tw\\:mb-0 {\n margin-bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:mb-1 {\n margin-bottom: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mb-2 {\n margin-bottom: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mb-3 {\n margin-bottom: calc(var(--tw-spacing) * 3);\n }\n .tw\\:mb-4 {\n margin-bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mb-6 {\n margin-bottom: calc(var(--tw-spacing) * 6);\n }\n .tw\\:mb-10 {\n margin-bottom: calc(var(--tw-spacing) * 10);\n }\n .tw\\:ml-1 {\n margin-left: calc(var(--tw-spacing) * 1);\n }\n .tw\\:ml-2 {\n margin-left: calc(var(--tw-spacing) * 2);\n }\n .tw\\:ml-3 {\n margin-left: calc(var(--tw-spacing) * 3);\n }\n .tw\\:ml-4 {\n margin-left: calc(var(--tw-spacing) * 4);\n }\n .tw\\:ml-14 {\n margin-left: calc(var(--tw-spacing) * 14);\n }\n .tw\\:ml-48 {\n margin-left: calc(var(--tw-spacing) * 48);\n }\n .tw\\:block {\n display: block;\n }\n .tw\\:flex {\n display: flex;\n }\n .tw\\:grid {\n display: grid;\n }\n .tw\\:hidden {\n display: none;\n }\n .tw\\:inline {\n display: inline;\n }\n .tw\\:inline-block {\n display: inline-block;\n }\n .tw\\:inline-flex {\n display: inline-flex;\n }\n .tw\\:table {\n display: table;\n }\n .tw\\:\\!h-\\[calc\\(100dvh-280px\\)\\] {\n height: calc(100dvh - 280px) !important;\n }\n .tw\\:h-2 {\n height: calc(var(--tw-spacing) * 2);\n }\n .tw\\:h-3 {\n height: calc(var(--tw-spacing) * 3);\n }\n .tw\\:h-3\\/4 {\n height: calc(3/4 * 100%);\n }\n .tw\\:h-4 {\n height: calc(var(--tw-spacing) * 4);\n }\n .tw\\:h-5 {\n height: calc(var(--tw-spacing) * 5);\n }\n .tw\\:h-6 {\n height: calc(var(--tw-spacing) * 6);\n }\n .tw\\:h-8 {\n height: calc(var(--tw-spacing) * 8);\n }\n .tw\\:h-10 {\n height: calc(var(--tw-spacing) * 10);\n }\n .tw\\:h-12 {\n height: calc(var(--tw-spacing) * 12);\n }\n .tw\\:h-20 {\n height: calc(var(--tw-spacing) * 20);\n }\n .tw\\:h-24 {\n height: calc(var(--tw-spacing) * 24);\n }\n .tw\\:h-28 {\n height: calc(var(--tw-spacing) * 28);\n }\n .tw\\:h-32 {\n height: calc(var(--tw-spacing) * 32);\n }\n .tw\\:h-36 {\n height: calc(var(--tw-spacing) * 36);\n }\n .tw\\:h-40 {\n height: calc(var(--tw-spacing) * 40);\n }\n .tw\\:h-48 {\n height: calc(var(--tw-spacing) * 48);\n }\n .tw\\:h-64 {\n height: calc(var(--tw-spacing) * 64);\n }\n .tw\\:h-\\[2em\\] {\n height: 2em;\n }\n .tw\\:h-\\[calc\\(50\\%-0\\.75em\\)\\] {\n height: calc(50% - 0.75em);\n }\n .tw\\:h-\\[calc\\(50\\%-1\\.5em\\)\\] {\n height: calc(50% - 1.5em);\n }\n .tw\\:h-\\[calc\\(100\\%-1rem\\)\\] {\n height: calc(100% - 1rem);\n }\n .tw\\:h-\\[calc\\(100dvh-22px\\)\\] {\n height: calc(100dvh - 22px);\n }\n .tw\\:h-\\[calc\\(100dvh-64px\\)\\] {\n height: calc(100dvh - 64px);\n }\n .tw\\:h-\\[calc\\(100dvh-268px\\)\\] {\n height: calc(100dvh - 268px);\n }\n .tw\\:h-fit {\n height: fit-content;\n }\n .tw\\:h-full {\n height: 100%;\n }\n .tw\\:max-h-64 {\n max-height: calc(var(--tw-spacing) * 64);\n }\n .tw\\:max-h-124 {\n max-height: calc(var(--tw-spacing) * 124);\n }\n .tw\\:max-h-136 {\n max-height: calc(var(--tw-spacing) * 136);\n }\n .tw\\:max-h-\\[1000px\\] {\n max-height: 1000px;\n }\n .tw\\:max-h-\\[calc\\(100dvh-96px\\)\\] {\n max-height: calc(100dvh - 96px);\n }\n .tw\\:max-h-\\[calc\\(100dvh-152px\\)\\] {\n max-height: calc(100dvh - 152px);\n }\n .tw\\:max-h-full {\n max-height: 100%;\n }\n .tw\\:min-h-0 {\n min-height: calc(var(--tw-spacing) * 0);\n }\n .tw\\:min-h-36 {\n min-height: calc(var(--tw-spacing) * 36);\n }\n .tw\\:min-h-42 {\n min-height: calc(var(--tw-spacing) * 42);\n }\n .tw\\:min-h-56 {\n min-height: calc(var(--tw-spacing) * 56);\n }\n .tw\\:min-h-80 {\n min-height: calc(var(--tw-spacing) * 80);\n }\n .tw\\:min-h-\\[5em\\] {\n min-height: 5em;\n }\n .tw\\:min-h-\\[21px\\] {\n min-height: 21px;\n }\n .tw\\:w-1 {\n width: calc(var(--tw-spacing) * 1);\n }\n .tw\\:w-2 {\n width: calc(var(--tw-spacing) * 2);\n }\n .tw\\:w-4 {\n width: calc(var(--tw-spacing) * 4);\n }\n .tw\\:w-5 {\n width: calc(var(--tw-spacing) * 5);\n }\n .tw\\:w-6 {\n width: calc(var(--tw-spacing) * 6);\n }\n .tw\\:w-8 {\n width: calc(var(--tw-spacing) * 8);\n }\n .tw\\:w-10 {\n width: calc(var(--tw-spacing) * 10);\n }\n .tw\\:w-12 {\n width: calc(var(--tw-spacing) * 12);\n }\n .tw\\:w-14 {\n width: calc(var(--tw-spacing) * 14);\n }\n .tw\\:w-20 {\n width: calc(var(--tw-spacing) * 20);\n }\n .tw\\:w-28 {\n width: calc(var(--tw-spacing) * 28);\n }\n .tw\\:w-36 {\n width: calc(var(--tw-spacing) * 36);\n }\n .tw\\:w-48 {\n width: calc(var(--tw-spacing) * 48);\n }\n .tw\\:w-52 {\n width: calc(var(--tw-spacing) * 52);\n }\n .tw\\:w-80 {\n width: calc(var(--tw-spacing) * 80);\n }\n .tw\\:w-83 {\n width: calc(var(--tw-spacing) * 83);\n }\n .tw\\:w-96 {\n width: calc(var(--tw-spacing) * 96);\n }\n .tw\\:w-\\[1px\\] {\n width: 1px;\n }\n .tw\\:w-\\[calc\\(100\\%-32px\\)\\] {\n width: calc(100% - 32px);\n }\n .tw\\:w-\\[calc\\(100vw-2rem\\)\\] {\n width: calc(100vw - 2rem);\n }\n .tw\\:w-fit {\n width: fit-content;\n }\n .tw\\:w-full {\n width: 100%;\n }\n .tw\\:w-xl {\n width: var(--tw-container-xl);\n }\n .tw\\:max-w-3xl {\n max-width: var(--tw-container-3xl);\n }\n .tw\\:max-w-69 {\n max-width: calc(var(--tw-spacing) * 69);\n }\n .tw\\:max-w-\\[17rem\\] {\n max-width: 17rem;\n }\n .tw\\:max-w-\\[22rem\\] {\n max-width: 22rem;\n }\n .tw\\:max-w-\\[calc\\(100\\%-60px\\)\\] {\n max-width: calc(100% - 60px);\n }\n .tw\\:max-w-full {\n max-width: 100%;\n }\n .tw\\:max-w-xl {\n max-width: var(--tw-container-xl);\n }\n .tw\\:max-w-xs {\n max-width: var(--tw-container-xs);\n }\n .tw\\:min-w-0 {\n min-width: calc(var(--tw-spacing) * 0);\n }\n .tw\\:min-w-80 {\n min-width: calc(var(--tw-spacing) * 80);\n }\n .tw\\:min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .tw\\:min-w-\\[10\\.4em\\] {\n min-width: 10.4em;\n }\n .tw\\:min-w-fit {\n min-width: fit-content;\n }\n .tw\\:flex-1 {\n flex: 1;\n }\n .tw\\:flex-none {\n flex: none;\n }\n .tw\\:shrink {\n flex-shrink: 1;\n }\n .tw\\:flex-grow {\n flex-grow: 1;\n }\n .tw\\:grow {\n flex-grow: 1;\n }\n .tw\\:basis-1\\/5 {\n flex-basis: calc(1/5 * 100%);\n }\n .tw\\:basis-2\\/5 {\n flex-basis: calc(2/5 * 100%);\n }\n .tw\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:-translate-x-full {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:translate-x-0 {\n --tw-translate-x: calc(var(--tw-spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:translate-x-1\\/3 {\n --tw-translate-x: calc(1/3 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:-translate-y-1\\/3 {\n --tw-translate-y: calc(calc(1/3 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:rotate-180 {\n rotate: 180deg;\n }\n .tw\\:transform {\n transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);\n }\n .tw\\:animate-none {\n animation: none;\n }\n .tw\\:cursor-pointer {\n cursor: pointer;\n }\n .tw\\:cursor-text {\n cursor: text;\n }\n .tw\\:resize-none {\n resize: none;\n }\n .tw\\:list-none {\n list-style-type: none;\n }\n .tw\\:columns-1 {\n columns: 1;\n }\n .tw\\:break-inside-avoid {\n break-inside: avoid;\n }\n .tw\\:grid-flow-col {\n grid-auto-flow: column;\n }\n .tw\\:grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .tw\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .tw\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .tw\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n .tw\\:flex-col {\n flex-direction: column;\n }\n .tw\\:flex-row {\n flex-direction: row;\n }\n .tw\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .tw\\:flex-wrap {\n flex-wrap: wrap;\n }\n .tw\\:place-content-center {\n place-content: center;\n }\n .tw\\:place-content-end {\n place-content: end;\n }\n .tw\\:place-items-center {\n place-items: center;\n }\n .tw\\:place-items-end {\n place-items: end;\n }\n .tw\\:items-center {\n align-items: center;\n }\n .tw\\:justify-between {\n justify-content: space-between;\n }\n .tw\\:justify-center {\n justify-content: center;\n }\n .tw\\:justify-end {\n justify-content: flex-end;\n }\n .tw\\:justify-normal {\n justify-content: normal;\n }\n .tw\\:justify-start {\n justify-content: flex-start;\n }\n .tw\\:gap-2 {\n gap: calc(var(--tw-spacing) * 2);\n }\n .tw\\:gap-6 {\n gap: calc(var(--tw-spacing) * 6);\n }\n .tw\\:space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .tw\\:space-x-3 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 3) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .tw\\:place-self-center {\n place-self: center;\n }\n .tw\\:place-self-end {\n place-self: end;\n }\n .tw\\:self-center {\n align-self: center;\n }\n .tw\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .tw\\:overflow-auto {\n overflow: auto;\n }\n .tw\\:overflow-hidden {\n overflow: hidden;\n }\n .tw\\:overflow-scroll {\n overflow: scroll;\n }\n .tw\\:overflow-x-auto {\n overflow-x: auto;\n }\n .tw\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .tw\\:overflow-y-auto {\n overflow-y: auto;\n }\n .tw\\:rounded {\n border-radius: 0.25rem;\n }\n .tw\\:rounded-2xl {\n border-radius: var(--tw-radius-2xl);\n }\n .tw\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .tw\\:rounded-md {\n border-radius: var(--tw-radius-md);\n }\n .tw\\:rounded-none {\n border-radius: 0;\n }\n .tw\\:rounded-none\\! {\n border-radius: 0 !important;\n }\n .tw\\:rounded-xl {\n border-radius: var(--tw-radius-xl);\n }\n .tw\\:rounded-tr-md {\n border-top-right-radius: var(--tw-radius-md);\n }\n .tw\\:rounded-b-none {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n .tw\\:rounded-br-md {\n border-bottom-right-radius: var(--tw-radius-md);\n }\n .tw\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .tw\\:border-1 {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-4 {\n border-style: var(--tw-border-style);\n border-width: 4px;\n }\n .tw\\:border-\\[1px\\] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .tw\\:border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .tw\\:border-current\\/10 {\n border-color: color-mix(in oklab, currentColor 10%, transparent);\n }\n .tw\\:bg-gray-200 {\n background-color: var(--tw-color-gray-200);\n }\n .tw\\:bg-slate-200 {\n background-color: var(--tw-color-slate-200);\n }\n .tw\\:bg-transparent {\n background-color: transparent;\n }\n .tw\\:bg-white {\n background-color: var(--tw-color-white);\n }\n .tw\\:fill-current {\n fill: currentColor;\n }\n .tw\\:stroke-3 {\n stroke-width: 3;\n }\n .tw\\:stroke-\\[2\\.5\\] {\n stroke-width: 2.5;\n }\n .tw\\:object-cover {\n object-fit: cover;\n }\n .tw\\:p-0 {\n padding: calc(var(--tw-spacing) * 0);\n }\n .tw\\:p-0\\! {\n padding: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:p-1 {\n padding: calc(var(--tw-spacing) * 1);\n }\n .tw\\:p-2 {\n padding: calc(var(--tw-spacing) * 2);\n }\n .tw\\:p-3 {\n padding: calc(var(--tw-spacing) * 3);\n }\n .tw\\:p-4 {\n padding: calc(var(--tw-spacing) * 4);\n }\n .tw\\:p-4\\! {\n padding: calc(var(--tw-spacing) * 4) !important;\n }\n .tw\\:p-6 {\n padding: calc(var(--tw-spacing) * 6);\n }\n .tw\\:p-9\\! {\n padding: calc(var(--tw-spacing) * 9) !important;\n }\n .tw\\:p-\\[1px\\] {\n padding: 1px;\n }\n .tw\\:px-0 {\n padding-inline: calc(var(--tw-spacing) * 0);\n }\n .tw\\:px-1 {\n padding-inline: calc(var(--tw-spacing) * 1);\n }\n .tw\\:px-1\\.5 {\n padding-inline: calc(var(--tw-spacing) * 1.5);\n }\n .tw\\:px-2 {\n padding-inline: calc(var(--tw-spacing) * 2);\n }\n .tw\\:px-4 {\n padding-inline: calc(var(--tw-spacing) * 4);\n }\n .tw\\:px-6 {\n padding-inline: calc(var(--tw-spacing) * 6);\n }\n .tw\\:px-8 {\n padding-inline: calc(var(--tw-spacing) * 8);\n }\n .tw\\:py-0\\.5 {\n padding-block: calc(var(--tw-spacing) * 0.5);\n }\n .tw\\:py-1 {\n padding-block: calc(var(--tw-spacing) * 1);\n }\n .tw\\:py-2 {\n padding-block: calc(var(--tw-spacing) * 2);\n }\n .tw\\:ps-2\\! {\n padding-inline-start: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:pe-2\\! {\n padding-inline-end: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:pt-0 {\n padding-top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:pt-1 {\n padding-top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pt-2 {\n padding-top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:pt-4 {\n padding-top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pt-6 {\n padding-top: calc(var(--tw-spacing) * 6);\n }\n .tw\\:pr-1 {\n padding-right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pr-4 {\n padding-right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pr-12 {\n padding-right: calc(var(--tw-spacing) * 12);\n }\n .tw\\:pb-0 {\n padding-bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:pb-1 {\n padding-bottom: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pb-2 {\n padding-bottom: calc(var(--tw-spacing) * 2);\n }\n .tw\\:pb-4 {\n padding-bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pb-6 {\n padding-bottom: calc(var(--tw-spacing) * 6);\n }\n .tw\\:pl-2 {\n padding-left: calc(var(--tw-spacing) * 2);\n }\n .tw\\:text-center {\n text-align: center;\n }\n .tw\\:text-right {\n text-align: right;\n }\n .tw\\:align-middle {\n vertical-align: middle;\n }\n .tw\\:text-2xl {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n }\n .tw\\:text-3xl {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n }\n .tw\\:text-6xl {\n font-size: var(--tw-text-6xl);\n line-height: var(--tw-leading, var(--tw-text-6xl--line-height));\n }\n .tw\\:text-base {\n font-size: var(--tw-text-base);\n line-height: var(--tw-leading, var(--tw-text-base--line-height));\n }\n .tw\\:text-lg {\n font-size: var(--tw-text-lg);\n line-height: var(--tw-leading, var(--tw-text-lg--line-height));\n }\n .tw\\:text-sm {\n font-size: var(--tw-text-sm);\n line-height: var(--tw-leading, var(--tw-text-sm--line-height));\n }\n .tw\\:text-xl {\n font-size: var(--tw-text-xl);\n line-height: var(--tw-leading, var(--tw-text-xl--line-height));\n }\n .tw\\:text-xs {\n font-size: var(--tw-text-xs);\n line-height: var(--tw-leading, var(--tw-text-xs--line-height));\n }\n .tw\\:leading-3 {\n --tw-leading: calc(var(--tw-spacing) * 3);\n line-height: calc(var(--tw-spacing) * 3);\n }\n .tw\\:leading-5 {\n --tw-leading: calc(var(--tw-spacing) * 5);\n line-height: calc(var(--tw-spacing) * 5);\n }\n .tw\\:font-bold {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n .tw\\:font-medium {\n --tw-font-weight: var(--tw-font-weight-medium);\n font-weight: var(--tw-font-weight-medium);\n }\n .tw\\:font-normal {\n --tw-font-weight: var(--tw-font-weight-normal);\n font-weight: var(--tw-font-weight-normal);\n }\n .tw\\:font-semibold {\n --tw-font-weight: var(--tw-font-weight-semibold);\n font-weight: var(--tw-font-weight-semibold);\n }\n .tw\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .tw\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .tw\\:text-current {\n color: currentColor;\n }\n .tw\\:text-gray-400 {\n color: var(--tw-color-gray-400);\n }\n .tw\\:text-gray-500 {\n color: var(--tw-color-gray-500);\n }\n .tw\\:text-gray-600 {\n color: var(--tw-color-gray-600);\n }\n .tw\\:text-green-500 {\n color: var(--tw-color-green-500);\n }\n .tw\\:text-red-500 {\n color: var(--tw-color-red-500);\n }\n .tw\\:text-white {\n color: var(--tw-color-white);\n }\n .tw\\:text-zinc-500 {\n color: var(--tw-color-zinc-500);\n }\n .tw\\:normal-case {\n text-transform: none;\n }\n .tw\\:italic {\n font-style: italic;\n }\n .tw\\:opacity-0 {\n opacity: 0%;\n }\n .tw\\:opacity-50 {\n opacity: 50%;\n }\n .tw\\:opacity-60 {\n opacity: 60%;\n }\n .tw\\:opacity-100 {\n opacity: 100%;\n }\n .tw\\:shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:drop-shadow-md {\n --tw-drop-shadow: drop-shadow(var(--tw-drop-shadow-md));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .tw\\:backdrop-brightness-75 {\n --tw-backdrop-brightness: brightness(75%);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .tw\\:transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-none {\n transition-property: none;\n }\n .tw\\:delay-400 {\n transition-delay: 400ms;\n }\n .tw\\:duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .tw\\:duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .tw\\:duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .tw\\:ease-in {\n --tw-ease: var(--tw-ease-in);\n transition-timing-function: var(--tw-ease-in);\n }\n .tw\\:hover\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\n }\n }\n }\n .tw\\:hover\\:bg-slate-300 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--tw-color-slate-300);\n }\n }\n }\n .tw\\:hover\\:bg-transparent {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n .tw\\:hover\\:font-bold {\n &:hover {\n @media (hover: hover) {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n }\n }\n .tw\\:hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .tw\\:focus\\:ring-0 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .tw\\:focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .tw\\:focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .tw\\:sm\\:left-auto\\! {\n @media (width >= 40rem) {\n left: auto !important;\n }\n }\n .tw\\:sm\\:w-2xl {\n @media (width >= 40rem) {\n width: var(--tw-container-2xl);\n }\n }\n .tw\\:sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:mb-0 {\n @media (width >= 48rem) {\n margin-bottom: calc(var(--tw-spacing) * 0);\n }\n }\n .tw\\:md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .tw\\:md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .tw\\:md\\:max-h-full {\n @media (width >= 48rem) {\n max-height: 100%;\n }\n }\n .tw\\:md\\:w-1\\/2 {\n @media (width >= 48rem) {\n width: calc(1/2 * 100%);\n }\n }\n .tw\\:md\\:w-\\[calc\\(50\\%-32px\\)\\] {\n @media (width >= 48rem) {\n width: calc(50% - 32px);\n }\n }\n .tw\\:md\\:columns-2 {\n @media (width >= 48rem) {\n columns: 2;\n }\n }\n .tw\\:md\\:grid-cols-1 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:space-x-4 {\n @media (width >= 48rem) {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n }\n .tw\\:md\\:text-2xl {\n @media (width >= 48rem) {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n }\n }\n .tw\\:lg\\:columns-3 {\n @media (width >= 64rem) {\n columns: 3;\n }\n }\n .tw\\:lg\\:grid-cols-1 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:xl\\:max-w-6xl {\n @media (width >= 80rem) {\n max-width: var(--tw-container-6xl);\n }\n }\n .tw\\:xl\\:grid-cols-1 {\n @media (width >= 80rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:xl\\:text-3xl {\n @media (width >= 80rem) {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n }\n }\n .tw\\:2xl\\:columns-4 {\n @media (width >= 96rem) {\n columns: 4;\n }\n }\n .tw\\:2xl\\:grid-cols-2 {\n @media (width >= 96rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:\\@sm\\:block {\n @container (width >= 24rem) {\n display: block;\n }\n }\n .tw\\:\\@sm\\:grid-cols-2 {\n @container (width >= 24rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:\\@sm\\:overflow-visible {\n @container (width >= 24rem) {\n overflow: visible;\n }\n }\n .tw\\:dark\\:bg-zinc-800 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--tw-color-zinc-800);\n }\n }\n}\n@layer markdown {\n .markdown {\n h1 {\n margin-block: calc(var(--tw-spacing) * 4);\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n h2 {\n margin-block: calc(var(--tw-spacing) * 3);\n font-size: var(--tw-text-xl);\n line-height: var(--tw-leading, var(--tw-text-xl--line-height));\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n h3, h4 {\n margin-block: calc(var(--tw-spacing) * 2);\n font-size: var(--tw-text-lg);\n line-height: var(--tw-leading, var(--tw-text-lg--line-height));\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n h5, h6 {\n margin-block: calc(var(--tw-spacing) * 2);\n font-size: var(--tw-text-base);\n line-height: var(--tw-leading, var(--tw-text-base--line-height));\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n p {\n margin-block: calc(var(--tw-spacing) * 1);\n --tw-leading: var(--tw-leading-relaxed);\n line-height: var(--tw-leading-relaxed);\n }\n ul, ol {\n margin-block: calc(var(--tw-spacing) * 2);\n padding-left: calc(var(--tw-spacing) * 6);\n }\n ul li {\n list-style-position: outside;\n list-style-type: disc;\n }\n ol li {\n list-style-position: outside;\n list-style-type: decimal;\n }\n li > p {\n margin-block: calc(var(--tw-spacing) * 0);\n display: inline-block;\n }\n hr {\n margin-block: calc(var(--tw-spacing) * 4);\n border-color: currentColor;\n }\n img {\n max-width: 100%;\n border-radius: 0.25rem;\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n a {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n text-decoration-line: underline;\n }\n iframe {\n aspect-ratio: var(--tw-aspect-video);\n width: 100%;\n }\n .hashtag {\n cursor: pointer;\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n color: #faa;\n text-decoration: none;\n }\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateX(0);\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateY(0);\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateZ(0);\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n initial-value: skewX(0);\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n initial-value: skewY(0);\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n";
|
80
83
|
styleInject(css_248z$1);
|
81
84
|
|
82
|
-
var css_248z = "/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --tw-color-red-500: oklch(0.637 0.237 25.331);\n --tw-color-green-500: oklch(0.723 0.219 149.579);\n --tw-color-blue-600: oklch(0.546 0.245 262.881);\n --tw-color-slate-200: oklch(0.929 0.013 255.508);\n --tw-color-slate-300: oklch(0.869 0.022 252.894);\n --tw-color-gray-200: oklch(0.928 0.006 264.531);\n --tw-color-gray-400: oklch(0.707 0.022 261.325);\n --tw-color-gray-500: oklch(0.551 0.027 264.364);\n --tw-color-gray-600: oklch(0.446 0.03 256.802);\n --tw-color-zinc-500: oklch(0.552 0.016 285.938);\n --tw-color-zinc-800: oklch(0.274 0.006 286.033);\n --tw-color-white: #fff;\n --tw-spacing: 0.25rem;\n --tw-container-xs: 20rem;\n --tw-container-xl: 36rem;\n --tw-container-2xl: 42rem;\n --tw-container-3xl: 48rem;\n --tw-container-6xl: 72rem;\n --tw-text-xs: 0.75rem;\n --tw-text-xs--line-height: calc(1 / 0.75);\n --tw-text-sm: 0.875rem;\n --tw-text-sm--line-height: calc(1.25 / 0.875);\n --tw-text-base: 1rem;\n --tw-text-base--line-height: calc(1.5 / 1);\n --tw-text-lg: 1.125rem;\n --tw-text-lg--line-height: calc(1.75 / 1.125);\n --tw-text-xl: 1.25rem;\n --tw-text-xl--line-height: calc(1.75 / 1.25);\n --tw-text-2xl: 1.5rem;\n --tw-text-2xl--line-height: calc(2 / 1.5);\n --tw-text-3xl: 1.875rem;\n --tw-text-3xl--line-height: calc(2.25 / 1.875);\n --tw-text-6xl: 3.75rem;\n --tw-text-6xl--line-height: 1;\n --tw-font-weight-normal: 400;\n --tw-font-weight-medium: 500;\n --tw-font-weight-semibold: 600;\n --tw-font-weight-bold: 700;\n --tw-radius-md: 0.375rem;\n --tw-radius-xl: 0.75rem;\n --tw-radius-2xl: 1rem;\n --tw-drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --tw-ease-in: cubic-bezier(0.4, 0, 1, 1);\n --tw-default-transition-duration: 150ms;\n --tw-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" );\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var( --default-font-variation-settings, normal );\n -webkit-tap-highlight-color: transparent;\n }\n body {\n line-height: inherit;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var( --default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace );\n font-feature-settings: var( --default-mono-font-feature-settings, normal );\n font-variation-settings: var( --default-mono-font-variation-settings, normal );\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .tw\\:pointer-events-auto {\n pointer-events: auto;\n }\n .tw\\:pointer-events-none {\n pointer-events: none;\n }\n .tw\\:absolute {\n position: absolute;\n }\n .tw\\:fixed {\n position: fixed;\n }\n .tw\\:relative {\n position: relative;\n }\n .tw\\:inset-y-0 {\n inset-block: calc(var(--tw-spacing) * 0);\n }\n .tw\\:-top-2 {\n top: calc(var(--tw-spacing) * -2);\n }\n .tw\\:top-0 {\n top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:top-1 {\n top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:top-2 {\n top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:top-4 {\n top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:top-14 {\n top: calc(var(--tw-spacing) * 14);\n }\n .tw\\:-right-2 {\n right: calc(var(--tw-spacing) * -2);\n }\n .tw\\:right-0 {\n right: calc(var(--tw-spacing) * 0);\n }\n .tw\\:right-1 {\n right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:right-2 {\n right: calc(var(--tw-spacing) * 2);\n }\n .tw\\:right-4 {\n right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:right-5 {\n right: calc(var(--tw-spacing) * 5);\n }\n .tw\\:right-6 {\n right: calc(var(--tw-spacing) * 6);\n }\n .tw\\:bottom-0 {\n bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:bottom-4 {\n bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:bottom-24\\! {\n bottom: calc(var(--tw-spacing) * 24) !important;\n }\n .tw\\:-left-6 {\n left: calc(var(--tw-spacing) * -6);\n }\n .tw\\:left-0 {\n left: calc(var(--tw-spacing) * 0);\n }\n .tw\\:left-0\\! {\n left: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .tw\\:left-4 {\n left: calc(var(--tw-spacing) * 4);\n }\n .tw\\:left-auto\\! {\n left: auto !important;\n }\n .tw\\:z-1 {\n z-index: 1;\n }\n .tw\\:z-500 {\n z-index: 500;\n }\n .tw\\:z-999 {\n z-index: 999;\n }\n .tw\\:z-1000 {\n z-index: 1000;\n }\n .tw\\:z-2000 {\n z-index: 2000;\n }\n .tw\\:z-3000 {\n z-index: 3000;\n }\n .tw\\:z-4000 {\n z-index: 4000;\n }\n .tw\\:z-9998 {\n z-index: 9998;\n }\n .tw\\:z-10000 {\n z-index: 10000;\n }\n .tw\\:z-10000\\! {\n z-index: 10000 !important;\n }\n .tw\\:z-10035 {\n z-index: 10035;\n }\n .tw\\:col-span-1 {\n grid-column: span 1 / span 1;\n }\n .tw\\:float-left {\n float: left;\n }\n .tw\\:float-right {\n float: right;\n }\n .tw\\:m-1 {\n margin: calc(var(--tw-spacing) * 1);\n }\n .tw\\:m-4 {\n margin: calc(var(--tw-spacing) * 4);\n }\n .tw\\:m-4\\! {\n margin: calc(var(--tw-spacing) * 4) !important;\n }\n .tw\\:m-auto {\n margin: auto;\n }\n .tw\\:mx-2 {\n margin-inline: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mx-4 {\n margin-inline: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mx-6 {\n margin-inline: calc(var(--tw-spacing) * 6);\n }\n .tw\\:my-0\\! {\n margin-block: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:my-1 {\n margin-block: calc(var(--tw-spacing) * 1);\n }\n .tw\\:my-2 {\n margin-block: calc(var(--tw-spacing) * 2);\n }\n .tw\\:my-2\\! {\n margin-block: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:my-10 {\n margin-block: calc(var(--tw-spacing) * 10);\n }\n .tw\\:-mt-2 {\n margin-top: calc(var(--tw-spacing) * -2);\n }\n .tw\\:mt-0 {\n margin-top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:mt-1 {\n margin-top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mt-1\\.5 {\n margin-top: calc(var(--tw-spacing) * 1.5);\n }\n .tw\\:mt-2 {\n margin-top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mt-3 {\n margin-top: calc(var(--tw-spacing) * 3);\n }\n .tw\\:mt-4 {\n margin-top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mt-5 {\n margin-top: calc(var(--tw-spacing) * 5);\n }\n .tw\\:mt-5\\.5 {\n margin-top: calc(var(--tw-spacing) * 5.5);\n }\n .tw\\:mt-6 {\n margin-top: calc(var(--tw-spacing) * 6);\n }\n .tw\\:mt-8 {\n margin-top: calc(var(--tw-spacing) * 8);\n }\n .tw\\:mt-12 {\n margin-top: calc(var(--tw-spacing) * 12);\n }\n .tw\\:mt-16 {\n margin-top: calc(var(--tw-spacing) * 16);\n }\n .tw\\:-mr-4 {\n margin-right: calc(var(--tw-spacing) * -4);\n }\n .tw\\:-mr-6 {\n margin-right: calc(var(--tw-spacing) * -6);\n }\n .tw\\:mr-1 {\n margin-right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mr-2 {\n margin-right: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mr-4 {\n margin-right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mr-5 {\n margin-right: calc(var(--tw-spacing) * 5);\n }\n .tw\\:-mb-1 {\n margin-bottom: calc(var(--tw-spacing) * -1);\n }\n .tw\\:-mb-2 {\n margin-bottom: calc(var(--tw-spacing) * -2);\n }\n .tw\\:-mb-4 {\n margin-bottom: calc(var(--tw-spacing) * -4);\n }\n .tw\\:mb-0 {\n margin-bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:mb-1 {\n margin-bottom: calc(var(--tw-spacing) * 1);\n }\n .tw\\:mb-2 {\n margin-bottom: calc(var(--tw-spacing) * 2);\n }\n .tw\\:mb-3 {\n margin-bottom: calc(var(--tw-spacing) * 3);\n }\n .tw\\:mb-4 {\n margin-bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:mb-6 {\n margin-bottom: calc(var(--tw-spacing) * 6);\n }\n .tw\\:mb-10 {\n margin-bottom: calc(var(--tw-spacing) * 10);\n }\n .tw\\:ml-1 {\n margin-left: calc(var(--tw-spacing) * 1);\n }\n .tw\\:ml-2 {\n margin-left: calc(var(--tw-spacing) * 2);\n }\n .tw\\:ml-3 {\n margin-left: calc(var(--tw-spacing) * 3);\n }\n .tw\\:ml-4 {\n margin-left: calc(var(--tw-spacing) * 4);\n }\n .tw\\:ml-14 {\n margin-left: calc(var(--tw-spacing) * 14);\n }\n .tw\\:ml-48 {\n margin-left: calc(var(--tw-spacing) * 48);\n }\n .tw\\:block {\n display: block;\n }\n .tw\\:flex {\n display: flex;\n }\n .tw\\:grid {\n display: grid;\n }\n .tw\\:hidden {\n display: none;\n }\n .tw\\:inline {\n display: inline;\n }\n .tw\\:inline-block {\n display: inline-block;\n }\n .tw\\:inline-flex {\n display: inline-flex;\n }\n .tw\\:table {\n display: table;\n }\n .tw\\:\\!h-\\[calc\\(100\\%-48px\\)\\] {\n height: calc(100% - 48px) !important;\n }\n .tw\\:\\!h-\\[calc\\(100dvh-280px\\)\\] {\n height: calc(100dvh - 280px) !important;\n }\n .tw\\:h-2 {\n height: calc(var(--tw-spacing) * 2);\n }\n .tw\\:h-3 {\n height: calc(var(--tw-spacing) * 3);\n }\n .tw\\:h-3\\/4 {\n height: calc(3/4 * 100%);\n }\n .tw\\:h-4 {\n height: calc(var(--tw-spacing) * 4);\n }\n .tw\\:h-5 {\n height: calc(var(--tw-spacing) * 5);\n }\n .tw\\:h-6 {\n height: calc(var(--tw-spacing) * 6);\n }\n .tw\\:h-8 {\n height: calc(var(--tw-spacing) * 8);\n }\n .tw\\:h-10 {\n height: calc(var(--tw-spacing) * 10);\n }\n .tw\\:h-12 {\n height: calc(var(--tw-spacing) * 12);\n }\n .tw\\:h-20 {\n height: calc(var(--tw-spacing) * 20);\n }\n .tw\\:h-24 {\n height: calc(var(--tw-spacing) * 24);\n }\n .tw\\:h-28 {\n height: calc(var(--tw-spacing) * 28);\n }\n .tw\\:h-32 {\n height: calc(var(--tw-spacing) * 32);\n }\n .tw\\:h-40 {\n height: calc(var(--tw-spacing) * 40);\n }\n .tw\\:h-48 {\n height: calc(var(--tw-spacing) * 48);\n }\n .tw\\:h-\\[2em\\] {\n height: 2em;\n }\n .tw\\:h-\\[calc\\(50\\%-0\\.75em\\)\\] {\n height: calc(50% - 0.75em);\n }\n .tw\\:h-\\[calc\\(50\\%-1\\.5em\\)\\] {\n height: calc(50% - 1.5em);\n }\n .tw\\:h-\\[calc\\(100\\%-1rem\\)\\] {\n height: calc(100% - 1rem);\n }\n .tw\\:h-\\[calc\\(100dvh-22px\\)\\] {\n height: calc(100dvh - 22px);\n }\n .tw\\:h-\\[calc\\(100dvh-64px\\)\\] {\n height: calc(100dvh - 64px);\n }\n .tw\\:h-\\[calc\\(100dvh-268px\\)\\] {\n height: calc(100dvh - 268px);\n }\n .tw\\:h-fit {\n height: fit-content;\n }\n .tw\\:h-full {\n height: 100%;\n }\n .tw\\:max-h-64 {\n max-height: calc(var(--tw-spacing) * 64);\n }\n .tw\\:max-h-\\[calc\\(100dvh-96px\\)\\] {\n max-height: calc(100dvh - 96px);\n }\n .tw\\:max-h-\\[calc\\(100dvh-152px\\)\\] {\n max-height: calc(100dvh - 152px);\n }\n .tw\\:min-h-0 {\n min-height: calc(var(--tw-spacing) * 0);\n }\n .tw\\:min-h-56 {\n min-height: calc(var(--tw-spacing) * 56);\n }\n .tw\\:min-h-80 {\n min-height: calc(var(--tw-spacing) * 80);\n }\n .tw\\:min-h-\\[5em\\] {\n min-height: 5em;\n }\n .tw\\:min-h-\\[21px\\] {\n min-height: 21px;\n }\n .tw\\:w-1 {\n width: calc(var(--tw-spacing) * 1);\n }\n .tw\\:w-2 {\n width: calc(var(--tw-spacing) * 2);\n }\n .tw\\:w-4 {\n width: calc(var(--tw-spacing) * 4);\n }\n .tw\\:w-5 {\n width: calc(var(--tw-spacing) * 5);\n }\n .tw\\:w-6 {\n width: calc(var(--tw-spacing) * 6);\n }\n .tw\\:w-8 {\n width: calc(var(--tw-spacing) * 8);\n }\n .tw\\:w-10 {\n width: calc(var(--tw-spacing) * 10);\n }\n .tw\\:w-12 {\n width: calc(var(--tw-spacing) * 12);\n }\n .tw\\:w-14 {\n width: calc(var(--tw-spacing) * 14);\n }\n .tw\\:w-20 {\n width: calc(var(--tw-spacing) * 20);\n }\n .tw\\:w-28 {\n width: calc(var(--tw-spacing) * 28);\n }\n .tw\\:w-36 {\n width: calc(var(--tw-spacing) * 36);\n }\n .tw\\:w-48 {\n width: calc(var(--tw-spacing) * 48);\n }\n .tw\\:w-52 {\n width: calc(var(--tw-spacing) * 52);\n }\n .tw\\:w-80 {\n width: calc(var(--tw-spacing) * 80);\n }\n .tw\\:w-83 {\n width: calc(var(--tw-spacing) * 83);\n }\n .tw\\:w-96 {\n width: calc(var(--tw-spacing) * 96);\n }\n .tw\\:w-\\[calc\\(100\\%-32px\\)\\] {\n width: calc(100% - 32px);\n }\n .tw\\:w-\\[calc\\(100vw-2rem\\)\\] {\n width: calc(100vw - 2rem);\n }\n .tw\\:w-fit {\n width: fit-content;\n }\n .tw\\:w-full {\n width: 100%;\n }\n .tw\\:w-xl {\n width: var(--tw-container-xl);\n }\n .tw\\:max-w-3xl {\n max-width: var(--tw-container-3xl);\n }\n .tw\\:max-w-69 {\n max-width: calc(var(--tw-spacing) * 69);\n }\n .tw\\:max-w-\\[17rem\\] {\n max-width: 17rem;\n }\n .tw\\:max-w-\\[22rem\\] {\n max-width: 22rem;\n }\n .tw\\:max-w-\\[calc\\(100\\%-60px\\)\\] {\n max-width: calc(100% - 60px);\n }\n .tw\\:max-w-full {\n max-width: 100%;\n }\n .tw\\:max-w-xl {\n max-width: var(--tw-container-xl);\n }\n .tw\\:max-w-xs {\n max-width: var(--tw-container-xs);\n }\n .tw\\:min-w-0 {\n min-width: calc(var(--tw-spacing) * 0);\n }\n .tw\\:min-w-80 {\n min-width: calc(var(--tw-spacing) * 80);\n }\n .tw\\:min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .tw\\:min-w-\\[10\\.4em\\] {\n min-width: 10.4em;\n }\n .tw\\:min-w-\\[10em\\] {\n min-width: 10em;\n }\n .tw\\:min-w-fit {\n min-width: fit-content;\n }\n .tw\\:flex-1 {\n flex: 1;\n }\n .tw\\:flex-none {\n flex: none;\n }\n .tw\\:shrink {\n flex-shrink: 1;\n }\n .tw\\:grow {\n flex-grow: 1;\n }\n .tw\\:basis-1\\/5 {\n flex-basis: calc(1/5 * 100%);\n }\n .tw\\:basis-2\\/5 {\n flex-basis: calc(2/5 * 100%);\n }\n .tw\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:-translate-x-full {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:translate-x-0 {\n --tw-translate-x: calc(var(--tw-spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:translate-x-1\\/3 {\n --tw-translate-x: calc(1/3 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:-translate-y-1\\/3 {\n --tw-translate-y: calc(calc(1/3 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .tw\\:rotate-180 {\n rotate: 180deg;\n }\n .tw\\:transform {\n transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);\n }\n .tw\\:animate-none {\n animation: none;\n }\n .tw\\:cursor-pointer {\n cursor: pointer;\n }\n .tw\\:cursor-text {\n cursor: text;\n }\n .tw\\:resize-none {\n resize: none;\n }\n .tw\\:list-inside {\n list-style-position: inside;\n }\n .tw\\:list-decimal {\n list-style-type: decimal;\n }\n .tw\\:list-disc {\n list-style-type: disc;\n }\n .tw\\:list-none {\n list-style-type: none;\n }\n .tw\\:columns-1 {\n columns: 1;\n }\n .tw\\:break-inside-avoid {\n break-inside: avoid;\n }\n .tw\\:grid-flow-col {\n grid-auto-flow: column;\n }\n .tw\\:grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .tw\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .tw\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .tw\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n .tw\\:flex-col {\n flex-direction: column;\n }\n .tw\\:flex-row {\n flex-direction: row;\n }\n .tw\\:flex-wrap {\n flex-wrap: wrap;\n }\n .tw\\:place-content-center {\n place-content: center;\n }\n .tw\\:place-content-end {\n place-content: end;\n }\n .tw\\:place-items-center {\n place-items: center;\n }\n .tw\\:place-items-end {\n place-items: end;\n }\n .tw\\:items-center {\n align-items: center;\n }\n .tw\\:justify-between {\n justify-content: space-between;\n }\n .tw\\:justify-center {\n justify-content: center;\n }\n .tw\\:justify-end {\n justify-content: flex-end;\n }\n .tw\\:justify-normal {\n justify-content: normal;\n }\n .tw\\:justify-start {\n justify-content: flex-start;\n }\n .tw\\:gap-2 {\n gap: calc(var(--tw-spacing) * 2);\n }\n .tw\\:gap-6 {\n gap: calc(var(--tw-spacing) * 6);\n }\n .tw\\:space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--tw-spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--tw-spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .tw\\:space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .tw\\:space-x-3 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 3) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .tw\\:place-self-center {\n place-self: center;\n }\n .tw\\:place-self-end {\n place-self: end;\n }\n .tw\\:self-center {\n align-self: center;\n }\n .tw\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .tw\\:overflow-auto {\n overflow: auto;\n }\n .tw\\:overflow-hidden {\n overflow: hidden;\n }\n .tw\\:overflow-scroll {\n overflow: scroll;\n }\n .tw\\:overflow-x-auto {\n overflow-x: auto;\n }\n .tw\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .tw\\:overflow-y-auto {\n overflow-y: auto;\n }\n .tw\\:rounded {\n border-radius: 0.25rem;\n }\n .tw\\:rounded-2xl {\n border-radius: var(--tw-radius-2xl);\n }\n .tw\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .tw\\:rounded-md {\n border-radius: var(--tw-radius-md);\n }\n .tw\\:rounded-none {\n border-radius: 0;\n }\n .tw\\:rounded-none\\! {\n border-radius: 0 !important;\n }\n .tw\\:rounded-xl {\n border-radius: var(--tw-radius-xl);\n }\n .tw\\:rounded-tl-none {\n border-top-left-radius: 0;\n }\n .tw\\:rounded-tr-md {\n border-top-right-radius: var(--tw-radius-md);\n }\n .tw\\:rounded-b-none {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n .tw\\:rounded-br-md {\n border-bottom-right-radius: var(--tw-radius-md);\n }\n .tw\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .tw\\:border-1 {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-4 {\n border-style: var(--tw-border-style);\n border-width: 4px;\n }\n .tw\\:border-\\[1px\\] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .tw\\:border-t-0 {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n .tw\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .tw\\:border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .tw\\:border-\\(--fallback-bc\\,oklch\\(var\\(--bc\\)\\/0\\.2\\)\\) {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n }\n .tw\\:border-current {\n border-color: currentColor;\n }\n .tw\\:border-current\\/10 {\n border-color: color-mix(in oklab, currentColor 10%, transparent);\n }\n .tw\\:bg-gray-200 {\n background-color: var(--tw-color-gray-200);\n }\n .tw\\:bg-slate-200 {\n background-color: var(--tw-color-slate-200);\n }\n .tw\\:bg-transparent {\n background-color: transparent;\n }\n .tw\\:bg-white {\n background-color: var(--tw-color-white);\n }\n .tw\\:fill-current {\n fill: currentColor;\n }\n .tw\\:stroke-3 {\n stroke-width: 3;\n }\n .tw\\:stroke-\\[2\\.5\\] {\n stroke-width: 2.5;\n }\n .tw\\:object-cover {\n object-fit: cover;\n }\n .tw\\:p-0 {\n padding: calc(var(--tw-spacing) * 0);\n }\n .tw\\:p-0\\! {\n padding: calc(var(--tw-spacing) * 0) !important;\n }\n .tw\\:p-1 {\n padding: calc(var(--tw-spacing) * 1);\n }\n .tw\\:p-2 {\n padding: calc(var(--tw-spacing) * 2);\n }\n .tw\\:p-3 {\n padding: calc(var(--tw-spacing) * 3);\n }\n .tw\\:p-4 {\n padding: calc(var(--tw-spacing) * 4);\n }\n .tw\\:p-4\\! {\n padding: calc(var(--tw-spacing) * 4) !important;\n }\n .tw\\:p-6 {\n padding: calc(var(--tw-spacing) * 6);\n }\n .tw\\:p-9\\! {\n padding: calc(var(--tw-spacing) * 9) !important;\n }\n .tw\\:p-\\[1px\\] {\n padding: 1px;\n }\n .tw\\:px-0 {\n padding-inline: calc(var(--tw-spacing) * 0);\n }\n .tw\\:px-2 {\n padding-inline: calc(var(--tw-spacing) * 2);\n }\n .tw\\:px-4 {\n padding-inline: calc(var(--tw-spacing) * 4);\n }\n .tw\\:px-6 {\n padding-inline: calc(var(--tw-spacing) * 6);\n }\n .tw\\:px-8 {\n padding-inline: calc(var(--tw-spacing) * 8);\n }\n .tw\\:py-0\\.5 {\n padding-block: calc(var(--tw-spacing) * 0.5);\n }\n .tw\\:py-1 {\n padding-block: calc(var(--tw-spacing) * 1);\n }\n .tw\\:py-2 {\n padding-block: calc(var(--tw-spacing) * 2);\n }\n .tw\\:ps-2\\! {\n padding-inline-start: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:pe-2\\! {\n padding-inline-end: calc(var(--tw-spacing) * 2) !important;\n }\n .tw\\:pt-0 {\n padding-top: calc(var(--tw-spacing) * 0);\n }\n .tw\\:pt-1 {\n padding-top: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pt-2 {\n padding-top: calc(var(--tw-spacing) * 2);\n }\n .tw\\:pt-4 {\n padding-top: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pt-6 {\n padding-top: calc(var(--tw-spacing) * 6);\n }\n .tw\\:pr-1 {\n padding-right: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pr-4 {\n padding-right: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pr-12 {\n padding-right: calc(var(--tw-spacing) * 12);\n }\n .tw\\:pb-0 {\n padding-bottom: calc(var(--tw-spacing) * 0);\n }\n .tw\\:pb-1 {\n padding-bottom: calc(var(--tw-spacing) * 1);\n }\n .tw\\:pb-2 {\n padding-bottom: calc(var(--tw-spacing) * 2);\n }\n .tw\\:pb-4 {\n padding-bottom: calc(var(--tw-spacing) * 4);\n }\n .tw\\:pb-6 {\n padding-bottom: calc(var(--tw-spacing) * 6);\n }\n .tw\\:pl-2 {\n padding-left: calc(var(--tw-spacing) * 2);\n }\n .tw\\:text-center {\n text-align: center;\n }\n .tw\\:text-right {\n text-align: right;\n }\n .tw\\:align-middle {\n vertical-align: middle;\n }\n .tw\\:text-2xl {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n }\n .tw\\:text-3xl {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n }\n .tw\\:text-6xl {\n font-size: var(--tw-text-6xl);\n line-height: var(--tw-leading, var(--tw-text-6xl--line-height));\n }\n .tw\\:text-base {\n font-size: var(--tw-text-base);\n line-height: var(--tw-leading, var(--tw-text-base--line-height));\n }\n .tw\\:text-lg {\n font-size: var(--tw-text-lg);\n line-height: var(--tw-leading, var(--tw-text-lg--line-height));\n }\n .tw\\:text-sm {\n font-size: var(--tw-text-sm);\n line-height: var(--tw-leading, var(--tw-text-sm--line-height));\n }\n .tw\\:text-xl {\n font-size: var(--tw-text-xl);\n line-height: var(--tw-leading, var(--tw-text-xl--line-height));\n }\n .tw\\:text-xs {\n font-size: var(--tw-text-xs);\n line-height: var(--tw-leading, var(--tw-text-xs--line-height));\n }\n .tw\\:leading-3 {\n --tw-leading: calc(var(--tw-spacing) * 3);\n line-height: calc(var(--tw-spacing) * 3);\n }\n .tw\\:leading-5 {\n --tw-leading: calc(var(--tw-spacing) * 5);\n line-height: calc(var(--tw-spacing) * 5);\n }\n .tw\\:font-bold {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n .tw\\:font-medium {\n --tw-font-weight: var(--tw-font-weight-medium);\n font-weight: var(--tw-font-weight-medium);\n }\n .tw\\:font-normal {\n --tw-font-weight: var(--tw-font-weight-normal);\n font-weight: var(--tw-font-weight-normal);\n }\n .tw\\:font-semibold {\n --tw-font-weight: var(--tw-font-weight-semibold);\n font-weight: var(--tw-font-weight-semibold);\n }\n .tw\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .tw\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .tw\\:text-current {\n color: currentColor;\n }\n .tw\\:text-gray-400 {\n color: var(--tw-color-gray-400);\n }\n .tw\\:text-gray-500 {\n color: var(--tw-color-gray-500);\n }\n .tw\\:text-gray-600 {\n color: var(--tw-color-gray-600);\n }\n .tw\\:text-green-500 {\n color: var(--tw-color-green-500);\n }\n .tw\\:text-red-500 {\n color: var(--tw-color-red-500);\n }\n .tw\\:text-white {\n color: var(--tw-color-white);\n }\n .tw\\:text-zinc-500 {\n color: var(--tw-color-zinc-500);\n }\n .tw\\:normal-case {\n text-transform: none;\n }\n .tw\\:italic {\n font-style: italic;\n }\n .tw\\:underline {\n text-decoration-line: underline;\n }\n .tw\\:opacity-0 {\n opacity: 0%;\n }\n .tw\\:opacity-50 {\n opacity: 50%;\n }\n .tw\\:opacity-60 {\n opacity: 60%;\n }\n .tw\\:opacity-100 {\n opacity: 100%;\n }\n .tw\\:shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .tw\\:drop-shadow-md {\n --tw-drop-shadow: drop-shadow(var(--tw-drop-shadow-md));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .tw\\:backdrop-brightness-75 {\n --tw-backdrop-brightness: brightness(75%);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .tw\\:transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--tw-default-transition-duration));\n }\n .tw\\:transition-none {\n transition-property: none;\n }\n .tw\\:delay-400 {\n transition-delay: 400ms;\n }\n .tw\\:duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .tw\\:duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .tw\\:duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .tw\\:ease-in {\n --tw-ease: var(--tw-ease-in);\n transition-timing-function: var(--tw-ease-in);\n }\n .tw\\:hover\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\n }\n }\n }\n .tw\\:hover\\:bg-slate-300 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--tw-color-slate-300);\n }\n }\n }\n .tw\\:hover\\:bg-transparent {\n &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n .tw\\:hover\\:font-bold {\n &:hover {\n @media (hover: hover) {\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n }\n }\n .tw\\:hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .tw\\:focus\\:ring-0 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .tw\\:focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .tw\\:focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .tw\\:sm\\:left-auto\\! {\n @media (width >= 40rem) {\n left: auto !important;\n }\n }\n .tw\\:sm\\:w-2xl {\n @media (width >= 40rem) {\n width: var(--tw-container-2xl);\n }\n }\n .tw\\:sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:mb-0 {\n @media (width >= 48rem) {\n margin-bottom: calc(var(--tw-spacing) * 0);\n }\n }\n .tw\\:md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .tw\\:md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .tw\\:md\\:w-1\\/2 {\n @media (width >= 48rem) {\n width: calc(1/2 * 100%);\n }\n }\n .tw\\:md\\:w-\\[calc\\(50\\%-32px\\)\\] {\n @media (width >= 48rem) {\n width: calc(50% - 32px);\n }\n }\n .tw\\:md\\:columns-2 {\n @media (width >= 48rem) {\n columns: 2;\n }\n }\n .tw\\:md\\:grid-cols-1 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:md\\:space-x-4 {\n @media (width >= 48rem) {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--tw-spacing) * 4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--tw-spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n }\n .tw\\:md\\:text-2xl {\n @media (width >= 48rem) {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n }\n }\n .tw\\:lg\\:columns-3 {\n @media (width >= 64rem) {\n columns: 3;\n }\n }\n .tw\\:lg\\:grid-cols-1 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:xl\\:max-w-6xl {\n @media (width >= 80rem) {\n max-width: var(--tw-container-6xl);\n }\n }\n .tw\\:xl\\:grid-cols-1 {\n @media (width >= 80rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .tw\\:xl\\:text-3xl {\n @media (width >= 80rem) {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n }\n }\n .tw\\:2xl\\:columns-4 {\n @media (width >= 96rem) {\n columns: 4;\n }\n }\n .tw\\:2xl\\:grid-cols-2 {\n @media (width >= 96rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .tw\\:dark\\:bg-zinc-800 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--tw-color-zinc-800);\n }\n }\n}\n@layer easymde {\n .CodeMirror {\n font-family: monospace;\n height: 300px;\n color: #000;\n direction: ltr;\n }\n .CodeMirror-lines {\n padding: 4px 0;\n }\n .CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px;\n }\n .CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler {\n background-color: #fff;\n }\n .CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n }\n .CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n }\n .CodeMirror-guttermarker {\n color: #000;\n }\n .CodeMirror-guttermarker-subtle {\n color: #999;\n }\n .CodeMirror-cursor {\n border-left: 1px solid #000;\n border-right: none;\n width: 0;\n }\n .CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n }\n .cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n }\n .cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n }\n .cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection {\n background: 0 0;\n }\n .cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection {\n background: 0 0;\n }\n .cm-fat-cursor {\n caret-color: transparent;\n }\n @-moz-keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n @-webkit-keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n @keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n .cm-tab {\n display: inline-block;\n text-decoration: inherit;\n }\n .CodeMirror-rulers {\n position: absolute;\n left: 0;\n right: 0;\n top: -50px;\n bottom: 0;\n overflow: hidden;\n }\n .CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0;\n bottom: 0;\n position: absolute;\n }\n .cm-s-default .cm-header {\n color: #00f;\n }\n .cm-s-default .cm-quote {\n color: #090;\n }\n .cm-negative {\n color: #d44;\n }\n .cm-positive {\n color: #292;\n }\n .cm-header,.cm-strong {\n font-weight: 700;\n }\n .cm-em {\n font-style: italic;\n }\n .cm-link {\n text-decoration: underline;\n }\n .cm-strikethrough {\n text-decoration: line-through;\n }\n .cm-s-default .cm-keyword {\n color: #708;\n }\n .cm-s-default .cm-atom {\n color: #219;\n }\n .cm-s-default .cm-number {\n color: #164;\n }\n .cm-s-default .cm-def {\n color: #00f;\n }\n .cm-s-default .cm-variable-2 {\n color: #05a;\n }\n .cm-s-default .cm-type,.cm-s-default .cm-variable-3 {\n color: #085;\n }\n .cm-s-default .cm-comment {\n color: #a50;\n }\n .cm-s-default .cm-string {\n color: #a11;\n }\n .cm-s-default .cm-string-2 {\n color: #f50;\n }\n .cm-s-default .cm-meta {\n color: #555;\n }\n .cm-s-default .cm-qualifier {\n color: #555;\n }\n .cm-s-default .cm-builtin {\n color: #30a;\n }\n .cm-s-default .cm-bracket {\n color: #997;\n }\n .cm-s-default .cm-tag {\n color: #170;\n }\n .cm-s-default .cm-attribute {\n color: #00c;\n }\n .cm-s-default .cm-hr {\n color: #999;\n }\n .cm-s-default .cm-link {\n color: #00c;\n }\n .cm-s-default .cm-error {\n color: red;\n }\n .cm-invalidchar {\n color: red;\n }\n .CodeMirror-composing {\n border-bottom: 2px solid;\n }\n div.CodeMirror span.CodeMirror-matchingbracket {\n color: #0b0;\n }\n div.CodeMirror span.CodeMirror-nonmatchingbracket {\n color: #a22;\n }\n .CodeMirror-matchingtag {\n background: rgba(255,150,0,.3);\n }\n .CodeMirror-activeline-background {\n background: #e8f2ff;\n }\n .CodeMirror {\n position: relative;\n overflow: hidden;\n background: #fff;\n }\n .CodeMirror-scroll {\n overflow: scroll !important;\n margin-bottom: -50px;\n margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: 0;\n position: relative;\n z-index: 0;\n }\n .CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n }\n .CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar {\n position: absolute;\n z-index: 6;\n display: none;\n outline: 0;\n }\n .CodeMirror-vscrollbar {\n right: 0;\n top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n }\n .CodeMirror-hscrollbar {\n bottom: 0;\n left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n }\n .CodeMirror-scrollbar-filler {\n right: 0;\n bottom: 0;\n }\n .CodeMirror-gutter-filler {\n left: 0;\n bottom: 0;\n }\n .CodeMirror-gutters {\n position: absolute;\n left: 0;\n top: 0;\n min-height: 100%;\n z-index: 3;\n }\n .CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n }\n .CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: 0 0 !important;\n border: none !important;\n }\n .CodeMirror-gutter-background {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 4;\n }\n .CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n }\n .CodeMirror-gutter-wrapper ::selection {\n background-color: transparent;\n }\n .CodeMirror-gutter-wrapper ::-moz-selection {\n background-color: transparent;\n }\n .CodeMirror-lines {\n cursor: text;\n min-height: 1px;\n }\n .CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like {\n -moz-border-radius: 0;\n -webkit-border-radius: 0;\n border-radius: 0;\n border-width: 0;\n background: 0 0;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n }\n .CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n }\n .CodeMirror-linebackground {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 0;\n }\n .CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: .1px;\n }\n .CodeMirror-rtl pre {\n direction: rtl;\n }\n .CodeMirror-code {\n outline: 0;\n }\n .CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n }\n .CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n }\n .CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n }\n .CodeMirror-measure pre {\n position: static;\n }\n div.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n }\n div.CodeMirror-dragcursors {\n visibility: visible;\n }\n .CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n }\n .CodeMirror-selected {\n background: #d9d9d9;\n }\n .CodeMirror-focused .CodeMirror-selected {\n background: #d7d4f0;\n }\n .CodeMirror-crosshair {\n cursor: crosshair;\n }\n .CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection {\n background: #d7d4f0;\n }\n .CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection {\n background: #d7d4f0;\n }\n .cm-searching {\n background-color: #ffa;\n background-color: rgba(255,255,0,.4);\n }\n .cm-force-border {\n padding-right: .1px;\n }\n @media print {\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n }\n .cm-tab-wrap-hack:after {\n content: '';\n }\n span.CodeMirror-selectedtext {\n background: 0 0;\n }\n .EasyMDEContainer {\n display: block;\n }\n .CodeMirror-rtl pre {\n direction: rtl;\n }\n .EasyMDEContainer.sided--no-fullscreen {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n }\n .EasyMDEContainer .CodeMirror {\n box-sizing: border-box;\n height: auto;\n border: 1px solid #ced4da;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n padding: 10px;\n font: inherit;\n z-index: 0;\n word-wrap: break-word;\n }\n .EasyMDEContainer .CodeMirror-scroll {\n cursor: text;\n }\n .EasyMDEContainer .CodeMirror-fullscreen {\n background: #fff;\n position: fixed !important;\n top: 50px;\n left: 0;\n right: 0;\n bottom: 0;\n height: auto;\n z-index: 8;\n border-right: none !important;\n border-bottom-right-radius: 0 !important;\n }\n .EasyMDEContainer .CodeMirror-sided {\n width: 50% !important;\n }\n .EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided {\n border-right: none !important;\n border-bottom-right-radius: 0;\n position: relative;\n flex: 1 1 auto;\n }\n .EasyMDEContainer .CodeMirror-placeholder {\n opacity: .5;\n }\n .EasyMDEContainer .CodeMirror-focused .CodeMirror-selected {\n background: #d9d9d9;\n }\n .editor-toolbar {\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n padding: 9px 10px;\n border-top: 1px solid #ced4da;\n border-left: 1px solid #ced4da;\n border-right: 1px solid #ced4da;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n }\n .editor-toolbar.fullscreen {\n width: 100%;\n height: 50px;\n padding-top: 10px;\n padding-bottom: 10px;\n box-sizing: border-box;\n background: #fff;\n border: 0;\n position: fixed;\n top: 0;\n left: 0;\n opacity: 1;\n z-index: 9;\n }\n .editor-toolbar.fullscreen::before {\n width: 20px;\n height: 50px;\n background: -moz-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);\n background: -webkit-gradient(linear,left top,right top,color-stop(0,#fff),color-stop(100%,rgba(255,255,255,0)));\n background: -webkit-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);\n background: -o-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);\n background: -ms-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);\n background: linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%);\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n }\n .editor-toolbar.fullscreen::after {\n width: 20px;\n height: 50px;\n background: -moz-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);\n background: -webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(100%,#fff));\n background: -webkit-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);\n background: -o-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);\n background: -ms-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);\n background: linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);\n position: fixed;\n top: 0;\n right: 0;\n margin: 0;\n padding: 0;\n }\n .EasyMDEContainer.sided--no-fullscreen .editor-toolbar {\n width: 100%;\n }\n .editor-toolbar .easymde-dropdown,.editor-toolbar button {\n background: 0 0;\n display: inline-block;\n text-align: center;\n text-decoration: none !important;\n height: 30px;\n margin: 0;\n padding: 0;\n border: 1px solid transparent;\n border-radius: 3px;\n cursor: pointer;\n }\n .editor-toolbar button {\n font-weight: 700;\n min-width: 30px;\n padding: 0 6px;\n white-space: nowrap;\n }\n .editor-toolbar button.active,.editor-toolbar button:hover {\n background: #fcfcfc;\n border-color: #95a5a6;\n }\n .editor-toolbar i.separator {\n display: inline-block;\n width: 0;\n border-left: 1px solid #d9d9d9;\n border-right: 1px solid #fff;\n color: transparent;\n text-indent: -10px;\n margin: 0 6px;\n }\n .editor-toolbar button:after {\n font-family: Arial,\"Helvetica Neue\",Helvetica,sans-serif;\n font-size: 65%;\n vertical-align: text-bottom;\n position: relative;\n top: 2px;\n }\n .editor-toolbar button.heading-1:after {\n content: \"1\";\n }\n .editor-toolbar button.heading-2:after {\n content: \"2\";\n }\n .editor-toolbar button.heading-3:after {\n content: \"3\";\n }\n .editor-toolbar button.heading-bigger:after {\n content: \"▲\";\n }\n .editor-toolbar button.heading-smaller:after {\n content: \"▼\";\n }\n .editor-toolbar.disabled-for-preview button:not(.no-disable) {\n opacity: .6;\n pointer-events: none;\n }\n @media only screen and (max-width:700px) {\n .editor-toolbar i.no-mobile {\n display: none;\n }\n }\n .editor-statusbar {\n padding: 8px 10px;\n font-size: 12px;\n color: #959694;\n text-align: right;\n }\n .EasyMDEContainer.sided--no-fullscreen .editor-statusbar {\n width: 100%;\n }\n .editor-statusbar span {\n display: inline-block;\n min-width: 4em;\n margin-left: 1em;\n }\n .editor-statusbar .lines:before {\n content: 'lines: ';\n }\n .editor-statusbar .words:before {\n content: 'words: ';\n }\n .editor-statusbar .characters:before {\n content: 'characters: ';\n }\n .editor-preview-full {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 7;\n overflow: auto;\n display: none;\n box-sizing: border-box;\n }\n .editor-preview-side {\n position: fixed;\n bottom: 0;\n width: 50%;\n top: 50px;\n right: 0;\n z-index: 9;\n overflow: auto;\n display: none;\n box-sizing: border-box;\n border: 1px solid #ddd;\n word-wrap: break-word;\n }\n .editor-preview-active-side {\n display: block;\n }\n .EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side {\n flex: 1 1 auto;\n height: auto;\n position: static;\n }\n .editor-preview-active {\n display: block;\n }\n .editor-preview {\n padding: 10px;\n background: #fafafa;\n }\n .editor-preview>p {\n margin-top: 0;\n }\n .editor-preview pre {\n background: #eee;\n margin-bottom: 10px;\n }\n .editor-preview table td,.editor-preview table th {\n border: 1px solid #ddd;\n padding: 5px;\n }\n .cm-s-easymde .cm-tag {\n color: #63a35c;\n }\n .cm-s-easymde .cm-attribute {\n color: #795da3;\n }\n .cm-s-easymde .cm-string {\n color: #183691;\n }\n .cm-s-easymde .cm-header-1 {\n font-size: calc(1.375rem + 1.5vw);\n }\n .cm-s-easymde .cm-header-2 {\n font-size: calc(1.325rem + .9vw);\n }\n .cm-s-easymde .cm-header-3 {\n font-size: calc(1.3rem + .6vw);\n }\n .cm-s-easymde .cm-header-4 {\n font-size: calc(1.275rem + .3vw);\n }\n .cm-s-easymde .cm-header-5 {\n font-size: 1.25rem;\n }\n .cm-s-easymde .cm-header-6 {\n font-size: 1rem;\n }\n .cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6 {\n margin-bottom: .5rem;\n line-height: 1.2;\n }\n .cm-s-easymde .cm-comment {\n background: rgba(0,0,0,.05);\n border-radius: 2px;\n }\n .cm-s-easymde .cm-link {\n color: #7f8c8d;\n }\n .cm-s-easymde .cm-url {\n color: #aab2b3;\n }\n .cm-s-easymde .cm-quote {\n color: #7f8c8d;\n font-style: italic;\n }\n .editor-toolbar .easymde-dropdown {\n position: relative;\n background: linear-gradient(to bottom right,#fff 0,#fff 84%,#333 50%,#333 100%);\n border-radius: 0;\n border: 1px solid #fff;\n }\n .editor-toolbar .easymde-dropdown:hover {\n background: linear-gradient(to bottom right,#fff 0,#fff 84%,#333 50%,#333 100%);\n }\n .easymde-dropdown-content {\n display: block;\n visibility: hidden;\n position: absolute;\n background-color: #f9f9f9;\n box-shadow: 0 8px 16px 0 rgba(0,0,0,.2);\n padding: 8px;\n z-index: 2;\n top: 30px;\n }\n .easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content {\n visibility: visible;\n }\n .easymde-dropdown-content button {\n display: block;\n }\n span[data-img-src]::after {\n content: '';\n background-image: var(--bg-image);\n display: block;\n max-height: 100%;\n max-width: 100%;\n background-size: contain;\n height: 0;\n padding-top: var(--height);\n width: var(--width);\n background-repeat: no-repeat;\n }\n .CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word) {\n background: rgba(255,0,0,.15);\n }\n .EasyMDEContainer h1 {\n font-size: var(--tw-text-3xl);\n line-height: var(--tw-leading, var(--tw-text-3xl--line-height));\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n .EasyMDEContainer h2 {\n font-size: var(--tw-text-2xl);\n line-height: var(--tw-leading, var(--tw-text-2xl--line-height));\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n .EasyMDEContainer h3 {\n font-size: var(--tw-text-xl);\n line-height: var(--tw-leading, var(--tw-text-xl--line-height));\n --tw-font-weight: var(--tw-font-weight-bold);\n font-weight: var(--tw-font-weight-bold);\n }\n .EasyMDEContainer h4 {\n font-size: var(--tw-text-lg);\n line-height: var(--tw-leading, var(--tw-text-lg--line-height));\n --tw-font-weight: var(--tw-font-weight-semibold);\n font-weight: var(--tw-font-weight-semibold);\n }\n .EasyMDEContainer h5 {\n font-size: var(--tw-text-base);\n line-height: var(--tw-leading, var(--tw-text-base--line-height));\n --tw-font-weight: var(--tw-font-weight-semibold);\n font-weight: var(--tw-font-weight-semibold);\n }\n .EasyMDEContainer h6 {\n font-size: var(--tw-text-sm);\n line-height: var(--tw-leading, var(--tw-text-sm--line-height));\n --tw-font-weight: var(--tw-font-weight-semibold);\n font-weight: var(--tw-font-weight-semibold);\n }\n .EasyMDEContainer a {\n color: var(--tw-color-blue-600);\n text-decoration-line: underline;\n }\n .EasyMDEContainer .fullscreen {\n background: var(--color-base-100) !important;\n }\n .EasyMDEContainer button.active,\n button:hover {\n background: var(--color-base-100) !important;\n }\n .CodeMirror {\n background-color: var(--color-base-100) !important;\n color: var(--color-base-content) !important;\n border-color: color-mix(in oklab, var(--color-base-content) 20%, #0000) !important;\n border-end-start-radius: var(--radius-field) !important;\n border-end-end-radius: var(--radius-field) !important;\n border-width: var(--border) !important;\n border-top-width: 0 !important;\n }\n .editor-preview-side {\n background-color: var(--color-base-100) !important;\n color: var(--color-base-content) !important;\n }\n .editor-toolbar {\n padding: 3px 10px !important;\n border-color: color-mix(in oklab, var(--color-base-content) 20%, #0000) !important;\n border-start-start-radius: var(--radius-field) !important;\n border-start-end-radius: var(--radius-field) !important;\n border-width: var(--border) !important;\n }\n .separator {\n border-color: color-mix(in oklab, var(--color-base-content) 20%, #0000) !important;\n border-width: 1px !important;\n }\n .EasyMDEContainer .editor-toolbar {\n padding: 0;\n padding-top: 3px;\n padding-bottom: 3px;\n }\n .EasyMDEContainer .editor-toolbar.fullscreen {\n margin: 16px;\n width: calc(100% - 32px);\n border-color: color-mix(in oklab, var(--color-base-content) 20%, #0000) !important;\n border-start-start-radius: var(--radius-field) !important;\n border-start-end-radius: var(--radius-field) !important;\n border-width: var(--border) !important;\n }\n .EasyMDEContainer .CodeMirror.CodeMirror-fullscreen.CodeMirror-wrap {\n margin: 16px;\n width: calc(100% - 32px);\n border-color: color-mix(in oklab, var(--color-base-content) 20%, #0000) !important;\n border-end-start-radius: var(--radius-field) !important;\n border-end-end-radius: var(--radius-field) !important;\n border-width: var(--border) !important;\n border-top-width: 0 !important;\n border-right-width: var(--border) !important;\n border-top: var(--border) !important;\n }\n .CodeMirror-cursor {\n border-color: var(--color-base-content) !important;\n }\n .editor-preview-full {\n background-color: var(--color-base-100) !important;\n }\n .editor-preview-side {\n margin: 16px;\n width: calc(50% - 16px);\n border-color: color-mix(in oklab, var(--color-base-content) 20%, #0000) !important;\n border-end-end-radius: var(--radius-field) !important;\n border-width: var(--border) !important;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateX(0);\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateY(0);\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateZ(0);\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n initial-value: skewX(0);\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n initial-value: skewY(0);\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}";
|
85
|
+
var css_248z = "\n\n.editor-wrapper div {\n min-height: 0;\n flex: 1;\n outline: none;\n}\n\n.tiptap p.is-editor-empty:first-child::before {\n color: var(--color-base-content);\n opacity: 0.5;\n content: attr(data-placeholder);\n float: left;\n height: 0;\n pointer-events: none;\n}\n\n/* Bubble menu */\n.bubble-menu {\n background-color: var(--color-base-100);\n border: 1px solid var(--color-base-200);\n border-radius: 0.7rem;\n box-shadow: var(--shadow);\n display: flex;\n padding: 0.2rem;\n \n button {\n background-color: unset;\n \n &:hover {\n background-color: var(--color-base-300);\n }\n \n &.is-active {\n background-color: var(--color-base-200);\n \n &:hover {\n background-color: var(--color-base-300);\n }\n }\n }\n }\n ";
|
83
86
|
styleInject(css_248z);
|
84
87
|
|
85
|
-
/*!
|
86
|
-
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
87
|
-
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
88
|
-
* Copyright 2024 Fonticons, Inc.
|
89
|
-
*/
|
90
|
-
function _defineProperty(e, r, t) {
|
91
|
-
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
92
|
-
value: t,
|
93
|
-
enumerable: true,
|
94
|
-
configurable: true,
|
95
|
-
writable: true
|
96
|
-
}) : e[r] = t, e;
|
97
|
-
}
|
98
|
-
function ownKeys(e, r) {
|
99
|
-
var t = Object.keys(e);
|
100
|
-
if (Object.getOwnPropertySymbols) {
|
101
|
-
var o = Object.getOwnPropertySymbols(e);
|
102
|
-
r && (o = o.filter(function (r) {
|
103
|
-
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
104
|
-
})), t.push.apply(t, o);
|
105
|
-
}
|
106
|
-
return t;
|
107
|
-
}
|
108
|
-
function _objectSpread2(e) {
|
109
|
-
for (var r = 1; r < arguments.length; r++) {
|
110
|
-
var t = null != arguments[r] ? arguments[r] : {};
|
111
|
-
r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
|
112
|
-
_defineProperty(e, r, t[r]);
|
113
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
|
114
|
-
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
115
|
-
});
|
116
|
-
}
|
117
|
-
return e;
|
118
|
-
}
|
119
|
-
function _toPrimitive(t, r) {
|
120
|
-
if ("object" != typeof t || !t) return t;
|
121
|
-
var e = t[Symbol.toPrimitive];
|
122
|
-
if (void 0 !== e) {
|
123
|
-
var i = e.call(t, r);
|
124
|
-
if ("object" != typeof i) return i;
|
125
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
126
|
-
}
|
127
|
-
return ("string" === r ? String : Number)(t);
|
128
|
-
}
|
129
|
-
function _toPropertyKey(t) {
|
130
|
-
var i = _toPrimitive(t, "string");
|
131
|
-
return "symbol" == typeof i ? i : i + "";
|
132
|
-
}
|
133
|
-
|
134
|
-
const noop = () => {};
|
135
|
-
let _WINDOW = {};
|
136
|
-
let _DOCUMENT = {};
|
137
|
-
let _MUTATION_OBSERVER = null;
|
138
|
-
let _PERFORMANCE = {
|
139
|
-
mark: noop,
|
140
|
-
measure: noop
|
141
|
-
};
|
142
|
-
try {
|
143
|
-
if (typeof window !== 'undefined') _WINDOW = window;
|
144
|
-
if (typeof document !== 'undefined') _DOCUMENT = document;
|
145
|
-
if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;
|
146
|
-
if (typeof performance !== 'undefined') _PERFORMANCE = performance;
|
147
|
-
} catch (e) {}
|
148
|
-
const {
|
149
|
-
userAgent = ''
|
150
|
-
} = _WINDOW.navigator || {};
|
151
|
-
const WINDOW = _WINDOW;
|
152
|
-
const DOCUMENT = _DOCUMENT;
|
153
|
-
const MUTATION_OBSERVER = _MUTATION_OBSERVER;
|
154
|
-
const PERFORMANCE = _PERFORMANCE;
|
155
|
-
!!WINDOW.document;
|
156
|
-
const IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
|
157
|
-
const IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
|
158
|
-
|
159
|
-
var p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,
|
160
|
-
g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;
|
161
|
-
var S = {
|
162
|
-
classic: {
|
163
|
-
fa: "solid",
|
164
|
-
fas: "solid",
|
165
|
-
"fa-solid": "solid",
|
166
|
-
far: "regular",
|
167
|
-
"fa-regular": "regular",
|
168
|
-
fal: "light",
|
169
|
-
"fa-light": "light",
|
170
|
-
fat: "thin",
|
171
|
-
"fa-thin": "thin",
|
172
|
-
fab: "brands",
|
173
|
-
"fa-brands": "brands"
|
174
|
-
},
|
175
|
-
duotone: {
|
176
|
-
fa: "solid",
|
177
|
-
fad: "solid",
|
178
|
-
"fa-solid": "solid",
|
179
|
-
"fa-duotone": "solid",
|
180
|
-
fadr: "regular",
|
181
|
-
"fa-regular": "regular",
|
182
|
-
fadl: "light",
|
183
|
-
"fa-light": "light",
|
184
|
-
fadt: "thin",
|
185
|
-
"fa-thin": "thin"
|
186
|
-
},
|
187
|
-
sharp: {
|
188
|
-
fa: "solid",
|
189
|
-
fass: "solid",
|
190
|
-
"fa-solid": "solid",
|
191
|
-
fasr: "regular",
|
192
|
-
"fa-regular": "regular",
|
193
|
-
fasl: "light",
|
194
|
-
"fa-light": "light",
|
195
|
-
fast: "thin",
|
196
|
-
"fa-thin": "thin"
|
197
|
-
},
|
198
|
-
"sharp-duotone": {
|
199
|
-
fa: "solid",
|
200
|
-
fasds: "solid",
|
201
|
-
"fa-solid": "solid",
|
202
|
-
fasdr: "regular",
|
203
|
-
"fa-regular": "regular",
|
204
|
-
fasdl: "light",
|
205
|
-
"fa-light": "light",
|
206
|
-
fasdt: "thin",
|
207
|
-
"fa-thin": "thin"
|
208
|
-
}
|
209
|
-
},
|
210
|
-
A = {
|
211
|
-
GROUP: "duotone-group",
|
212
|
-
PRIMARY: "primary",
|
213
|
-
SECONDARY: "secondary"
|
214
|
-
},
|
215
|
-
P = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"];
|
216
|
-
var s = "classic",
|
217
|
-
t = "duotone",
|
218
|
-
r = "sharp",
|
219
|
-
o = "sharp-duotone",
|
220
|
-
L = [s, t, r, o];
|
221
|
-
var G = {
|
222
|
-
classic: {
|
223
|
-
900: "fas",
|
224
|
-
400: "far",
|
225
|
-
normal: "far",
|
226
|
-
300: "fal",
|
227
|
-
100: "fat"
|
228
|
-
},
|
229
|
-
duotone: {
|
230
|
-
900: "fad",
|
231
|
-
400: "fadr",
|
232
|
-
300: "fadl",
|
233
|
-
100: "fadt"
|
234
|
-
},
|
235
|
-
sharp: {
|
236
|
-
900: "fass",
|
237
|
-
400: "fasr",
|
238
|
-
300: "fasl",
|
239
|
-
100: "fast"
|
240
|
-
},
|
241
|
-
"sharp-duotone": {
|
242
|
-
900: "fasds",
|
243
|
-
400: "fasdr",
|
244
|
-
300: "fasdl",
|
245
|
-
100: "fasdt"
|
246
|
-
}
|
247
|
-
};
|
248
|
-
var lt = {
|
249
|
-
"Font Awesome 6 Free": {
|
250
|
-
900: "fas",
|
251
|
-
400: "far"
|
252
|
-
},
|
253
|
-
"Font Awesome 6 Pro": {
|
254
|
-
900: "fas",
|
255
|
-
400: "far",
|
256
|
-
normal: "far",
|
257
|
-
300: "fal",
|
258
|
-
100: "fat"
|
259
|
-
},
|
260
|
-
"Font Awesome 6 Brands": {
|
261
|
-
400: "fab",
|
262
|
-
normal: "fab"
|
263
|
-
},
|
264
|
-
"Font Awesome 6 Duotone": {
|
265
|
-
900: "fad",
|
266
|
-
400: "fadr",
|
267
|
-
normal: "fadr",
|
268
|
-
300: "fadl",
|
269
|
-
100: "fadt"
|
270
|
-
},
|
271
|
-
"Font Awesome 6 Sharp": {
|
272
|
-
900: "fass",
|
273
|
-
400: "fasr",
|
274
|
-
normal: "fasr",
|
275
|
-
300: "fasl",
|
276
|
-
100: "fast"
|
277
|
-
},
|
278
|
-
"Font Awesome 6 Sharp Duotone": {
|
279
|
-
900: "fasds",
|
280
|
-
400: "fasdr",
|
281
|
-
normal: "fasdr",
|
282
|
-
300: "fasdl",
|
283
|
-
100: "fasdt"
|
284
|
-
}
|
285
|
-
};
|
286
|
-
var pt = new Map([["classic", {
|
287
|
-
defaultShortPrefixId: "fas",
|
288
|
-
defaultStyleId: "solid",
|
289
|
-
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
290
|
-
futureStyleIds: [],
|
291
|
-
defaultFontWeight: 900
|
292
|
-
}], ["sharp", {
|
293
|
-
defaultShortPrefixId: "fass",
|
294
|
-
defaultStyleId: "solid",
|
295
|
-
styleIds: ["solid", "regular", "light", "thin"],
|
296
|
-
futureStyleIds: [],
|
297
|
-
defaultFontWeight: 900
|
298
|
-
}], ["duotone", {
|
299
|
-
defaultShortPrefixId: "fad",
|
300
|
-
defaultStyleId: "solid",
|
301
|
-
styleIds: ["solid", "regular", "light", "thin"],
|
302
|
-
futureStyleIds: [],
|
303
|
-
defaultFontWeight: 900
|
304
|
-
}], ["sharp-duotone", {
|
305
|
-
defaultShortPrefixId: "fasds",
|
306
|
-
defaultStyleId: "solid",
|
307
|
-
styleIds: ["solid", "regular", "light", "thin"],
|
308
|
-
futureStyleIds: [],
|
309
|
-
defaultFontWeight: 900
|
310
|
-
}]]),
|
311
|
-
xt = {
|
312
|
-
classic: {
|
313
|
-
solid: "fas",
|
314
|
-
regular: "far",
|
315
|
-
light: "fal",
|
316
|
-
thin: "fat",
|
317
|
-
brands: "fab"
|
318
|
-
},
|
319
|
-
duotone: {
|
320
|
-
solid: "fad",
|
321
|
-
regular: "fadr",
|
322
|
-
light: "fadl",
|
323
|
-
thin: "fadt"
|
324
|
-
},
|
325
|
-
sharp: {
|
326
|
-
solid: "fass",
|
327
|
-
regular: "fasr",
|
328
|
-
light: "fasl",
|
329
|
-
thin: "fast"
|
330
|
-
},
|
331
|
-
"sharp-duotone": {
|
332
|
-
solid: "fasds",
|
333
|
-
regular: "fasdr",
|
334
|
-
light: "fasdl",
|
335
|
-
thin: "fasdt"
|
336
|
-
}
|
337
|
-
};
|
338
|
-
var Ft = ["fak", "fa-kit", "fakd", "fa-kit-duotone"],
|
339
|
-
St = {
|
340
|
-
kit: {
|
341
|
-
fak: "kit",
|
342
|
-
"fa-kit": "kit"
|
343
|
-
},
|
344
|
-
"kit-duotone": {
|
345
|
-
fakd: "kit-duotone",
|
346
|
-
"fa-kit-duotone": "kit-duotone"
|
347
|
-
}
|
348
|
-
},
|
349
|
-
At = ["kit"];
|
350
|
-
var Ct = {
|
351
|
-
kit: {
|
352
|
-
"fa-kit": "fak"
|
353
|
-
}};
|
354
|
-
var Lt = ["fak", "fakd"],
|
355
|
-
Wt = {
|
356
|
-
kit: {
|
357
|
-
fak: "fa-kit"
|
358
|
-
}};
|
359
|
-
var Et = {
|
360
|
-
kit: {
|
361
|
-
kit: "fak"
|
362
|
-
},
|
363
|
-
"kit-duotone": {
|
364
|
-
"kit-duotone": "fakd"
|
365
|
-
}
|
366
|
-
};
|
367
|
-
|
368
|
-
var t$1 = {
|
369
|
-
GROUP: "duotone-group",
|
370
|
-
SWAP_OPACITY: "swap-opacity",
|
371
|
-
PRIMARY: "primary",
|
372
|
-
SECONDARY: "secondary"
|
373
|
-
},
|
374
|
-
r$1 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"];
|
375
|
-
var bt$1 = ["fak", "fa-kit", "fakd", "fa-kit-duotone"];
|
376
|
-
var Yt = {
|
377
|
-
"Font Awesome Kit": {
|
378
|
-
400: "fak",
|
379
|
-
normal: "fak"
|
380
|
-
},
|
381
|
-
"Font Awesome Kit Duotone": {
|
382
|
-
400: "fakd",
|
383
|
-
normal: "fakd"
|
384
|
-
}
|
385
|
-
};
|
386
|
-
var ua = {
|
387
|
-
classic: {
|
388
|
-
"fa-brands": "fab",
|
389
|
-
"fa-duotone": "fad",
|
390
|
-
"fa-light": "fal",
|
391
|
-
"fa-regular": "far",
|
392
|
-
"fa-solid": "fas",
|
393
|
-
"fa-thin": "fat"
|
394
|
-
},
|
395
|
-
duotone: {
|
396
|
-
"fa-regular": "fadr",
|
397
|
-
"fa-light": "fadl",
|
398
|
-
"fa-thin": "fadt"
|
399
|
-
},
|
400
|
-
sharp: {
|
401
|
-
"fa-solid": "fass",
|
402
|
-
"fa-regular": "fasr",
|
403
|
-
"fa-light": "fasl",
|
404
|
-
"fa-thin": "fast"
|
405
|
-
},
|
406
|
-
"sharp-duotone": {
|
407
|
-
"fa-solid": "fasds",
|
408
|
-
"fa-regular": "fasdr",
|
409
|
-
"fa-light": "fasdl",
|
410
|
-
"fa-thin": "fasdt"
|
411
|
-
}
|
412
|
-
},
|
413
|
-
I$1 = {
|
414
|
-
classic: ["fas", "far", "fal", "fat", "fad"],
|
415
|
-
duotone: ["fadr", "fadl", "fadt"],
|
416
|
-
sharp: ["fass", "fasr", "fasl", "fast"],
|
417
|
-
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
418
|
-
},
|
419
|
-
ga = {
|
420
|
-
classic: {
|
421
|
-
fab: "fa-brands",
|
422
|
-
fad: "fa-duotone",
|
423
|
-
fal: "fa-light",
|
424
|
-
far: "fa-regular",
|
425
|
-
fas: "fa-solid",
|
426
|
-
fat: "fa-thin"
|
427
|
-
},
|
428
|
-
duotone: {
|
429
|
-
fadr: "fa-regular",
|
430
|
-
fadl: "fa-light",
|
431
|
-
fadt: "fa-thin"
|
432
|
-
},
|
433
|
-
sharp: {
|
434
|
-
fass: "fa-solid",
|
435
|
-
fasr: "fa-regular",
|
436
|
-
fasl: "fa-light",
|
437
|
-
fast: "fa-thin"
|
438
|
-
},
|
439
|
-
"sharp-duotone": {
|
440
|
-
fasds: "fa-solid",
|
441
|
-
fasdr: "fa-regular",
|
442
|
-
fasdl: "fa-light",
|
443
|
-
fasdt: "fa-thin"
|
444
|
-
}
|
445
|
-
},
|
446
|
-
x = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"],
|
447
|
-
Ia = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...r$1, ...x],
|
448
|
-
m$1 = ["solid", "regular", "light", "thin", "duotone", "brands"],
|
449
|
-
c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
450
|
-
F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),
|
451
|
-
ma = [...Object.keys(I$1), ...m$1, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(a => "".concat(a, "x"))).concat(F$1.map(a => "w-".concat(a)));
|
452
|
-
var wa = {
|
453
|
-
"Font Awesome 5 Free": {
|
454
|
-
900: "fas",
|
455
|
-
400: "far"
|
456
|
-
},
|
457
|
-
"Font Awesome 5 Pro": {
|
458
|
-
900: "fas",
|
459
|
-
400: "far",
|
460
|
-
normal: "far",
|
461
|
-
300: "fal"
|
462
|
-
},
|
463
|
-
"Font Awesome 5 Brands": {
|
464
|
-
400: "fab",
|
465
|
-
normal: "fab"
|
466
|
-
},
|
467
|
-
"Font Awesome 5 Duotone": {
|
468
|
-
900: "fad"
|
469
|
-
}
|
470
|
-
};
|
471
|
-
|
472
|
-
const NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';
|
473
|
-
const UNITS_IN_GRID = 16;
|
474
|
-
const DEFAULT_CSS_PREFIX = 'fa';
|
475
|
-
const DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';
|
476
|
-
const DATA_FA_I2SVG = 'data-fa-i2svg';
|
477
|
-
const DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';
|
478
|
-
const DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';
|
479
|
-
const DATA_PREFIX = 'data-prefix';
|
480
|
-
const DATA_ICON = 'data-icon';
|
481
|
-
const HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';
|
482
|
-
const MUTATION_APPROACH_ASYNC = 'async';
|
483
|
-
const TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];
|
484
|
-
const PRODUCTION = (() => {
|
485
|
-
try {
|
486
|
-
return process.env.NODE_ENV === 'production';
|
487
|
-
} catch (e$$1) {
|
488
|
-
return false;
|
489
|
-
}
|
490
|
-
})();
|
491
|
-
function familyProxy(obj) {
|
492
|
-
// Defaults to the classic family if family is not available
|
493
|
-
return new Proxy(obj, {
|
494
|
-
get(target, prop) {
|
495
|
-
return prop in target ? target[prop] : target[s];
|
496
|
-
}
|
497
|
-
});
|
498
|
-
}
|
499
|
-
const _PREFIX_TO_STYLE = _objectSpread2({}, S);
|
500
|
-
|
501
|
-
// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, "classic" family does not have any
|
502
|
-
// duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding
|
503
|
-
// {'fa-duotone': 'duotone'}
|
504
|
-
_PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
|
505
|
-
'fa-duotone': 'duotone'
|
506
|
-
}), S[s]), St['kit']), St['kit-duotone']);
|
507
|
-
const PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);
|
508
|
-
const _STYLE_TO_PREFIX = _objectSpread2({}, xt);
|
509
|
-
|
510
|
-
// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, "classic" family does not have any
|
511
|
-
// duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}
|
512
|
-
_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
|
513
|
-
duotone: 'fad'
|
514
|
-
}), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);
|
515
|
-
const STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);
|
516
|
-
const _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);
|
517
|
-
_PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);
|
518
|
-
const PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);
|
519
|
-
const _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);
|
520
|
-
_LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);
|
521
|
-
familyProxy(_LONG_STYLE_TO_PREFIX);
|
522
|
-
const ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape
|
523
|
-
|
524
|
-
const LAYERS_TEXT_CLASSNAME = 'fa-layers-text';
|
525
|
-
const FONT_FAMILY_PATTERN = g;
|
526
|
-
const _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);
|
527
|
-
familyProxy(_FONT_WEIGHT_TO_PREFIX);
|
528
|
-
const ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];
|
529
|
-
const DUOTONE_CLASSES = A;
|
530
|
-
const RESERVED_CLASSES = [...At, ...ma];
|
531
|
-
|
532
|
-
const initial = WINDOW.FontAwesomeConfig || {};
|
533
|
-
function getAttrConfig(attr) {
|
534
|
-
var element = DOCUMENT.querySelector('script[' + attr + ']');
|
535
|
-
if (element) {
|
536
|
-
return element.getAttribute(attr);
|
537
|
-
}
|
538
|
-
}
|
539
|
-
function coerce(val) {
|
540
|
-
// Getting an empty string will occur if the attribute is set on the HTML tag but without a value
|
541
|
-
// We'll assume that this is an indication that it should be toggled to true
|
542
|
-
if (val === '') return true;
|
543
|
-
if (val === 'false') return false;
|
544
|
-
if (val === 'true') return true;
|
545
|
-
return val;
|
546
|
-
}
|
547
|
-
if (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {
|
548
|
-
const attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];
|
549
|
-
attrs.forEach(_ref => {
|
550
|
-
let [attr, key] = _ref;
|
551
|
-
const val = coerce(getAttrConfig(attr));
|
552
|
-
if (val !== undefined && val !== null) {
|
553
|
-
initial[key] = val;
|
554
|
-
}
|
555
|
-
});
|
556
|
-
}
|
557
|
-
const _default = {
|
558
|
-
styleDefault: 'solid',
|
559
|
-
familyDefault: s,
|
560
|
-
cssPrefix: DEFAULT_CSS_PREFIX,
|
561
|
-
replacementClass: DEFAULT_REPLACEMENT_CLASS,
|
562
|
-
autoReplaceSvg: true,
|
563
|
-
autoAddCss: true,
|
564
|
-
autoA11y: true,
|
565
|
-
searchPseudoElements: false,
|
566
|
-
observeMutations: true,
|
567
|
-
mutateApproach: 'async',
|
568
|
-
keepOriginalSource: true,
|
569
|
-
measurePerformance: false,
|
570
|
-
showMissingIcons: true
|
571
|
-
};
|
572
|
-
|
573
|
-
// familyPrefix is deprecated but we must still support it if present
|
574
|
-
if (initial.familyPrefix) {
|
575
|
-
initial.cssPrefix = initial.familyPrefix;
|
576
|
-
}
|
577
|
-
const _config = _objectSpread2(_objectSpread2({}, _default), initial);
|
578
|
-
if (!_config.autoReplaceSvg) _config.observeMutations = false;
|
579
|
-
const config = {};
|
580
|
-
Object.keys(_default).forEach(key => {
|
581
|
-
Object.defineProperty(config, key, {
|
582
|
-
enumerable: true,
|
583
|
-
set: function (val) {
|
584
|
-
_config[key] = val;
|
585
|
-
_onChangeCb.forEach(cb => cb(config));
|
586
|
-
},
|
587
|
-
get: function () {
|
588
|
-
return _config[key];
|
589
|
-
}
|
590
|
-
});
|
591
|
-
});
|
592
|
-
|
593
|
-
// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0
|
594
|
-
Object.defineProperty(config, 'familyPrefix', {
|
595
|
-
enumerable: true,
|
596
|
-
set: function (val) {
|
597
|
-
_config.cssPrefix = val;
|
598
|
-
_onChangeCb.forEach(cb => cb(config));
|
599
|
-
},
|
600
|
-
get: function () {
|
601
|
-
return _config.cssPrefix;
|
602
|
-
}
|
603
|
-
});
|
604
|
-
WINDOW.FontAwesomeConfig = config;
|
605
|
-
const _onChangeCb = [];
|
606
|
-
function onChange(cb) {
|
607
|
-
_onChangeCb.push(cb);
|
608
|
-
return () => {
|
609
|
-
_onChangeCb.splice(_onChangeCb.indexOf(cb), 1);
|
610
|
-
};
|
611
|
-
}
|
612
|
-
|
613
|
-
const d$2 = UNITS_IN_GRID;
|
614
|
-
const meaninglessTransform = {
|
615
|
-
size: 16,
|
616
|
-
x: 0,
|
617
|
-
y: 0,
|
618
|
-
rotate: 0,
|
619
|
-
flipX: false,
|
620
|
-
flipY: false
|
621
|
-
};
|
622
|
-
function insertCss(css) {
|
623
|
-
if (!css || !IS_DOM) {
|
624
|
-
return;
|
625
|
-
}
|
626
|
-
const style = DOCUMENT.createElement('style');
|
627
|
-
style.setAttribute('type', 'text/css');
|
628
|
-
style.innerHTML = css;
|
629
|
-
const headChildren = DOCUMENT.head.childNodes;
|
630
|
-
let beforeChild = null;
|
631
|
-
for (let i = headChildren.length - 1; i > -1; i--) {
|
632
|
-
const child = headChildren[i];
|
633
|
-
const tagName = (child.tagName || '').toUpperCase();
|
634
|
-
if (['STYLE', 'LINK'].indexOf(tagName) > -1) {
|
635
|
-
beforeChild = child;
|
636
|
-
}
|
637
|
-
}
|
638
|
-
DOCUMENT.head.insertBefore(style, beforeChild);
|
639
|
-
return css;
|
640
|
-
}
|
641
|
-
const idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
642
|
-
function nextUniqueId() {
|
643
|
-
let size = 12;
|
644
|
-
let id = '';
|
645
|
-
while (size-- > 0) {
|
646
|
-
id += idPool[Math.random() * 62 | 0];
|
647
|
-
}
|
648
|
-
return id;
|
649
|
-
}
|
650
|
-
function toArray(obj) {
|
651
|
-
const array = [];
|
652
|
-
for (let i = (obj || []).length >>> 0; i--;) {
|
653
|
-
array[i] = obj[i];
|
654
|
-
}
|
655
|
-
return array;
|
656
|
-
}
|
657
|
-
function classArray(node) {
|
658
|
-
if (node.classList) {
|
659
|
-
return toArray(node.classList);
|
660
|
-
} else {
|
661
|
-
return (node.getAttribute('class') || '').split(' ').filter(i => i);
|
662
|
-
}
|
663
|
-
}
|
664
|
-
function htmlEscape(str) {
|
665
|
-
return "".concat(str).replace(/&/g, '&').replace(/"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>');
|
666
|
-
}
|
667
|
-
function joinAttributes(attributes) {
|
668
|
-
return Object.keys(attributes || {}).reduce((acc, attributeName) => {
|
669
|
-
return acc + "".concat(attributeName, "=\"").concat(htmlEscape(attributes[attributeName]), "\" ");
|
670
|
-
}, '').trim();
|
671
|
-
}
|
672
|
-
function joinStyles(styles) {
|
673
|
-
return Object.keys(styles || {}).reduce((acc, styleName) => {
|
674
|
-
return acc + "".concat(styleName, ": ").concat(styles[styleName].trim(), ";");
|
675
|
-
}, '');
|
676
|
-
}
|
677
|
-
function transformIsMeaningful(transform) {
|
678
|
-
return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;
|
679
|
-
}
|
680
|
-
function transformForSvg(_ref) {
|
681
|
-
let {
|
682
|
-
transform,
|
683
|
-
containerWidth,
|
684
|
-
iconWidth
|
685
|
-
} = _ref;
|
686
|
-
const outer = {
|
687
|
-
transform: "translate(".concat(containerWidth / 2, " 256)")
|
688
|
-
};
|
689
|
-
const innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
|
690
|
-
const innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
|
691
|
-
const innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
|
692
|
-
const inner = {
|
693
|
-
transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
|
694
|
-
};
|
695
|
-
const path = {
|
696
|
-
transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
|
697
|
-
};
|
698
|
-
return {
|
699
|
-
outer,
|
700
|
-
inner,
|
701
|
-
path
|
702
|
-
};
|
703
|
-
}
|
704
|
-
function transformForCss(_ref2) {
|
705
|
-
let {
|
706
|
-
transform,
|
707
|
-
width = UNITS_IN_GRID,
|
708
|
-
height = UNITS_IN_GRID,
|
709
|
-
startCentered = false
|
710
|
-
} = _ref2;
|
711
|
-
let val = '';
|
712
|
-
if (startCentered && IS_IE) {
|
713
|
-
val += "translate(".concat(transform.x / d$2 - width / 2, "em, ").concat(transform.y / d$2 - height / 2, "em) ");
|
714
|
-
} else if (startCentered) {
|
715
|
-
val += "translate(calc(-50% + ".concat(transform.x / d$2, "em), calc(-50% + ").concat(transform.y / d$2, "em)) ");
|
716
|
-
} else {
|
717
|
-
val += "translate(".concat(transform.x / d$2, "em, ").concat(transform.y / d$2, "em) ");
|
718
|
-
}
|
719
|
-
val += "scale(".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), ") ");
|
720
|
-
val += "rotate(".concat(transform.rotate, "deg) ");
|
721
|
-
return val;
|
722
|
-
}
|
723
|
-
|
724
|
-
var baseStyles = ":root, :host {\n --fa-font-solid: normal 900 1em/1 \"Font Awesome 6 Free\";\n --fa-font-regular: normal 400 1em/1 \"Font Awesome 6 Free\";\n --fa-font-light: normal 300 1em/1 \"Font Awesome 6 Pro\";\n --fa-font-thin: normal 100 1em/1 \"Font Awesome 6 Pro\";\n --fa-font-duotone: normal 900 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-duotone-regular: normal 400 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-duotone-light: normal 300 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-duotone-thin: normal 100 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-brands: normal 400 1em/1 \"Font Awesome 6 Brands\";\n --fa-font-sharp-solid: normal 900 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-regular: normal 400 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-light: normal 300 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-thin: normal 100 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \"Font Awesome 6 Sharp Duotone\";\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \"Font Awesome 6 Sharp Duotone\";\n --fa-font-sharp-duotone-light: normal 300 1em/1 \"Font Awesome 6 Sharp Duotone\";\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \"Font Awesome 6 Sharp Duotone\";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-counter-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(-1 * var(--fa-li-width, 2em));\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n animation-name: fa-beat;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n animation-name: fa-bounce;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n animation-name: fa-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n animation-name: fa-beat-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n animation-name: fa-flip;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n animation-name: fa-shake;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n animation-name: fa-spin;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 2s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n animation-name: fa-spin;\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n animation-delay: -1ms;\n animation-duration: 1ms;\n animation-iteration-count: 1;\n transition-delay: 0s;\n transition-duration: 0s;\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n transform: scale(1);\n }\n 45% {\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-bounce {\n 0% {\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-flip {\n 50% {\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-shake {\n 0% {\n transform: rotate(-15deg);\n }\n 4% {\n transform: rotate(15deg);\n }\n 8%, 24% {\n transform: rotate(-18deg);\n }\n 12%, 28% {\n transform: rotate(18deg);\n }\n 16% {\n transform: rotate(-22deg);\n }\n 20% {\n transform: rotate(22deg);\n }\n 32% {\n transform: rotate(-12deg);\n }\n 36% {\n transform: rotate(12deg);\n }\n 40%, 100% {\n transform: rotate(0deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n transform: rotate(var(--fa-rotate-angle, 0));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}";
|
725
|
-
|
726
|
-
function css() {
|
727
|
-
const dcp = DEFAULT_CSS_PREFIX;
|
728
|
-
const drc = DEFAULT_REPLACEMENT_CLASS;
|
729
|
-
const fp = config.cssPrefix;
|
730
|
-
const rc = config.replacementClass;
|
731
|
-
let s = baseStyles;
|
732
|
-
if (fp !== dcp || rc !== drc) {
|
733
|
-
const dPatt = new RegExp("\\.".concat(dcp, "\\-"), 'g');
|
734
|
-
const customPropPatt = new RegExp("\\--".concat(dcp, "\\-"), 'g');
|
735
|
-
const rPatt = new RegExp("\\.".concat(drc), 'g');
|
736
|
-
s = s.replace(dPatt, ".".concat(fp, "-")).replace(customPropPatt, "--".concat(fp, "-")).replace(rPatt, ".".concat(rc));
|
737
|
-
}
|
738
|
-
return s;
|
739
|
-
}
|
740
|
-
let _cssInserted = false;
|
741
|
-
function ensureCss() {
|
742
|
-
if (config.autoAddCss && !_cssInserted) {
|
743
|
-
insertCss(css());
|
744
|
-
_cssInserted = true;
|
745
|
-
}
|
746
|
-
}
|
747
|
-
var InjectCSS = {
|
748
|
-
mixout() {
|
749
|
-
return {
|
750
|
-
dom: {
|
751
|
-
css,
|
752
|
-
insertCss: ensureCss
|
753
|
-
}
|
754
|
-
};
|
755
|
-
},
|
756
|
-
hooks() {
|
757
|
-
return {
|
758
|
-
beforeDOMElementCreation() {
|
759
|
-
ensureCss();
|
760
|
-
},
|
761
|
-
beforeI2svg() {
|
762
|
-
ensureCss();
|
763
|
-
}
|
764
|
-
};
|
765
|
-
}
|
766
|
-
};
|
767
|
-
|
768
|
-
const w = WINDOW || {};
|
769
|
-
if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};
|
770
|
-
if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};
|
771
|
-
if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};
|
772
|
-
if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];
|
773
|
-
var namespace = w[NAMESPACE_IDENTIFIER];
|
774
|
-
|
775
|
-
const functions = [];
|
776
|
-
const listener = function () {
|
777
|
-
DOCUMENT.removeEventListener('DOMContentLoaded', listener);
|
778
|
-
loaded = 1;
|
779
|
-
functions.map(fn => fn());
|
780
|
-
};
|
781
|
-
let loaded = false;
|
782
|
-
if (IS_DOM) {
|
783
|
-
loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
|
784
|
-
if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);
|
785
|
-
}
|
786
|
-
function domready (fn) {
|
787
|
-
if (!IS_DOM) return;
|
788
|
-
loaded ? setTimeout(fn, 0) : functions.push(fn);
|
789
|
-
}
|
790
|
-
|
791
|
-
function toHtml(abstractNodes) {
|
792
|
-
const {
|
793
|
-
tag,
|
794
|
-
attributes = {},
|
795
|
-
children = []
|
796
|
-
} = abstractNodes;
|
797
|
-
if (typeof abstractNodes === 'string') {
|
798
|
-
return htmlEscape(abstractNodes);
|
799
|
-
} else {
|
800
|
-
return "<".concat(tag, " ").concat(joinAttributes(attributes), ">").concat(children.map(toHtml).join(''), "</").concat(tag, ">");
|
801
|
-
}
|
802
|
-
}
|
803
|
-
|
804
|
-
function iconFromMapping(mapping, prefix, iconName) {
|
805
|
-
if (mapping && mapping[prefix] && mapping[prefix][iconName]) {
|
806
|
-
return {
|
807
|
-
prefix,
|
808
|
-
iconName,
|
809
|
-
icon: mapping[prefix][iconName]
|
810
|
-
};
|
811
|
-
}
|
812
|
-
}
|
813
|
-
|
814
|
-
/**
|
815
|
-
* # Reduce
|
816
|
-
*
|
817
|
-
* A fast object `.reduce()` implementation.
|
818
|
-
*
|
819
|
-
* @param {Object} subject The object to reduce over.
|
820
|
-
* @param {Function} fn The reducer function.
|
821
|
-
* @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].
|
822
|
-
* @param {Object} thisContext The context for the reducer.
|
823
|
-
* @return {mixed} The final result.
|
824
|
-
*/
|
825
|
-
var reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {
|
826
|
-
var keys = Object.keys(subject),
|
827
|
-
length = keys.length,
|
828
|
-
iterator = fn,
|
829
|
-
i,
|
830
|
-
key,
|
831
|
-
result;
|
832
|
-
if (initialValue === undefined) {
|
833
|
-
i = 1;
|
834
|
-
result = subject[keys[0]];
|
835
|
-
} else {
|
836
|
-
i = 0;
|
837
|
-
result = initialValue;
|
838
|
-
}
|
839
|
-
for (; i < length; i++) {
|
840
|
-
key = keys[i];
|
841
|
-
result = iterator(result, subject[key], key, subject);
|
842
|
-
}
|
843
|
-
return result;
|
844
|
-
};
|
845
|
-
|
846
|
-
/**
|
847
|
-
* ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT
|
848
|
-
*
|
849
|
-
* Copyright Mathias Bynens <https://mathiasbynens.be/>
|
850
|
-
|
851
|
-
* Permission is hereby granted, free of charge, to any person obtaining
|
852
|
-
* a copy of this software and associated documentation files (the
|
853
|
-
* "Software"), to deal in the Software without restriction, including
|
854
|
-
* without limitation the rights to use, copy, modify, merge, publish,
|
855
|
-
* distribute, sublicense, and/or sell copies of the Software, and to
|
856
|
-
* permit persons to whom the Software is furnished to do so, subject to
|
857
|
-
* the following conditions:
|
858
|
-
|
859
|
-
* The above copyright notice and this permission notice shall be
|
860
|
-
* included in all copies or substantial portions of the Software.
|
861
|
-
|
862
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
863
|
-
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
864
|
-
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
865
|
-
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
866
|
-
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
867
|
-
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
868
|
-
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
869
|
-
*/
|
870
|
-
|
871
|
-
function ucs2decode(string) {
|
872
|
-
const output = [];
|
873
|
-
let counter = 0;
|
874
|
-
const length = string.length;
|
875
|
-
while (counter < length) {
|
876
|
-
const value = string.charCodeAt(counter++);
|
877
|
-
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
878
|
-
const extra = string.charCodeAt(counter++);
|
879
|
-
if ((extra & 0xFC00) == 0xDC00) {
|
880
|
-
// eslint-disable-line eqeqeq
|
881
|
-
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
882
|
-
} else {
|
883
|
-
output.push(value);
|
884
|
-
counter--;
|
885
|
-
}
|
886
|
-
} else {
|
887
|
-
output.push(value);
|
888
|
-
}
|
889
|
-
}
|
890
|
-
return output;
|
891
|
-
}
|
892
|
-
function toHex(unicode) {
|
893
|
-
const decoded = ucs2decode(unicode);
|
894
|
-
return decoded.length === 1 ? decoded[0].toString(16) : null;
|
895
|
-
}
|
896
|
-
function codePointAt(string, index) {
|
897
|
-
const size = string.length;
|
898
|
-
let first = string.charCodeAt(index);
|
899
|
-
let second;
|
900
|
-
if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {
|
901
|
-
second = string.charCodeAt(index + 1);
|
902
|
-
if (second >= 0xDC00 && second <= 0xDFFF) {
|
903
|
-
return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
|
904
|
-
}
|
905
|
-
}
|
906
|
-
return first;
|
907
|
-
}
|
908
|
-
|
909
|
-
function normalizeIcons(icons) {
|
910
|
-
return Object.keys(icons).reduce((acc, iconName) => {
|
911
|
-
const icon = icons[iconName];
|
912
|
-
const expanded = !!icon.icon;
|
913
|
-
if (expanded) {
|
914
|
-
acc[icon.iconName] = icon.icon;
|
915
|
-
} else {
|
916
|
-
acc[iconName] = icon;
|
917
|
-
}
|
918
|
-
return acc;
|
919
|
-
}, {});
|
920
|
-
}
|
921
|
-
function defineIcons(prefix, icons) {
|
922
|
-
let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
923
|
-
const {
|
924
|
-
skipHooks = false
|
925
|
-
} = params;
|
926
|
-
const normalized = normalizeIcons(icons);
|
927
|
-
if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {
|
928
|
-
namespace.hooks.addPack(prefix, normalizeIcons(icons));
|
929
|
-
} else {
|
930
|
-
namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);
|
931
|
-
}
|
932
|
-
|
933
|
-
/**
|
934
|
-
* Font Awesome 4 used the prefix of `fa` for all icons. With the introduction
|
935
|
-
* of new styles we needed to differentiate between them. Prefix `fa` is now an alias
|
936
|
-
* for `fas` so we'll ease the upgrade process for our users by automatically defining
|
937
|
-
* this as well.
|
938
|
-
*/
|
939
|
-
if (prefix === 'fas') {
|
940
|
-
defineIcons('fa', icons);
|
941
|
-
}
|
942
|
-
}
|
943
|
-
|
944
|
-
const {
|
945
|
-
styles,
|
946
|
-
shims
|
947
|
-
} = namespace;
|
948
|
-
const FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);
|
949
|
-
const PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {
|
950
|
-
acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);
|
951
|
-
return acc;
|
952
|
-
}, {});
|
953
|
-
let _defaultUsablePrefix = null;
|
954
|
-
let _byUnicode = {};
|
955
|
-
let _byLigature = {};
|
956
|
-
let _byOldName = {};
|
957
|
-
let _byOldUnicode = {};
|
958
|
-
let _byAlias = {};
|
959
|
-
function isReserved(name) {
|
960
|
-
return ~RESERVED_CLASSES.indexOf(name);
|
961
|
-
}
|
962
|
-
function getIconName(cssPrefix, cls) {
|
963
|
-
const parts = cls.split('-');
|
964
|
-
const prefix = parts[0];
|
965
|
-
const iconName = parts.slice(1).join('-');
|
966
|
-
if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {
|
967
|
-
return iconName;
|
968
|
-
} else {
|
969
|
-
return null;
|
970
|
-
}
|
971
|
-
}
|
972
|
-
const build = () => {
|
973
|
-
const lookup = reducer => {
|
974
|
-
return reduce(styles, (o$$1, style, prefix) => {
|
975
|
-
o$$1[prefix] = reduce(style, reducer, {});
|
976
|
-
return o$$1;
|
977
|
-
}, {});
|
978
|
-
};
|
979
|
-
_byUnicode = lookup((acc, icon, iconName) => {
|
980
|
-
if (icon[3]) {
|
981
|
-
acc[icon[3]] = iconName;
|
982
|
-
}
|
983
|
-
if (icon[2]) {
|
984
|
-
const aliases = icon[2].filter(a$$1 => {
|
985
|
-
return typeof a$$1 === 'number';
|
986
|
-
});
|
987
|
-
aliases.forEach(alias => {
|
988
|
-
acc[alias.toString(16)] = iconName;
|
989
|
-
});
|
990
|
-
}
|
991
|
-
return acc;
|
992
|
-
});
|
993
|
-
_byLigature = lookup((acc, icon, iconName) => {
|
994
|
-
acc[iconName] = iconName;
|
995
|
-
if (icon[2]) {
|
996
|
-
const aliases = icon[2].filter(a$$1 => {
|
997
|
-
return typeof a$$1 === 'string';
|
998
|
-
});
|
999
|
-
aliases.forEach(alias => {
|
1000
|
-
acc[alias] = iconName;
|
1001
|
-
});
|
1002
|
-
}
|
1003
|
-
return acc;
|
1004
|
-
});
|
1005
|
-
_byAlias = lookup((acc, icon, iconName) => {
|
1006
|
-
const aliases = icon[2];
|
1007
|
-
acc[iconName] = iconName;
|
1008
|
-
aliases.forEach(alias => {
|
1009
|
-
acc[alias] = iconName;
|
1010
|
-
});
|
1011
|
-
return acc;
|
1012
|
-
});
|
1013
|
-
|
1014
|
-
// If we have a Kit, we can't determine if regular is available since we
|
1015
|
-
// could be auto-fetching it. We'll have to assume that it is available.
|
1016
|
-
const hasRegular = 'far' in styles || config.autoFetchSvg;
|
1017
|
-
const shimLookups = reduce(shims, (acc, shim) => {
|
1018
|
-
const maybeNameMaybeUnicode = shim[0];
|
1019
|
-
let prefix = shim[1];
|
1020
|
-
const iconName = shim[2];
|
1021
|
-
if (prefix === 'far' && !hasRegular) {
|
1022
|
-
prefix = 'fas';
|
1023
|
-
}
|
1024
|
-
if (typeof maybeNameMaybeUnicode === 'string') {
|
1025
|
-
acc.names[maybeNameMaybeUnicode] = {
|
1026
|
-
prefix,
|
1027
|
-
iconName
|
1028
|
-
};
|
1029
|
-
}
|
1030
|
-
if (typeof maybeNameMaybeUnicode === 'number') {
|
1031
|
-
acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {
|
1032
|
-
prefix,
|
1033
|
-
iconName
|
1034
|
-
};
|
1035
|
-
}
|
1036
|
-
return acc;
|
1037
|
-
}, {
|
1038
|
-
names: {},
|
1039
|
-
unicodes: {}
|
1040
|
-
});
|
1041
|
-
_byOldName = shimLookups.names;
|
1042
|
-
_byOldUnicode = shimLookups.unicodes;
|
1043
|
-
_defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {
|
1044
|
-
family: config.familyDefault
|
1045
|
-
});
|
1046
|
-
};
|
1047
|
-
onChange(c$$1 => {
|
1048
|
-
_defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {
|
1049
|
-
family: config.familyDefault
|
1050
|
-
});
|
1051
|
-
});
|
1052
|
-
build();
|
1053
|
-
function byUnicode(prefix, unicode) {
|
1054
|
-
return (_byUnicode[prefix] || {})[unicode];
|
1055
|
-
}
|
1056
|
-
function byLigature(prefix, ligature) {
|
1057
|
-
return (_byLigature[prefix] || {})[ligature];
|
1058
|
-
}
|
1059
|
-
function byAlias(prefix, alias) {
|
1060
|
-
return (_byAlias[prefix] || {})[alias];
|
1061
|
-
}
|
1062
|
-
function byOldName(name) {
|
1063
|
-
return _byOldName[name] || {
|
1064
|
-
prefix: null,
|
1065
|
-
iconName: null
|
1066
|
-
};
|
1067
|
-
}
|
1068
|
-
function byOldUnicode(unicode) {
|
1069
|
-
const oldUnicode = _byOldUnicode[unicode];
|
1070
|
-
const newUnicode = byUnicode('fas', unicode);
|
1071
|
-
return oldUnicode || (newUnicode ? {
|
1072
|
-
prefix: 'fas',
|
1073
|
-
iconName: newUnicode
|
1074
|
-
} : null) || {
|
1075
|
-
prefix: null,
|
1076
|
-
iconName: null
|
1077
|
-
};
|
1078
|
-
}
|
1079
|
-
function getDefaultUsablePrefix() {
|
1080
|
-
return _defaultUsablePrefix;
|
1081
|
-
}
|
1082
|
-
const emptyCanonicalIcon = () => {
|
1083
|
-
return {
|
1084
|
-
prefix: null,
|
1085
|
-
iconName: null,
|
1086
|
-
rest: []
|
1087
|
-
};
|
1088
|
-
};
|
1089
|
-
function getFamilyId(values) {
|
1090
|
-
let family = s;
|
1091
|
-
const famProps = FAMILY_NAMES.reduce((acc, familyId) => {
|
1092
|
-
acc[familyId] = "".concat(config.cssPrefix, "-").concat(familyId);
|
1093
|
-
return acc;
|
1094
|
-
}, {});
|
1095
|
-
L.forEach(familyId => {
|
1096
|
-
if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {
|
1097
|
-
family = familyId;
|
1098
|
-
}
|
1099
|
-
});
|
1100
|
-
return family;
|
1101
|
-
}
|
1102
|
-
function getCanonicalPrefix(styleOrPrefix) {
|
1103
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
1104
|
-
const {
|
1105
|
-
family = s
|
1106
|
-
} = params;
|
1107
|
-
const style = PREFIX_TO_STYLE[family][styleOrPrefix];
|
1108
|
-
|
1109
|
-
// handles the exception of passing in only a family of 'duotone' with no style
|
1110
|
-
if (family === t && !styleOrPrefix) {
|
1111
|
-
return 'fad';
|
1112
|
-
}
|
1113
|
-
const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];
|
1114
|
-
const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;
|
1115
|
-
const result = prefix || defined || null;
|
1116
|
-
return result;
|
1117
|
-
}
|
1118
|
-
function moveNonFaClassesToRest(classNames) {
|
1119
|
-
let rest = [];
|
1120
|
-
let iconName = null;
|
1121
|
-
classNames.forEach(cls => {
|
1122
|
-
const result = getIconName(config.cssPrefix, cls);
|
1123
|
-
if (result) {
|
1124
|
-
iconName = result;
|
1125
|
-
} else if (cls) {
|
1126
|
-
rest.push(cls);
|
1127
|
-
}
|
1128
|
-
});
|
1129
|
-
return {
|
1130
|
-
iconName,
|
1131
|
-
rest
|
1132
|
-
};
|
1133
|
-
}
|
1134
|
-
function sortedUniqueValues(arr) {
|
1135
|
-
return arr.sort().filter((value, index, arr) => {
|
1136
|
-
return arr.indexOf(value) === index;
|
1137
|
-
});
|
1138
|
-
}
|
1139
|
-
function getCanonicalIcon(values) {
|
1140
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
1141
|
-
const {
|
1142
|
-
skipLookups = false
|
1143
|
-
} = params;
|
1144
|
-
let givenPrefix = null;
|
1145
|
-
const faCombinedClasses = Ia.concat(bt$1);
|
1146
|
-
const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));
|
1147
|
-
const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !Ia.includes(cls)));
|
1148
|
-
const faStyles = faStyleOrFamilyClasses.filter(cls => {
|
1149
|
-
givenPrefix = cls;
|
1150
|
-
return !P.includes(cls);
|
1151
|
-
});
|
1152
|
-
const [styleFromValues = null] = faStyles;
|
1153
|
-
const family = getFamilyId(faStyleOrFamilyClasses);
|
1154
|
-
const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {
|
1155
|
-
prefix: getCanonicalPrefix(styleFromValues, {
|
1156
|
-
family
|
1157
|
-
})
|
1158
|
-
});
|
1159
|
-
return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({
|
1160
|
-
values,
|
1161
|
-
family,
|
1162
|
-
styles,
|
1163
|
-
config,
|
1164
|
-
canonical,
|
1165
|
-
givenPrefix
|
1166
|
-
})), applyShimAndAlias(skipLookups, givenPrefix, canonical));
|
1167
|
-
}
|
1168
|
-
function applyShimAndAlias(skipLookups, givenPrefix, canonical) {
|
1169
|
-
let {
|
1170
|
-
prefix,
|
1171
|
-
iconName
|
1172
|
-
} = canonical;
|
1173
|
-
if (skipLookups || !prefix || !iconName) {
|
1174
|
-
return {
|
1175
|
-
prefix,
|
1176
|
-
iconName
|
1177
|
-
};
|
1178
|
-
}
|
1179
|
-
const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};
|
1180
|
-
const aliasIconName = byAlias(prefix, iconName);
|
1181
|
-
iconName = shim.iconName || aliasIconName || iconName;
|
1182
|
-
prefix = shim.prefix || prefix;
|
1183
|
-
if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {
|
1184
|
-
// Allow a fallback from the regular style to solid if regular is not available
|
1185
|
-
// but only if we aren't auto-fetching SVGs
|
1186
|
-
prefix = 'fas';
|
1187
|
-
}
|
1188
|
-
return {
|
1189
|
-
prefix,
|
1190
|
-
iconName
|
1191
|
-
};
|
1192
|
-
}
|
1193
|
-
const newCanonicalFamilies = L.filter(familyId => {
|
1194
|
-
return familyId !== s || familyId !== t;
|
1195
|
-
});
|
1196
|
-
const newCanonicalStyles = Object.keys(ga).filter(key => key !== s).map(key => Object.keys(ga[key])).flat();
|
1197
|
-
function getDefaultCanonicalPrefix(prefixOptions) {
|
1198
|
-
const {
|
1199
|
-
values,
|
1200
|
-
family,
|
1201
|
-
canonical,
|
1202
|
-
givenPrefix = '',
|
1203
|
-
styles = {},
|
1204
|
-
config: config$$1 = {}
|
1205
|
-
} = prefixOptions;
|
1206
|
-
const isDuotoneFamily = family === t;
|
1207
|
-
const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');
|
1208
|
-
const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';
|
1209
|
-
const canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';
|
1210
|
-
if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {
|
1211
|
-
canonical.prefix = 'fad';
|
1212
|
-
}
|
1213
|
-
if (values.includes('fa-brands') || values.includes('fab')) {
|
1214
|
-
canonical.prefix = 'fab';
|
1215
|
-
}
|
1216
|
-
if (!canonical.prefix && newCanonicalFamilies.includes(family)) {
|
1217
|
-
const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));
|
1218
|
-
if (validPrefix || config$$1.autoFetchSvg) {
|
1219
|
-
const defaultPrefix = pt.get(family).defaultShortPrefixId;
|
1220
|
-
canonical.prefix = defaultPrefix;
|
1221
|
-
canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;
|
1222
|
-
}
|
1223
|
-
}
|
1224
|
-
if (canonical.prefix === 'fa' || givenPrefix === 'fa') {
|
1225
|
-
// The fa prefix is not canonical. So if it has made it through until this point
|
1226
|
-
// we will shift it to the correct prefix.
|
1227
|
-
canonical.prefix = getDefaultUsablePrefix() || 'fas';
|
1228
|
-
}
|
1229
|
-
return canonical;
|
1230
|
-
}
|
1231
|
-
|
1232
|
-
class Library {
|
1233
|
-
constructor() {
|
1234
|
-
this.definitions = {};
|
1235
|
-
}
|
1236
|
-
add() {
|
1237
|
-
for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {
|
1238
|
-
definitions[_key] = arguments[_key];
|
1239
|
-
}
|
1240
|
-
const additions = definitions.reduce(this._pullDefinitions, {});
|
1241
|
-
Object.keys(additions).forEach(key => {
|
1242
|
-
this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);
|
1243
|
-
defineIcons(key, additions[key]);
|
1244
|
-
|
1245
|
-
// TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change
|
1246
|
-
const longPrefix = PREFIX_TO_LONG_STYLE[s][key];
|
1247
|
-
if (longPrefix) defineIcons(longPrefix, additions[key]);
|
1248
|
-
build();
|
1249
|
-
});
|
1250
|
-
}
|
1251
|
-
reset() {
|
1252
|
-
this.definitions = {};
|
1253
|
-
}
|
1254
|
-
_pullDefinitions(additions, definition) {
|
1255
|
-
const normalized = definition.prefix && definition.iconName && definition.icon ? {
|
1256
|
-
0: definition
|
1257
|
-
} : definition;
|
1258
|
-
Object.keys(normalized).map(key => {
|
1259
|
-
const {
|
1260
|
-
prefix,
|
1261
|
-
iconName,
|
1262
|
-
icon
|
1263
|
-
} = normalized[key];
|
1264
|
-
const aliases = icon[2];
|
1265
|
-
if (!additions[prefix]) additions[prefix] = {};
|
1266
|
-
if (aliases.length > 0) {
|
1267
|
-
aliases.forEach(alias => {
|
1268
|
-
if (typeof alias === 'string') {
|
1269
|
-
additions[prefix][alias] = icon;
|
1270
|
-
}
|
1271
|
-
});
|
1272
|
-
}
|
1273
|
-
additions[prefix][iconName] = icon;
|
1274
|
-
});
|
1275
|
-
return additions;
|
1276
|
-
}
|
1277
|
-
}
|
1278
|
-
|
1279
|
-
let _plugins = [];
|
1280
|
-
let _hooks = {};
|
1281
|
-
const providers = {};
|
1282
|
-
const defaultProviderKeys = Object.keys(providers);
|
1283
|
-
function registerPlugins(nextPlugins, _ref) {
|
1284
|
-
let {
|
1285
|
-
mixoutsTo: obj
|
1286
|
-
} = _ref;
|
1287
|
-
_plugins = nextPlugins;
|
1288
|
-
_hooks = {};
|
1289
|
-
Object.keys(providers).forEach(k => {
|
1290
|
-
if (defaultProviderKeys.indexOf(k) === -1) {
|
1291
|
-
delete providers[k];
|
1292
|
-
}
|
1293
|
-
});
|
1294
|
-
_plugins.forEach(plugin => {
|
1295
|
-
const mixout = plugin.mixout ? plugin.mixout() : {};
|
1296
|
-
Object.keys(mixout).forEach(tk => {
|
1297
|
-
if (typeof mixout[tk] === 'function') {
|
1298
|
-
obj[tk] = mixout[tk];
|
1299
|
-
}
|
1300
|
-
if (typeof mixout[tk] === 'object') {
|
1301
|
-
Object.keys(mixout[tk]).forEach(sk => {
|
1302
|
-
if (!obj[tk]) {
|
1303
|
-
obj[tk] = {};
|
1304
|
-
}
|
1305
|
-
obj[tk][sk] = mixout[tk][sk];
|
1306
|
-
});
|
1307
|
-
}
|
1308
|
-
});
|
1309
|
-
if (plugin.hooks) {
|
1310
|
-
const hooks = plugin.hooks();
|
1311
|
-
Object.keys(hooks).forEach(hook => {
|
1312
|
-
if (!_hooks[hook]) {
|
1313
|
-
_hooks[hook] = [];
|
1314
|
-
}
|
1315
|
-
_hooks[hook].push(hooks[hook]);
|
1316
|
-
});
|
1317
|
-
}
|
1318
|
-
if (plugin.provides) {
|
1319
|
-
plugin.provides(providers);
|
1320
|
-
}
|
1321
|
-
});
|
1322
|
-
return obj;
|
1323
|
-
}
|
1324
|
-
function chainHooks(hook, accumulator) {
|
1325
|
-
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
1326
|
-
args[_key - 2] = arguments[_key];
|
1327
|
-
}
|
1328
|
-
const hookFns = _hooks[hook] || [];
|
1329
|
-
hookFns.forEach(hookFn => {
|
1330
|
-
accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call
|
1331
|
-
});
|
1332
|
-
return accumulator;
|
1333
|
-
}
|
1334
|
-
function callHooks(hook) {
|
1335
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
1336
|
-
args[_key2 - 1] = arguments[_key2];
|
1337
|
-
}
|
1338
|
-
const hookFns = _hooks[hook] || [];
|
1339
|
-
hookFns.forEach(hookFn => {
|
1340
|
-
hookFn.apply(null, args);
|
1341
|
-
});
|
1342
|
-
return undefined;
|
1343
|
-
}
|
1344
|
-
function callProvided() {
|
1345
|
-
const hook = arguments[0];
|
1346
|
-
const args = Array.prototype.slice.call(arguments, 1);
|
1347
|
-
return providers[hook] ? providers[hook].apply(null, args) : undefined;
|
1348
|
-
}
|
1349
|
-
|
1350
|
-
function findIconDefinition(iconLookup) {
|
1351
|
-
if (iconLookup.prefix === 'fa') {
|
1352
|
-
iconLookup.prefix = 'fas';
|
1353
|
-
}
|
1354
|
-
let {
|
1355
|
-
iconName
|
1356
|
-
} = iconLookup;
|
1357
|
-
const prefix = iconLookup.prefix || getDefaultUsablePrefix();
|
1358
|
-
if (!iconName) return;
|
1359
|
-
iconName = byAlias(prefix, iconName) || iconName;
|
1360
|
-
return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);
|
1361
|
-
}
|
1362
|
-
const library = new Library();
|
1363
|
-
const noAuto = () => {
|
1364
|
-
config.autoReplaceSvg = false;
|
1365
|
-
config.observeMutations = false;
|
1366
|
-
callHooks('noAuto');
|
1367
|
-
};
|
1368
|
-
const dom = {
|
1369
|
-
i2svg: function () {
|
1370
|
-
let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
1371
|
-
if (IS_DOM) {
|
1372
|
-
callHooks('beforeI2svg', params);
|
1373
|
-
callProvided('pseudoElements2svg', params);
|
1374
|
-
return callProvided('i2svg', params);
|
1375
|
-
} else {
|
1376
|
-
return Promise.reject(new Error('Operation requires a DOM of some kind.'));
|
1377
|
-
}
|
1378
|
-
},
|
1379
|
-
watch: function () {
|
1380
|
-
let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
1381
|
-
const {
|
1382
|
-
autoReplaceSvgRoot
|
1383
|
-
} = params;
|
1384
|
-
if (config.autoReplaceSvg === false) {
|
1385
|
-
config.autoReplaceSvg = true;
|
1386
|
-
}
|
1387
|
-
config.observeMutations = true;
|
1388
|
-
domready(() => {
|
1389
|
-
autoReplace({
|
1390
|
-
autoReplaceSvgRoot
|
1391
|
-
});
|
1392
|
-
callHooks('watch', params);
|
1393
|
-
});
|
1394
|
-
}
|
1395
|
-
};
|
1396
|
-
const parse = {
|
1397
|
-
icon: icon => {
|
1398
|
-
if (icon === null) {
|
1399
|
-
return null;
|
1400
|
-
}
|
1401
|
-
if (typeof icon === 'object' && icon.prefix && icon.iconName) {
|
1402
|
-
return {
|
1403
|
-
prefix: icon.prefix,
|
1404
|
-
iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName
|
1405
|
-
};
|
1406
|
-
}
|
1407
|
-
if (Array.isArray(icon) && icon.length === 2) {
|
1408
|
-
const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];
|
1409
|
-
const prefix = getCanonicalPrefix(icon[0]);
|
1410
|
-
return {
|
1411
|
-
prefix,
|
1412
|
-
iconName: byAlias(prefix, iconName) || iconName
|
1413
|
-
};
|
1414
|
-
}
|
1415
|
-
if (typeof icon === 'string' && (icon.indexOf("".concat(config.cssPrefix, "-")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {
|
1416
|
-
const canonicalIcon = getCanonicalIcon(icon.split(' '), {
|
1417
|
-
skipLookups: true
|
1418
|
-
});
|
1419
|
-
return {
|
1420
|
-
prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),
|
1421
|
-
iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName
|
1422
|
-
};
|
1423
|
-
}
|
1424
|
-
if (typeof icon === 'string') {
|
1425
|
-
const prefix = getDefaultUsablePrefix();
|
1426
|
-
return {
|
1427
|
-
prefix,
|
1428
|
-
iconName: byAlias(prefix, icon) || icon
|
1429
|
-
};
|
1430
|
-
}
|
1431
|
-
}
|
1432
|
-
};
|
1433
|
-
const api = {
|
1434
|
-
noAuto,
|
1435
|
-
config,
|
1436
|
-
dom,
|
1437
|
-
parse,
|
1438
|
-
library,
|
1439
|
-
findIconDefinition,
|
1440
|
-
toHtml
|
1441
|
-
};
|
1442
|
-
const autoReplace = function () {
|
1443
|
-
let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
1444
|
-
const {
|
1445
|
-
autoReplaceSvgRoot = DOCUMENT
|
1446
|
-
} = params;
|
1447
|
-
if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({
|
1448
|
-
node: autoReplaceSvgRoot
|
1449
|
-
});
|
1450
|
-
};
|
1451
|
-
|
1452
|
-
function domVariants(val, abstractCreator) {
|
1453
|
-
Object.defineProperty(val, 'abstract', {
|
1454
|
-
get: abstractCreator
|
1455
|
-
});
|
1456
|
-
Object.defineProperty(val, 'html', {
|
1457
|
-
get: function () {
|
1458
|
-
return val.abstract.map(a => toHtml(a));
|
1459
|
-
}
|
1460
|
-
});
|
1461
|
-
Object.defineProperty(val, 'node', {
|
1462
|
-
get: function () {
|
1463
|
-
if (!IS_DOM) return;
|
1464
|
-
const container = DOCUMENT.createElement('div');
|
1465
|
-
container.innerHTML = val.html;
|
1466
|
-
return container.children;
|
1467
|
-
}
|
1468
|
-
});
|
1469
|
-
return val;
|
1470
|
-
}
|
1471
|
-
|
1472
|
-
function asIcon (_ref) {
|
1473
|
-
let {
|
1474
|
-
children,
|
1475
|
-
main,
|
1476
|
-
mask,
|
1477
|
-
attributes,
|
1478
|
-
styles,
|
1479
|
-
transform
|
1480
|
-
} = _ref;
|
1481
|
-
if (transformIsMeaningful(transform) && main.found && !mask.found) {
|
1482
|
-
const {
|
1483
|
-
width,
|
1484
|
-
height
|
1485
|
-
} = main;
|
1486
|
-
const offset = {
|
1487
|
-
x: width / height / 2,
|
1488
|
-
y: 0.5
|
1489
|
-
};
|
1490
|
-
attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {
|
1491
|
-
'transform-origin': "".concat(offset.x + transform.x / 16, "em ").concat(offset.y + transform.y / 16, "em")
|
1492
|
-
}));
|
1493
|
-
}
|
1494
|
-
return [{
|
1495
|
-
tag: 'svg',
|
1496
|
-
attributes,
|
1497
|
-
children
|
1498
|
-
}];
|
1499
|
-
}
|
1500
|
-
|
1501
|
-
function asSymbol (_ref) {
|
1502
|
-
let {
|
1503
|
-
prefix,
|
1504
|
-
iconName,
|
1505
|
-
children,
|
1506
|
-
attributes,
|
1507
|
-
symbol
|
1508
|
-
} = _ref;
|
1509
|
-
const id = symbol === true ? "".concat(prefix, "-").concat(config.cssPrefix, "-").concat(iconName) : symbol;
|
1510
|
-
return [{
|
1511
|
-
tag: 'svg',
|
1512
|
-
attributes: {
|
1513
|
-
style: 'display: none;'
|
1514
|
-
},
|
1515
|
-
children: [{
|
1516
|
-
tag: 'symbol',
|
1517
|
-
attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {
|
1518
|
-
id
|
1519
|
-
}),
|
1520
|
-
children
|
1521
|
-
}]
|
1522
|
-
}];
|
1523
|
-
}
|
1524
|
-
|
1525
|
-
function makeInlineSvgAbstract(params) {
|
1526
|
-
const {
|
1527
|
-
icons: {
|
1528
|
-
main,
|
1529
|
-
mask
|
1530
|
-
},
|
1531
|
-
prefix,
|
1532
|
-
iconName,
|
1533
|
-
transform,
|
1534
|
-
symbol,
|
1535
|
-
title,
|
1536
|
-
maskId,
|
1537
|
-
titleId,
|
1538
|
-
extra,
|
1539
|
-
watchable = false
|
1540
|
-
} = params;
|
1541
|
-
const {
|
1542
|
-
width,
|
1543
|
-
height
|
1544
|
-
} = mask.found ? mask : main;
|
1545
|
-
const isUploadedIcon = Lt.includes(prefix);
|
1546
|
-
const attrClass = [config.replacementClass, iconName ? "".concat(config.cssPrefix, "-").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');
|
1547
|
-
let content = {
|
1548
|
-
children: [],
|
1549
|
-
attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {
|
1550
|
-
'data-prefix': prefix,
|
1551
|
-
'data-icon': iconName,
|
1552
|
-
'class': attrClass,
|
1553
|
-
'role': extra.attributes.role || 'img',
|
1554
|
-
'xmlns': 'http://www.w3.org/2000/svg',
|
1555
|
-
'viewBox': "0 0 ".concat(width, " ").concat(height)
|
1556
|
-
})
|
1557
|
-
};
|
1558
|
-
const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {
|
1559
|
-
width: "".concat(width / height * 16 * 0.0625, "em")
|
1560
|
-
} : {};
|
1561
|
-
if (watchable) {
|
1562
|
-
content.attributes[DATA_FA_I2SVG] = '';
|
1563
|
-
}
|
1564
|
-
if (title) {
|
1565
|
-
content.children.push({
|
1566
|
-
tag: 'title',
|
1567
|
-
attributes: {
|
1568
|
-
id: content.attributes['aria-labelledby'] || "title-".concat(titleId || nextUniqueId())
|
1569
|
-
},
|
1570
|
-
children: [title]
|
1571
|
-
});
|
1572
|
-
delete content.attributes.title;
|
1573
|
-
}
|
1574
|
-
const args = _objectSpread2(_objectSpread2({}, content), {}, {
|
1575
|
-
prefix,
|
1576
|
-
iconName,
|
1577
|
-
main,
|
1578
|
-
mask,
|
1579
|
-
maskId,
|
1580
|
-
transform,
|
1581
|
-
symbol,
|
1582
|
-
styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)
|
1583
|
-
});
|
1584
|
-
const {
|
1585
|
-
children,
|
1586
|
-
attributes
|
1587
|
-
} = mask.found && main.found ? callProvided('generateAbstractMask', args) || {
|
1588
|
-
children: [],
|
1589
|
-
attributes: {}
|
1590
|
-
} : callProvided('generateAbstractIcon', args) || {
|
1591
|
-
children: [],
|
1592
|
-
attributes: {}
|
1593
|
-
};
|
1594
|
-
args.children = children;
|
1595
|
-
args.attributes = attributes;
|
1596
|
-
if (symbol) {
|
1597
|
-
return asSymbol(args);
|
1598
|
-
} else {
|
1599
|
-
return asIcon(args);
|
1600
|
-
}
|
1601
|
-
}
|
1602
|
-
function makeLayersTextAbstract(params) {
|
1603
|
-
const {
|
1604
|
-
content,
|
1605
|
-
width,
|
1606
|
-
height,
|
1607
|
-
transform,
|
1608
|
-
title,
|
1609
|
-
extra,
|
1610
|
-
watchable = false
|
1611
|
-
} = params;
|
1612
|
-
const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {
|
1613
|
-
'title': title
|
1614
|
-
} : {}), {}, {
|
1615
|
-
'class': extra.classes.join(' ')
|
1616
|
-
});
|
1617
|
-
if (watchable) {
|
1618
|
-
attributes[DATA_FA_I2SVG] = '';
|
1619
|
-
}
|
1620
|
-
const styles = _objectSpread2({}, extra.styles);
|
1621
|
-
if (transformIsMeaningful(transform)) {
|
1622
|
-
styles['transform'] = transformForCss({
|
1623
|
-
transform,
|
1624
|
-
startCentered: true,
|
1625
|
-
width,
|
1626
|
-
height
|
1627
|
-
});
|
1628
|
-
styles['-webkit-transform'] = styles['transform'];
|
1629
|
-
}
|
1630
|
-
const styleString = joinStyles(styles);
|
1631
|
-
if (styleString.length > 0) {
|
1632
|
-
attributes['style'] = styleString;
|
1633
|
-
}
|
1634
|
-
const val = [];
|
1635
|
-
val.push({
|
1636
|
-
tag: 'span',
|
1637
|
-
attributes,
|
1638
|
-
children: [content]
|
1639
|
-
});
|
1640
|
-
if (title) {
|
1641
|
-
val.push({
|
1642
|
-
tag: 'span',
|
1643
|
-
attributes: {
|
1644
|
-
class: 'sr-only'
|
1645
|
-
},
|
1646
|
-
children: [title]
|
1647
|
-
});
|
1648
|
-
}
|
1649
|
-
return val;
|
1650
|
-
}
|
1651
|
-
function makeLayersCounterAbstract(params) {
|
1652
|
-
const {
|
1653
|
-
content,
|
1654
|
-
title,
|
1655
|
-
extra
|
1656
|
-
} = params;
|
1657
|
-
const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {
|
1658
|
-
'title': title
|
1659
|
-
} : {}), {}, {
|
1660
|
-
'class': extra.classes.join(' ')
|
1661
|
-
});
|
1662
|
-
const styleString = joinStyles(extra.styles);
|
1663
|
-
if (styleString.length > 0) {
|
1664
|
-
attributes['style'] = styleString;
|
1665
|
-
}
|
1666
|
-
const val = [];
|
1667
|
-
val.push({
|
1668
|
-
tag: 'span',
|
1669
|
-
attributes,
|
1670
|
-
children: [content]
|
1671
|
-
});
|
1672
|
-
if (title) {
|
1673
|
-
val.push({
|
1674
|
-
tag: 'span',
|
1675
|
-
attributes: {
|
1676
|
-
class: 'sr-only'
|
1677
|
-
},
|
1678
|
-
children: [title]
|
1679
|
-
});
|
1680
|
-
}
|
1681
|
-
return val;
|
1682
|
-
}
|
1683
|
-
|
1684
|
-
const {
|
1685
|
-
styles: styles$1
|
1686
|
-
} = namespace;
|
1687
|
-
function asFoundIcon(icon) {
|
1688
|
-
const width = icon[0];
|
1689
|
-
const height = icon[1];
|
1690
|
-
const [vectorData] = icon.slice(4);
|
1691
|
-
let element = null;
|
1692
|
-
if (Array.isArray(vectorData)) {
|
1693
|
-
element = {
|
1694
|
-
tag: 'g',
|
1695
|
-
attributes: {
|
1696
|
-
class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.GROUP)
|
1697
|
-
},
|
1698
|
-
children: [{
|
1699
|
-
tag: 'path',
|
1700
|
-
attributes: {
|
1701
|
-
class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.SECONDARY),
|
1702
|
-
fill: 'currentColor',
|
1703
|
-
d: vectorData[0]
|
1704
|
-
}
|
1705
|
-
}, {
|
1706
|
-
tag: 'path',
|
1707
|
-
attributes: {
|
1708
|
-
class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.PRIMARY),
|
1709
|
-
fill: 'currentColor',
|
1710
|
-
d: vectorData[1]
|
1711
|
-
}
|
1712
|
-
}]
|
1713
|
-
};
|
1714
|
-
} else {
|
1715
|
-
element = {
|
1716
|
-
tag: 'path',
|
1717
|
-
attributes: {
|
1718
|
-
fill: 'currentColor',
|
1719
|
-
d: vectorData
|
1720
|
-
}
|
1721
|
-
};
|
1722
|
-
}
|
1723
|
-
return {
|
1724
|
-
found: true,
|
1725
|
-
width,
|
1726
|
-
height,
|
1727
|
-
icon: element
|
1728
|
-
};
|
1729
|
-
}
|
1730
|
-
const missingIconResolutionMixin = {
|
1731
|
-
found: false,
|
1732
|
-
width: 512,
|
1733
|
-
height: 512
|
1734
|
-
};
|
1735
|
-
function maybeNotifyMissing(iconName, prefix) {
|
1736
|
-
if (!PRODUCTION && !config.showMissingIcons && iconName) {
|
1737
|
-
console.error("Icon with name \"".concat(iconName, "\" and prefix \"").concat(prefix, "\" is missing."));
|
1738
|
-
}
|
1739
|
-
}
|
1740
|
-
function findIcon(iconName, prefix) {
|
1741
|
-
let givenPrefix = prefix;
|
1742
|
-
if (prefix === 'fa' && config.styleDefault !== null) {
|
1743
|
-
prefix = getDefaultUsablePrefix();
|
1744
|
-
}
|
1745
|
-
return new Promise((resolve, reject) => {
|
1746
|
-
if (givenPrefix === 'fa') {
|
1747
|
-
const shim = byOldName(iconName) || {};
|
1748
|
-
iconName = shim.iconName || iconName;
|
1749
|
-
prefix = shim.prefix || prefix;
|
1750
|
-
}
|
1751
|
-
if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {
|
1752
|
-
const icon = styles$1[prefix][iconName];
|
1753
|
-
return resolve(asFoundIcon(icon));
|
1754
|
-
}
|
1755
|
-
maybeNotifyMissing(iconName, prefix);
|
1756
|
-
resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {
|
1757
|
-
icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}
|
1758
|
-
}));
|
1759
|
-
});
|
1760
|
-
}
|
1761
|
-
|
1762
|
-
const noop$1 = () => {};
|
1763
|
-
const p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {
|
1764
|
-
mark: noop$1,
|
1765
|
-
measure: noop$1
|
1766
|
-
};
|
1767
|
-
const preamble = "FA \"6.7.2\"";
|
1768
|
-
const begin = name => {
|
1769
|
-
p$2.mark("".concat(preamble, " ").concat(name, " begins"));
|
1770
|
-
return () => end(name);
|
1771
|
-
};
|
1772
|
-
const end = name => {
|
1773
|
-
p$2.mark("".concat(preamble, " ").concat(name, " ends"));
|
1774
|
-
p$2.measure("".concat(preamble, " ").concat(name), "".concat(preamble, " ").concat(name, " begins"), "".concat(preamble, " ").concat(name, " ends"));
|
1775
|
-
};
|
1776
|
-
var perf = {
|
1777
|
-
begin,
|
1778
|
-
end
|
1779
|
-
};
|
1780
|
-
|
1781
|
-
const noop$2 = () => {};
|
1782
|
-
function isWatched(node) {
|
1783
|
-
const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;
|
1784
|
-
return typeof i2svg === 'string';
|
1785
|
-
}
|
1786
|
-
function hasPrefixAndIcon(node) {
|
1787
|
-
const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;
|
1788
|
-
const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;
|
1789
|
-
return prefix && icon;
|
1790
|
-
}
|
1791
|
-
function hasBeenReplaced(node) {
|
1792
|
-
return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);
|
1793
|
-
}
|
1794
|
-
function getMutator() {
|
1795
|
-
if (config.autoReplaceSvg === true) {
|
1796
|
-
return mutators.replace;
|
1797
|
-
}
|
1798
|
-
const mutator = mutators[config.autoReplaceSvg];
|
1799
|
-
return mutator || mutators.replace;
|
1800
|
-
}
|
1801
|
-
function createElementNS(tag) {
|
1802
|
-
return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);
|
1803
|
-
}
|
1804
|
-
function createElement(tag) {
|
1805
|
-
return DOCUMENT.createElement(tag);
|
1806
|
-
}
|
1807
|
-
function convertSVG(abstractObj) {
|
1808
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
1809
|
-
const {
|
1810
|
-
ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement
|
1811
|
-
} = params;
|
1812
|
-
if (typeof abstractObj === 'string') {
|
1813
|
-
return DOCUMENT.createTextNode(abstractObj);
|
1814
|
-
}
|
1815
|
-
const tag = ceFn(abstractObj.tag);
|
1816
|
-
Object.keys(abstractObj.attributes || []).forEach(function (key) {
|
1817
|
-
tag.setAttribute(key, abstractObj.attributes[key]);
|
1818
|
-
});
|
1819
|
-
const children = abstractObj.children || [];
|
1820
|
-
children.forEach(function (child) {
|
1821
|
-
tag.appendChild(convertSVG(child, {
|
1822
|
-
ceFn
|
1823
|
-
}));
|
1824
|
-
});
|
1825
|
-
return tag;
|
1826
|
-
}
|
1827
|
-
function nodeAsComment(node) {
|
1828
|
-
let comment = " ".concat(node.outerHTML, " ");
|
1829
|
-
/* BEGIN.ATTRIBUTION */
|
1830
|
-
comment = "".concat(comment, "Font Awesome fontawesome.com ");
|
1831
|
-
/* END.ATTRIBUTION */
|
1832
|
-
return comment;
|
1833
|
-
}
|
1834
|
-
const mutators = {
|
1835
|
-
replace: function (mutation) {
|
1836
|
-
const node = mutation[0];
|
1837
|
-
if (node.parentNode) {
|
1838
|
-
mutation[1].forEach(abstract => {
|
1839
|
-
node.parentNode.insertBefore(convertSVG(abstract), node);
|
1840
|
-
});
|
1841
|
-
if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {
|
1842
|
-
let comment = DOCUMENT.createComment(nodeAsComment(node));
|
1843
|
-
node.parentNode.replaceChild(comment, node);
|
1844
|
-
} else {
|
1845
|
-
node.remove();
|
1846
|
-
}
|
1847
|
-
}
|
1848
|
-
},
|
1849
|
-
nest: function (mutation) {
|
1850
|
-
const node = mutation[0];
|
1851
|
-
const abstract = mutation[1];
|
1852
|
-
|
1853
|
-
// If we already have a replaced node we do not want to continue nesting within it.
|
1854
|
-
// Short-circuit to the standard replacement
|
1855
|
-
if (~classArray(node).indexOf(config.replacementClass)) {
|
1856
|
-
return mutators.replace(mutation);
|
1857
|
-
}
|
1858
|
-
const forSvg = new RegExp("".concat(config.cssPrefix, "-.*"));
|
1859
|
-
delete abstract[0].attributes.id;
|
1860
|
-
if (abstract[0].attributes.class) {
|
1861
|
-
const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {
|
1862
|
-
if (cls === config.replacementClass || cls.match(forSvg)) {
|
1863
|
-
acc.toSvg.push(cls);
|
1864
|
-
} else {
|
1865
|
-
acc.toNode.push(cls);
|
1866
|
-
}
|
1867
|
-
return acc;
|
1868
|
-
}, {
|
1869
|
-
toNode: [],
|
1870
|
-
toSvg: []
|
1871
|
-
});
|
1872
|
-
abstract[0].attributes.class = splitClasses.toSvg.join(' ');
|
1873
|
-
if (splitClasses.toNode.length === 0) {
|
1874
|
-
node.removeAttribute('class');
|
1875
|
-
} else {
|
1876
|
-
node.setAttribute('class', splitClasses.toNode.join(' '));
|
1877
|
-
}
|
1878
|
-
}
|
1879
|
-
const newInnerHTML = abstract.map(a => toHtml(a)).join('\n');
|
1880
|
-
node.setAttribute(DATA_FA_I2SVG, '');
|
1881
|
-
node.innerHTML = newInnerHTML;
|
1882
|
-
}
|
1883
|
-
};
|
1884
|
-
function performOperationSync(op) {
|
1885
|
-
op();
|
1886
|
-
}
|
1887
|
-
function perform(mutations, callback) {
|
1888
|
-
const callbackFunction = typeof callback === 'function' ? callback : noop$2;
|
1889
|
-
if (mutations.length === 0) {
|
1890
|
-
callbackFunction();
|
1891
|
-
} else {
|
1892
|
-
let frame = performOperationSync;
|
1893
|
-
if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {
|
1894
|
-
frame = WINDOW.requestAnimationFrame || performOperationSync;
|
1895
|
-
}
|
1896
|
-
frame(() => {
|
1897
|
-
const mutator = getMutator();
|
1898
|
-
const mark = perf.begin('mutate');
|
1899
|
-
mutations.map(mutator);
|
1900
|
-
mark();
|
1901
|
-
callbackFunction();
|
1902
|
-
});
|
1903
|
-
}
|
1904
|
-
}
|
1905
|
-
let disabled = false;
|
1906
|
-
function disableObservation() {
|
1907
|
-
disabled = true;
|
1908
|
-
}
|
1909
|
-
function enableObservation() {
|
1910
|
-
disabled = false;
|
1911
|
-
}
|
1912
|
-
let mo = null;
|
1913
|
-
function observe(options) {
|
1914
|
-
if (!MUTATION_OBSERVER) {
|
1915
|
-
return;
|
1916
|
-
}
|
1917
|
-
if (!config.observeMutations) {
|
1918
|
-
return;
|
1919
|
-
}
|
1920
|
-
const {
|
1921
|
-
treeCallback = noop$2,
|
1922
|
-
nodeCallback = noop$2,
|
1923
|
-
pseudoElementsCallback = noop$2,
|
1924
|
-
observeMutationsRoot = DOCUMENT
|
1925
|
-
} = options;
|
1926
|
-
mo = new MUTATION_OBSERVER(objects => {
|
1927
|
-
if (disabled) return;
|
1928
|
-
const defaultPrefix = getDefaultUsablePrefix();
|
1929
|
-
toArray(objects).forEach(mutationRecord => {
|
1930
|
-
if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {
|
1931
|
-
if (config.searchPseudoElements) {
|
1932
|
-
pseudoElementsCallback(mutationRecord.target);
|
1933
|
-
}
|
1934
|
-
treeCallback(mutationRecord.target);
|
1935
|
-
}
|
1936
|
-
if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {
|
1937
|
-
pseudoElementsCallback(mutationRecord.target.parentNode);
|
1938
|
-
}
|
1939
|
-
if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {
|
1940
|
-
if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {
|
1941
|
-
const {
|
1942
|
-
prefix,
|
1943
|
-
iconName
|
1944
|
-
} = getCanonicalIcon(classArray(mutationRecord.target));
|
1945
|
-
mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);
|
1946
|
-
if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);
|
1947
|
-
} else if (hasBeenReplaced(mutationRecord.target)) {
|
1948
|
-
nodeCallback(mutationRecord.target);
|
1949
|
-
}
|
1950
|
-
}
|
1951
|
-
});
|
1952
|
-
});
|
1953
|
-
if (!IS_DOM) return;
|
1954
|
-
mo.observe(observeMutationsRoot, {
|
1955
|
-
childList: true,
|
1956
|
-
attributes: true,
|
1957
|
-
characterData: true,
|
1958
|
-
subtree: true
|
1959
|
-
});
|
1960
|
-
}
|
1961
|
-
function disconnect() {
|
1962
|
-
if (!mo) return;
|
1963
|
-
mo.disconnect();
|
1964
|
-
}
|
1965
|
-
|
1966
|
-
function styleParser (node) {
|
1967
|
-
const style = node.getAttribute('style');
|
1968
|
-
let val = [];
|
1969
|
-
if (style) {
|
1970
|
-
val = style.split(';').reduce((acc, style) => {
|
1971
|
-
const styles = style.split(':');
|
1972
|
-
const prop = styles[0];
|
1973
|
-
const value = styles.slice(1);
|
1974
|
-
if (prop && value.length > 0) {
|
1975
|
-
acc[prop] = value.join(':').trim();
|
1976
|
-
}
|
1977
|
-
return acc;
|
1978
|
-
}, {});
|
1979
|
-
}
|
1980
|
-
return val;
|
1981
|
-
}
|
1982
|
-
|
1983
|
-
function classParser (node) {
|
1984
|
-
const existingPrefix = node.getAttribute('data-prefix');
|
1985
|
-
const existingIconName = node.getAttribute('data-icon');
|
1986
|
-
const innerText = node.innerText !== undefined ? node.innerText.trim() : '';
|
1987
|
-
let val = getCanonicalIcon(classArray(node));
|
1988
|
-
if (!val.prefix) {
|
1989
|
-
val.prefix = getDefaultUsablePrefix();
|
1990
|
-
}
|
1991
|
-
if (existingPrefix && existingIconName) {
|
1992
|
-
val.prefix = existingPrefix;
|
1993
|
-
val.iconName = existingIconName;
|
1994
|
-
}
|
1995
|
-
if (val.iconName && val.prefix) {
|
1996
|
-
return val;
|
1997
|
-
}
|
1998
|
-
if (val.prefix && innerText.length > 0) {
|
1999
|
-
val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));
|
2000
|
-
}
|
2001
|
-
if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {
|
2002
|
-
val.iconName = node.firstChild.data;
|
2003
|
-
}
|
2004
|
-
return val;
|
2005
|
-
}
|
2006
|
-
|
2007
|
-
function attributesParser (node) {
|
2008
|
-
const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {
|
2009
|
-
if (acc.name !== 'class' && acc.name !== 'style') {
|
2010
|
-
acc[attr.name] = attr.value;
|
2011
|
-
}
|
2012
|
-
return acc;
|
2013
|
-
}, {});
|
2014
|
-
const title = node.getAttribute('title');
|
2015
|
-
const titleId = node.getAttribute('data-fa-title-id');
|
2016
|
-
if (config.autoA11y) {
|
2017
|
-
if (title) {
|
2018
|
-
extraAttributes['aria-labelledby'] = "".concat(config.replacementClass, "-title-").concat(titleId || nextUniqueId());
|
2019
|
-
} else {
|
2020
|
-
extraAttributes['aria-hidden'] = 'true';
|
2021
|
-
extraAttributes['focusable'] = 'false';
|
2022
|
-
}
|
2023
|
-
}
|
2024
|
-
return extraAttributes;
|
2025
|
-
}
|
2026
|
-
|
2027
|
-
function blankMeta() {
|
2028
|
-
return {
|
2029
|
-
iconName: null,
|
2030
|
-
title: null,
|
2031
|
-
titleId: null,
|
2032
|
-
prefix: null,
|
2033
|
-
transform: meaninglessTransform,
|
2034
|
-
symbol: false,
|
2035
|
-
mask: {
|
2036
|
-
iconName: null,
|
2037
|
-
prefix: null,
|
2038
|
-
rest: []
|
2039
|
-
},
|
2040
|
-
maskId: null,
|
2041
|
-
extra: {
|
2042
|
-
classes: [],
|
2043
|
-
styles: {},
|
2044
|
-
attributes: {}
|
2045
|
-
}
|
2046
|
-
};
|
2047
|
-
}
|
2048
|
-
function parseMeta(node) {
|
2049
|
-
let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
2050
|
-
styleParser: true
|
2051
|
-
};
|
2052
|
-
const {
|
2053
|
-
iconName,
|
2054
|
-
prefix,
|
2055
|
-
rest: extraClasses
|
2056
|
-
} = classParser(node);
|
2057
|
-
const extraAttributes = attributesParser(node);
|
2058
|
-
const pluginMeta = chainHooks('parseNodeAttributes', {}, node);
|
2059
|
-
let extraStyles = parser.styleParser ? styleParser(node) : [];
|
2060
|
-
return _objectSpread2({
|
2061
|
-
iconName,
|
2062
|
-
title: node.getAttribute('title'),
|
2063
|
-
titleId: node.getAttribute('data-fa-title-id'),
|
2064
|
-
prefix,
|
2065
|
-
transform: meaninglessTransform,
|
2066
|
-
mask: {
|
2067
|
-
iconName: null,
|
2068
|
-
prefix: null,
|
2069
|
-
rest: []
|
2070
|
-
},
|
2071
|
-
maskId: null,
|
2072
|
-
symbol: false,
|
2073
|
-
extra: {
|
2074
|
-
classes: extraClasses,
|
2075
|
-
styles: extraStyles,
|
2076
|
-
attributes: extraAttributes
|
2077
|
-
}
|
2078
|
-
}, pluginMeta);
|
2079
|
-
}
|
2080
|
-
|
2081
|
-
const {
|
2082
|
-
styles: styles$2
|
2083
|
-
} = namespace;
|
2084
|
-
function generateMutation(node) {
|
2085
|
-
const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {
|
2086
|
-
styleParser: false
|
2087
|
-
}) : parseMeta(node);
|
2088
|
-
if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {
|
2089
|
-
return callProvided('generateLayersText', node, nodeMeta);
|
2090
|
-
} else {
|
2091
|
-
return callProvided('generateSvgReplacementMutation', node, nodeMeta);
|
2092
|
-
}
|
2093
|
-
}
|
2094
|
-
function getKnownPrefixes() {
|
2095
|
-
return [...Ft, ...Ia];
|
2096
|
-
}
|
2097
|
-
function onTree(root) {
|
2098
|
-
let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
2099
|
-
if (!IS_DOM) return Promise.resolve();
|
2100
|
-
const htmlClassList = DOCUMENT.documentElement.classList;
|
2101
|
-
const hclAdd = suffix => htmlClassList.add("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
|
2102
|
-
const hclRemove = suffix => htmlClassList.remove("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
|
2103
|
-
const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));
|
2104
|
-
if (!prefixes.includes('fa')) {
|
2105
|
-
prefixes.push('fa');
|
2106
|
-
}
|
2107
|
-
const prefixesDomQuery = [".".concat(LAYERS_TEXT_CLASSNAME, ":not([").concat(DATA_FA_I2SVG, "])")].concat(prefixes.map(p$$1 => ".".concat(p$$1, ":not([").concat(DATA_FA_I2SVG, "])"))).join(', ');
|
2108
|
-
if (prefixesDomQuery.length === 0) {
|
2109
|
-
return Promise.resolve();
|
2110
|
-
}
|
2111
|
-
let candidates = [];
|
2112
|
-
try {
|
2113
|
-
candidates = toArray(root.querySelectorAll(prefixesDomQuery));
|
2114
|
-
} catch (e$$1) {
|
2115
|
-
// noop
|
2116
|
-
}
|
2117
|
-
if (candidates.length > 0) {
|
2118
|
-
hclAdd('pending');
|
2119
|
-
hclRemove('complete');
|
2120
|
-
} else {
|
2121
|
-
return Promise.resolve();
|
2122
|
-
}
|
2123
|
-
const mark = perf.begin('onTree');
|
2124
|
-
const mutations = candidates.reduce((acc, node) => {
|
2125
|
-
try {
|
2126
|
-
const mutation = generateMutation(node);
|
2127
|
-
if (mutation) {
|
2128
|
-
acc.push(mutation);
|
2129
|
-
}
|
2130
|
-
} catch (e$$1) {
|
2131
|
-
if (!PRODUCTION) {
|
2132
|
-
if (e$$1.name === 'MissingIcon') {
|
2133
|
-
console.error(e$$1);
|
2134
|
-
}
|
2135
|
-
}
|
2136
|
-
}
|
2137
|
-
return acc;
|
2138
|
-
}, []);
|
2139
|
-
return new Promise((resolve, reject) => {
|
2140
|
-
Promise.all(mutations).then(resolvedMutations => {
|
2141
|
-
perform(resolvedMutations, () => {
|
2142
|
-
hclAdd('active');
|
2143
|
-
hclAdd('complete');
|
2144
|
-
hclRemove('pending');
|
2145
|
-
if (typeof callback === 'function') callback();
|
2146
|
-
mark();
|
2147
|
-
resolve();
|
2148
|
-
});
|
2149
|
-
}).catch(e$$1 => {
|
2150
|
-
mark();
|
2151
|
-
reject(e$$1);
|
2152
|
-
});
|
2153
|
-
});
|
2154
|
-
}
|
2155
|
-
function onNode(node) {
|
2156
|
-
let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
2157
|
-
generateMutation(node).then(mutation => {
|
2158
|
-
if (mutation) {
|
2159
|
-
perform([mutation], callback);
|
2160
|
-
}
|
2161
|
-
});
|
2162
|
-
}
|
2163
|
-
function resolveIcons(next) {
|
2164
|
-
return function (maybeIconDefinition) {
|
2165
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
2166
|
-
const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});
|
2167
|
-
let {
|
2168
|
-
mask
|
2169
|
-
} = params;
|
2170
|
-
if (mask) {
|
2171
|
-
mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});
|
2172
|
-
}
|
2173
|
-
return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {
|
2174
|
-
mask
|
2175
|
-
}));
|
2176
|
-
};
|
2177
|
-
}
|
2178
|
-
const render = function (iconDefinition) {
|
2179
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
2180
|
-
const {
|
2181
|
-
transform = meaninglessTransform,
|
2182
|
-
symbol = false,
|
2183
|
-
mask = null,
|
2184
|
-
maskId = null,
|
2185
|
-
title = null,
|
2186
|
-
titleId = null,
|
2187
|
-
classes = [],
|
2188
|
-
attributes = {},
|
2189
|
-
styles = {}
|
2190
|
-
} = params;
|
2191
|
-
if (!iconDefinition) return;
|
2192
|
-
const {
|
2193
|
-
prefix,
|
2194
|
-
iconName,
|
2195
|
-
icon
|
2196
|
-
} = iconDefinition;
|
2197
|
-
return domVariants(_objectSpread2({
|
2198
|
-
type: 'icon'
|
2199
|
-
}, iconDefinition), () => {
|
2200
|
-
callHooks('beforeDOMElementCreation', {
|
2201
|
-
iconDefinition,
|
2202
|
-
params
|
2203
|
-
});
|
2204
|
-
if (config.autoA11y) {
|
2205
|
-
if (title) {
|
2206
|
-
attributes['aria-labelledby'] = "".concat(config.replacementClass, "-title-").concat(titleId || nextUniqueId());
|
2207
|
-
} else {
|
2208
|
-
attributes['aria-hidden'] = 'true';
|
2209
|
-
attributes['focusable'] = 'false';
|
2210
|
-
}
|
2211
|
-
}
|
2212
|
-
return makeInlineSvgAbstract({
|
2213
|
-
icons: {
|
2214
|
-
main: asFoundIcon(icon),
|
2215
|
-
mask: mask ? asFoundIcon(mask.icon) : {
|
2216
|
-
found: false,
|
2217
|
-
width: null,
|
2218
|
-
height: null,
|
2219
|
-
icon: {}
|
2220
|
-
}
|
2221
|
-
},
|
2222
|
-
prefix,
|
2223
|
-
iconName,
|
2224
|
-
transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),
|
2225
|
-
symbol,
|
2226
|
-
title,
|
2227
|
-
maskId,
|
2228
|
-
titleId,
|
2229
|
-
extra: {
|
2230
|
-
attributes,
|
2231
|
-
styles,
|
2232
|
-
classes
|
2233
|
-
}
|
2234
|
-
});
|
2235
|
-
});
|
2236
|
-
};
|
2237
|
-
var ReplaceElements = {
|
2238
|
-
mixout() {
|
2239
|
-
return {
|
2240
|
-
icon: resolveIcons(render)
|
2241
|
-
};
|
2242
|
-
},
|
2243
|
-
hooks() {
|
2244
|
-
return {
|
2245
|
-
mutationObserverCallbacks(accumulator) {
|
2246
|
-
accumulator.treeCallback = onTree;
|
2247
|
-
accumulator.nodeCallback = onNode;
|
2248
|
-
return accumulator;
|
2249
|
-
}
|
2250
|
-
};
|
2251
|
-
},
|
2252
|
-
provides(providers$$1) {
|
2253
|
-
providers$$1.i2svg = function (params) {
|
2254
|
-
const {
|
2255
|
-
node = DOCUMENT,
|
2256
|
-
callback = () => {}
|
2257
|
-
} = params;
|
2258
|
-
return onTree(node, callback);
|
2259
|
-
};
|
2260
|
-
providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {
|
2261
|
-
const {
|
2262
|
-
iconName,
|
2263
|
-
title,
|
2264
|
-
titleId,
|
2265
|
-
prefix,
|
2266
|
-
transform,
|
2267
|
-
symbol,
|
2268
|
-
mask,
|
2269
|
-
maskId,
|
2270
|
-
extra
|
2271
|
-
} = nodeMeta;
|
2272
|
-
return new Promise((resolve, reject) => {
|
2273
|
-
Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({
|
2274
|
-
found: false,
|
2275
|
-
width: 512,
|
2276
|
-
height: 512,
|
2277
|
-
icon: {}
|
2278
|
-
})]).then(_ref => {
|
2279
|
-
let [main, mask] = _ref;
|
2280
|
-
resolve([node, makeInlineSvgAbstract({
|
2281
|
-
icons: {
|
2282
|
-
main,
|
2283
|
-
mask
|
2284
|
-
},
|
2285
|
-
prefix,
|
2286
|
-
iconName,
|
2287
|
-
transform,
|
2288
|
-
symbol,
|
2289
|
-
maskId,
|
2290
|
-
title,
|
2291
|
-
titleId,
|
2292
|
-
extra,
|
2293
|
-
watchable: true
|
2294
|
-
})]);
|
2295
|
-
}).catch(reject);
|
2296
|
-
});
|
2297
|
-
};
|
2298
|
-
providers$$1.generateAbstractIcon = function (_ref2) {
|
2299
|
-
let {
|
2300
|
-
children,
|
2301
|
-
attributes,
|
2302
|
-
main,
|
2303
|
-
transform,
|
2304
|
-
styles
|
2305
|
-
} = _ref2;
|
2306
|
-
const styleString = joinStyles(styles);
|
2307
|
-
if (styleString.length > 0) {
|
2308
|
-
attributes['style'] = styleString;
|
2309
|
-
}
|
2310
|
-
let nextChild;
|
2311
|
-
if (transformIsMeaningful(transform)) {
|
2312
|
-
nextChild = callProvided('generateAbstractTransformGrouping', {
|
2313
|
-
main,
|
2314
|
-
transform,
|
2315
|
-
containerWidth: main.width,
|
2316
|
-
iconWidth: main.width
|
2317
|
-
});
|
2318
|
-
}
|
2319
|
-
children.push(nextChild || main.icon);
|
2320
|
-
return {
|
2321
|
-
children,
|
2322
|
-
attributes
|
2323
|
-
};
|
2324
|
-
};
|
2325
|
-
}
|
2326
|
-
};
|
2327
|
-
|
2328
|
-
var Layers = {
|
2329
|
-
mixout() {
|
2330
|
-
return {
|
2331
|
-
layer(assembler) {
|
2332
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
2333
|
-
const {
|
2334
|
-
classes = []
|
2335
|
-
} = params;
|
2336
|
-
return domVariants({
|
2337
|
-
type: 'layer'
|
2338
|
-
}, () => {
|
2339
|
-
callHooks('beforeDOMElementCreation', {
|
2340
|
-
assembler,
|
2341
|
-
params
|
2342
|
-
});
|
2343
|
-
let children = [];
|
2344
|
-
assembler(args => {
|
2345
|
-
Array.isArray(args) ? args.map(a => {
|
2346
|
-
children = children.concat(a.abstract);
|
2347
|
-
}) : children = children.concat(args.abstract);
|
2348
|
-
});
|
2349
|
-
return [{
|
2350
|
-
tag: 'span',
|
2351
|
-
attributes: {
|
2352
|
-
class: ["".concat(config.cssPrefix, "-layers"), ...classes].join(' ')
|
2353
|
-
},
|
2354
|
-
children
|
2355
|
-
}];
|
2356
|
-
});
|
2357
|
-
}
|
2358
|
-
};
|
2359
|
-
}
|
2360
|
-
};
|
2361
|
-
|
2362
|
-
var LayersCounter = {
|
2363
|
-
mixout() {
|
2364
|
-
return {
|
2365
|
-
counter(content) {
|
2366
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
2367
|
-
const {
|
2368
|
-
title = null,
|
2369
|
-
classes = [],
|
2370
|
-
attributes = {},
|
2371
|
-
styles = {}
|
2372
|
-
} = params;
|
2373
|
-
return domVariants({
|
2374
|
-
type: 'counter',
|
2375
|
-
content
|
2376
|
-
}, () => {
|
2377
|
-
callHooks('beforeDOMElementCreation', {
|
2378
|
-
content,
|
2379
|
-
params
|
2380
|
-
});
|
2381
|
-
return makeLayersCounterAbstract({
|
2382
|
-
content: content.toString(),
|
2383
|
-
title,
|
2384
|
-
extra: {
|
2385
|
-
attributes,
|
2386
|
-
styles,
|
2387
|
-
classes: ["".concat(config.cssPrefix, "-layers-counter"), ...classes]
|
2388
|
-
}
|
2389
|
-
});
|
2390
|
-
});
|
2391
|
-
}
|
2392
|
-
};
|
2393
|
-
}
|
2394
|
-
};
|
2395
|
-
|
2396
|
-
var LayersText = {
|
2397
|
-
mixout() {
|
2398
|
-
return {
|
2399
|
-
text(content) {
|
2400
|
-
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
2401
|
-
const {
|
2402
|
-
transform = meaninglessTransform,
|
2403
|
-
title = null,
|
2404
|
-
classes = [],
|
2405
|
-
attributes = {},
|
2406
|
-
styles = {}
|
2407
|
-
} = params;
|
2408
|
-
return domVariants({
|
2409
|
-
type: 'text',
|
2410
|
-
content
|
2411
|
-
}, () => {
|
2412
|
-
callHooks('beforeDOMElementCreation', {
|
2413
|
-
content,
|
2414
|
-
params
|
2415
|
-
});
|
2416
|
-
return makeLayersTextAbstract({
|
2417
|
-
content,
|
2418
|
-
transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),
|
2419
|
-
title,
|
2420
|
-
extra: {
|
2421
|
-
attributes,
|
2422
|
-
styles,
|
2423
|
-
classes: ["".concat(config.cssPrefix, "-layers-text"), ...classes]
|
2424
|
-
}
|
2425
|
-
});
|
2426
|
-
});
|
2427
|
-
}
|
2428
|
-
};
|
2429
|
-
},
|
2430
|
-
provides(providers$$1) {
|
2431
|
-
providers$$1.generateLayersText = function (node, nodeMeta) {
|
2432
|
-
const {
|
2433
|
-
title,
|
2434
|
-
transform,
|
2435
|
-
extra
|
2436
|
-
} = nodeMeta;
|
2437
|
-
let width = null;
|
2438
|
-
let height = null;
|
2439
|
-
if (IS_IE) {
|
2440
|
-
const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);
|
2441
|
-
const boundingClientRect = node.getBoundingClientRect();
|
2442
|
-
width = boundingClientRect.width / computedFontSize;
|
2443
|
-
height = boundingClientRect.height / computedFontSize;
|
2444
|
-
}
|
2445
|
-
if (config.autoA11y && !title) {
|
2446
|
-
extra.attributes['aria-hidden'] = 'true';
|
2447
|
-
}
|
2448
|
-
return Promise.resolve([node, makeLayersTextAbstract({
|
2449
|
-
content: node.innerHTML,
|
2450
|
-
width,
|
2451
|
-
height,
|
2452
|
-
transform,
|
2453
|
-
title,
|
2454
|
-
extra,
|
2455
|
-
watchable: true
|
2456
|
-
})]);
|
2457
|
-
};
|
2458
|
-
}
|
2459
|
-
};
|
2460
|
-
|
2461
|
-
const CLEAN_CONTENT_PATTERN = new RegExp('\u{22}', 'ug');
|
2462
|
-
const SECONDARY_UNICODE_RANGE = [1105920, 1112319];
|
2463
|
-
const _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
|
2464
|
-
FontAwesome: {
|
2465
|
-
normal: 'fas',
|
2466
|
-
400: 'fas'
|
2467
|
-
}
|
2468
|
-
}), lt), wa), Yt);
|
2469
|
-
const FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {
|
2470
|
-
acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];
|
2471
|
-
return acc;
|
2472
|
-
}, {});
|
2473
|
-
const FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {
|
2474
|
-
const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];
|
2475
|
-
acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];
|
2476
|
-
return acc;
|
2477
|
-
}, {});
|
2478
|
-
function hexValueFromContent(content) {
|
2479
|
-
const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');
|
2480
|
-
const codePoint = codePointAt(cleaned, 0);
|
2481
|
-
const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];
|
2482
|
-
const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;
|
2483
|
-
return {
|
2484
|
-
value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),
|
2485
|
-
isSecondary: isPrependTen || isDoubled
|
2486
|
-
};
|
2487
|
-
}
|
2488
|
-
function getPrefix(fontFamily, fontWeight) {
|
2489
|
-
const fontFamilySanitized = fontFamily.replace(/^['"]|['"]$/g, '').toLowerCase();
|
2490
|
-
const fontWeightInteger = parseInt(fontWeight);
|
2491
|
-
const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;
|
2492
|
-
return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];
|
2493
|
-
}
|
2494
|
-
function replaceForPosition(node, position) {
|
2495
|
-
const pendingAttribute = "".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));
|
2496
|
-
return new Promise((resolve, reject) => {
|
2497
|
-
if (node.getAttribute(pendingAttribute) !== null) {
|
2498
|
-
// This node is already being processed
|
2499
|
-
return resolve();
|
2500
|
-
}
|
2501
|
-
const children = toArray(node.children);
|
2502
|
-
const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];
|
2503
|
-
const styles = WINDOW.getComputedStyle(node, position);
|
2504
|
-
const fontFamily = styles.getPropertyValue('font-family');
|
2505
|
-
const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);
|
2506
|
-
const fontWeight = styles.getPropertyValue('font-weight');
|
2507
|
-
const content = styles.getPropertyValue('content');
|
2508
|
-
if (alreadyProcessedPseudoElement && !fontFamilyMatch) {
|
2509
|
-
// If we've already processed it but the current computed style does not result in a font-family,
|
2510
|
-
// that probably means that a class name that was previously present to make the icon has been
|
2511
|
-
// removed. So we now should delete the icon.
|
2512
|
-
node.removeChild(alreadyProcessedPseudoElement);
|
2513
|
-
return resolve();
|
2514
|
-
} else if (fontFamilyMatch && content !== 'none' && content !== '') {
|
2515
|
-
const content = styles.getPropertyValue('content');
|
2516
|
-
let prefix = getPrefix(fontFamily, fontWeight);
|
2517
|
-
const {
|
2518
|
-
value: hexValue,
|
2519
|
-
isSecondary
|
2520
|
-
} = hexValueFromContent(content);
|
2521
|
-
const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');
|
2522
|
-
let iconName = byUnicode(prefix, hexValue);
|
2523
|
-
let iconIdentifier = iconName;
|
2524
|
-
if (isV4) {
|
2525
|
-
const iconName4 = byOldUnicode(hexValue);
|
2526
|
-
if (iconName4.iconName && iconName4.prefix) {
|
2527
|
-
iconName = iconName4.iconName;
|
2528
|
-
prefix = iconName4.prefix;
|
2529
|
-
}
|
2530
|
-
}
|
2531
|
-
|
2532
|
-
// Only convert the pseudo element in this ::before/::after position into an icon if we haven't
|
2533
|
-
// already done so with the same prefix and iconName
|
2534
|
-
if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {
|
2535
|
-
node.setAttribute(pendingAttribute, iconIdentifier);
|
2536
|
-
if (alreadyProcessedPseudoElement) {
|
2537
|
-
// Delete the old one, since we're replacing it with a new one
|
2538
|
-
node.removeChild(alreadyProcessedPseudoElement);
|
2539
|
-
}
|
2540
|
-
const meta = blankMeta();
|
2541
|
-
const {
|
2542
|
-
extra
|
2543
|
-
} = meta;
|
2544
|
-
extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;
|
2545
|
-
findIcon(iconName, prefix).then(main => {
|
2546
|
-
const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {
|
2547
|
-
icons: {
|
2548
|
-
main,
|
2549
|
-
mask: emptyCanonicalIcon()
|
2550
|
-
},
|
2551
|
-
prefix,
|
2552
|
-
iconName: iconIdentifier,
|
2553
|
-
extra,
|
2554
|
-
watchable: true
|
2555
|
-
}));
|
2556
|
-
const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
2557
|
-
if (position === '::before') {
|
2558
|
-
node.insertBefore(element, node.firstChild);
|
2559
|
-
} else {
|
2560
|
-
node.appendChild(element);
|
2561
|
-
}
|
2562
|
-
element.outerHTML = abstract.map(a$$1 => toHtml(a$$1)).join('\n');
|
2563
|
-
node.removeAttribute(pendingAttribute);
|
2564
|
-
resolve();
|
2565
|
-
}).catch(reject);
|
2566
|
-
} else {
|
2567
|
-
resolve();
|
2568
|
-
}
|
2569
|
-
} else {
|
2570
|
-
resolve();
|
2571
|
-
}
|
2572
|
-
});
|
2573
|
-
}
|
2574
|
-
function replace(node) {
|
2575
|
-
return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);
|
2576
|
-
}
|
2577
|
-
function processable(node) {
|
2578
|
-
return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');
|
2579
|
-
}
|
2580
|
-
function searchPseudoElements(root) {
|
2581
|
-
if (!IS_DOM) return;
|
2582
|
-
return new Promise((resolve, reject) => {
|
2583
|
-
const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);
|
2584
|
-
const end = perf.begin('searchPseudoElements');
|
2585
|
-
disableObservation();
|
2586
|
-
Promise.all(operations).then(() => {
|
2587
|
-
end();
|
2588
|
-
enableObservation();
|
2589
|
-
resolve();
|
2590
|
-
}).catch(() => {
|
2591
|
-
end();
|
2592
|
-
enableObservation();
|
2593
|
-
reject();
|
2594
|
-
});
|
2595
|
-
});
|
2596
|
-
}
|
2597
|
-
var PseudoElements = {
|
2598
|
-
hooks() {
|
2599
|
-
return {
|
2600
|
-
mutationObserverCallbacks(accumulator) {
|
2601
|
-
accumulator.pseudoElementsCallback = searchPseudoElements;
|
2602
|
-
return accumulator;
|
2603
|
-
}
|
2604
|
-
};
|
2605
|
-
},
|
2606
|
-
provides(providers) {
|
2607
|
-
providers.pseudoElements2svg = function (params) {
|
2608
|
-
const {
|
2609
|
-
node = DOCUMENT
|
2610
|
-
} = params;
|
2611
|
-
if (config.searchPseudoElements) {
|
2612
|
-
searchPseudoElements(node);
|
2613
|
-
}
|
2614
|
-
};
|
2615
|
-
}
|
2616
|
-
};
|
2617
|
-
|
2618
|
-
let _unwatched = false;
|
2619
|
-
var MutationObserver$1 = {
|
2620
|
-
mixout() {
|
2621
|
-
return {
|
2622
|
-
dom: {
|
2623
|
-
unwatch() {
|
2624
|
-
disableObservation();
|
2625
|
-
_unwatched = true;
|
2626
|
-
}
|
2627
|
-
}
|
2628
|
-
};
|
2629
|
-
},
|
2630
|
-
hooks() {
|
2631
|
-
return {
|
2632
|
-
bootstrap() {
|
2633
|
-
observe(chainHooks('mutationObserverCallbacks', {}));
|
2634
|
-
},
|
2635
|
-
noAuto() {
|
2636
|
-
disconnect();
|
2637
|
-
},
|
2638
|
-
watch(params) {
|
2639
|
-
const {
|
2640
|
-
observeMutationsRoot
|
2641
|
-
} = params;
|
2642
|
-
if (_unwatched) {
|
2643
|
-
enableObservation();
|
2644
|
-
} else {
|
2645
|
-
observe(chainHooks('mutationObserverCallbacks', {
|
2646
|
-
observeMutationsRoot
|
2647
|
-
}));
|
2648
|
-
}
|
2649
|
-
}
|
2650
|
-
};
|
2651
|
-
}
|
2652
|
-
};
|
2653
|
-
|
2654
|
-
const parseTransformString = transformString => {
|
2655
|
-
let transform = {
|
2656
|
-
size: 16,
|
2657
|
-
x: 0,
|
2658
|
-
y: 0,
|
2659
|
-
flipX: false,
|
2660
|
-
flipY: false,
|
2661
|
-
rotate: 0
|
2662
|
-
};
|
2663
|
-
return transformString.toLowerCase().split(' ').reduce((acc, n) => {
|
2664
|
-
const parts = n.toLowerCase().split('-');
|
2665
|
-
const first = parts[0];
|
2666
|
-
let rest = parts.slice(1).join('-');
|
2667
|
-
if (first && rest === 'h') {
|
2668
|
-
acc.flipX = true;
|
2669
|
-
return acc;
|
2670
|
-
}
|
2671
|
-
if (first && rest === 'v') {
|
2672
|
-
acc.flipY = true;
|
2673
|
-
return acc;
|
2674
|
-
}
|
2675
|
-
rest = parseFloat(rest);
|
2676
|
-
if (isNaN(rest)) {
|
2677
|
-
return acc;
|
2678
|
-
}
|
2679
|
-
switch (first) {
|
2680
|
-
case 'grow':
|
2681
|
-
acc.size = acc.size + rest;
|
2682
|
-
break;
|
2683
|
-
case 'shrink':
|
2684
|
-
acc.size = acc.size - rest;
|
2685
|
-
break;
|
2686
|
-
case 'left':
|
2687
|
-
acc.x = acc.x - rest;
|
2688
|
-
break;
|
2689
|
-
case 'right':
|
2690
|
-
acc.x = acc.x + rest;
|
2691
|
-
break;
|
2692
|
-
case 'up':
|
2693
|
-
acc.y = acc.y - rest;
|
2694
|
-
break;
|
2695
|
-
case 'down':
|
2696
|
-
acc.y = acc.y + rest;
|
2697
|
-
break;
|
2698
|
-
case 'rotate':
|
2699
|
-
acc.rotate = acc.rotate + rest;
|
2700
|
-
break;
|
2701
|
-
}
|
2702
|
-
return acc;
|
2703
|
-
}, transform);
|
2704
|
-
};
|
2705
|
-
var PowerTransforms = {
|
2706
|
-
mixout() {
|
2707
|
-
return {
|
2708
|
-
parse: {
|
2709
|
-
transform: transformString => {
|
2710
|
-
return parseTransformString(transformString);
|
2711
|
-
}
|
2712
|
-
}
|
2713
|
-
};
|
2714
|
-
},
|
2715
|
-
hooks() {
|
2716
|
-
return {
|
2717
|
-
parseNodeAttributes(accumulator, node) {
|
2718
|
-
const transformString = node.getAttribute('data-fa-transform');
|
2719
|
-
if (transformString) {
|
2720
|
-
accumulator.transform = parseTransformString(transformString);
|
2721
|
-
}
|
2722
|
-
return accumulator;
|
2723
|
-
}
|
2724
|
-
};
|
2725
|
-
},
|
2726
|
-
provides(providers) {
|
2727
|
-
providers.generateAbstractTransformGrouping = function (_ref) {
|
2728
|
-
let {
|
2729
|
-
main,
|
2730
|
-
transform,
|
2731
|
-
containerWidth,
|
2732
|
-
iconWidth
|
2733
|
-
} = _ref;
|
2734
|
-
const outer = {
|
2735
|
-
transform: "translate(".concat(containerWidth / 2, " 256)")
|
2736
|
-
};
|
2737
|
-
const innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
|
2738
|
-
const innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
|
2739
|
-
const innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
|
2740
|
-
const inner = {
|
2741
|
-
transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
|
2742
|
-
};
|
2743
|
-
const path = {
|
2744
|
-
transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
|
2745
|
-
};
|
2746
|
-
const operations = {
|
2747
|
-
outer,
|
2748
|
-
inner,
|
2749
|
-
path
|
2750
|
-
};
|
2751
|
-
return {
|
2752
|
-
tag: 'g',
|
2753
|
-
attributes: _objectSpread2({}, operations.outer),
|
2754
|
-
children: [{
|
2755
|
-
tag: 'g',
|
2756
|
-
attributes: _objectSpread2({}, operations.inner),
|
2757
|
-
children: [{
|
2758
|
-
tag: main.icon.tag,
|
2759
|
-
children: main.icon.children,
|
2760
|
-
attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)
|
2761
|
-
}]
|
2762
|
-
}]
|
2763
|
-
};
|
2764
|
-
};
|
2765
|
-
}
|
2766
|
-
};
|
2767
|
-
|
2768
|
-
const ALL_SPACE = {
|
2769
|
-
x: 0,
|
2770
|
-
y: 0,
|
2771
|
-
width: '100%',
|
2772
|
-
height: '100%'
|
2773
|
-
};
|
2774
|
-
function fillBlack(abstract) {
|
2775
|
-
let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
2776
|
-
if (abstract.attributes && (abstract.attributes.fill || force)) {
|
2777
|
-
abstract.attributes.fill = 'black';
|
2778
|
-
}
|
2779
|
-
return abstract;
|
2780
|
-
}
|
2781
|
-
function deGroup(abstract) {
|
2782
|
-
if (abstract.tag === 'g') {
|
2783
|
-
return abstract.children;
|
2784
|
-
} else {
|
2785
|
-
return [abstract];
|
2786
|
-
}
|
2787
|
-
}
|
2788
|
-
var Masks = {
|
2789
|
-
hooks() {
|
2790
|
-
return {
|
2791
|
-
parseNodeAttributes(accumulator, node) {
|
2792
|
-
const maskData = node.getAttribute('data-fa-mask');
|
2793
|
-
const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));
|
2794
|
-
if (!mask.prefix) {
|
2795
|
-
mask.prefix = getDefaultUsablePrefix();
|
2796
|
-
}
|
2797
|
-
accumulator.mask = mask;
|
2798
|
-
accumulator.maskId = node.getAttribute('data-fa-mask-id');
|
2799
|
-
return accumulator;
|
2800
|
-
}
|
2801
|
-
};
|
2802
|
-
},
|
2803
|
-
provides(providers) {
|
2804
|
-
providers.generateAbstractMask = function (_ref) {
|
2805
|
-
let {
|
2806
|
-
children,
|
2807
|
-
attributes,
|
2808
|
-
main,
|
2809
|
-
mask,
|
2810
|
-
maskId: explicitMaskId,
|
2811
|
-
transform
|
2812
|
-
} = _ref;
|
2813
|
-
const {
|
2814
|
-
width: mainWidth,
|
2815
|
-
icon: mainPath
|
2816
|
-
} = main;
|
2817
|
-
const {
|
2818
|
-
width: maskWidth,
|
2819
|
-
icon: maskPath
|
2820
|
-
} = mask;
|
2821
|
-
const trans = transformForSvg({
|
2822
|
-
transform,
|
2823
|
-
containerWidth: maskWidth,
|
2824
|
-
iconWidth: mainWidth
|
2825
|
-
});
|
2826
|
-
const maskRect = {
|
2827
|
-
tag: 'rect',
|
2828
|
-
attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {
|
2829
|
-
fill: 'white'
|
2830
|
-
})
|
2831
|
-
};
|
2832
|
-
const maskInnerGroupChildrenMixin = mainPath.children ? {
|
2833
|
-
children: mainPath.children.map(fillBlack)
|
2834
|
-
} : {};
|
2835
|
-
const maskInnerGroup = {
|
2836
|
-
tag: 'g',
|
2837
|
-
attributes: _objectSpread2({}, trans.inner),
|
2838
|
-
children: [fillBlack(_objectSpread2({
|
2839
|
-
tag: mainPath.tag,
|
2840
|
-
attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)
|
2841
|
-
}, maskInnerGroupChildrenMixin))]
|
2842
|
-
};
|
2843
|
-
const maskOuterGroup = {
|
2844
|
-
tag: 'g',
|
2845
|
-
attributes: _objectSpread2({}, trans.outer),
|
2846
|
-
children: [maskInnerGroup]
|
2847
|
-
};
|
2848
|
-
const maskId = "mask-".concat(explicitMaskId || nextUniqueId());
|
2849
|
-
const clipId = "clip-".concat(explicitMaskId || nextUniqueId());
|
2850
|
-
const maskTag = {
|
2851
|
-
tag: 'mask',
|
2852
|
-
attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {
|
2853
|
-
id: maskId,
|
2854
|
-
maskUnits: 'userSpaceOnUse',
|
2855
|
-
maskContentUnits: 'userSpaceOnUse'
|
2856
|
-
}),
|
2857
|
-
children: [maskRect, maskOuterGroup]
|
2858
|
-
};
|
2859
|
-
const defs = {
|
2860
|
-
tag: 'defs',
|
2861
|
-
children: [{
|
2862
|
-
tag: 'clipPath',
|
2863
|
-
attributes: {
|
2864
|
-
id: clipId
|
2865
|
-
},
|
2866
|
-
children: deGroup(maskPath)
|
2867
|
-
}, maskTag]
|
2868
|
-
};
|
2869
|
-
children.push(defs, {
|
2870
|
-
tag: 'rect',
|
2871
|
-
attributes: _objectSpread2({
|
2872
|
-
fill: 'currentColor',
|
2873
|
-
'clip-path': "url(#".concat(clipId, ")"),
|
2874
|
-
mask: "url(#".concat(maskId, ")")
|
2875
|
-
}, ALL_SPACE)
|
2876
|
-
});
|
2877
|
-
return {
|
2878
|
-
children,
|
2879
|
-
attributes
|
2880
|
-
};
|
2881
|
-
};
|
2882
|
-
}
|
2883
|
-
};
|
2884
|
-
|
2885
|
-
var MissingIconIndicator = {
|
2886
|
-
provides(providers) {
|
2887
|
-
let reduceMotion = false;
|
2888
|
-
if (WINDOW.matchMedia) {
|
2889
|
-
reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
2890
|
-
}
|
2891
|
-
providers.missingIconAbstract = function () {
|
2892
|
-
const gChildren = [];
|
2893
|
-
const FILL = {
|
2894
|
-
fill: 'currentColor'
|
2895
|
-
};
|
2896
|
-
const ANIMATION_BASE = {
|
2897
|
-
attributeType: 'XML',
|
2898
|
-
repeatCount: 'indefinite',
|
2899
|
-
dur: '2s'
|
2900
|
-
};
|
2901
|
-
|
2902
|
-
// Ring
|
2903
|
-
gChildren.push({
|
2904
|
-
tag: 'path',
|
2905
|
-
attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
|
2906
|
-
d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'
|
2907
|
-
})
|
2908
|
-
});
|
2909
|
-
const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {
|
2910
|
-
attributeName: 'opacity'
|
2911
|
-
});
|
2912
|
-
const dot = {
|
2913
|
-
tag: 'circle',
|
2914
|
-
attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
|
2915
|
-
cx: '256',
|
2916
|
-
cy: '364',
|
2917
|
-
r: '28'
|
2918
|
-
}),
|
2919
|
-
children: []
|
2920
|
-
};
|
2921
|
-
if (!reduceMotion) {
|
2922
|
-
dot.children.push({
|
2923
|
-
tag: 'animate',
|
2924
|
-
attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {
|
2925
|
-
attributeName: 'r',
|
2926
|
-
values: '28;14;28;28;14;28;'
|
2927
|
-
})
|
2928
|
-
}, {
|
2929
|
-
tag: 'animate',
|
2930
|
-
attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {
|
2931
|
-
values: '1;0;1;1;0;1;'
|
2932
|
-
})
|
2933
|
-
});
|
2934
|
-
}
|
2935
|
-
gChildren.push(dot);
|
2936
|
-
gChildren.push({
|
2937
|
-
tag: 'path',
|
2938
|
-
attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
|
2939
|
-
opacity: '1',
|
2940
|
-
d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'
|
2941
|
-
}),
|
2942
|
-
children: reduceMotion ? [] : [{
|
2943
|
-
tag: 'animate',
|
2944
|
-
attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {
|
2945
|
-
values: '1;0;0;0;0;1;'
|
2946
|
-
})
|
2947
|
-
}]
|
2948
|
-
});
|
2949
|
-
if (!reduceMotion) {
|
2950
|
-
// Exclamation
|
2951
|
-
gChildren.push({
|
2952
|
-
tag: 'path',
|
2953
|
-
attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
|
2954
|
-
opacity: '0',
|
2955
|
-
d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'
|
2956
|
-
}),
|
2957
|
-
children: [{
|
2958
|
-
tag: 'animate',
|
2959
|
-
attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {
|
2960
|
-
values: '0;0;1;1;0;0;'
|
2961
|
-
})
|
2962
|
-
}]
|
2963
|
-
});
|
2964
|
-
}
|
2965
|
-
return {
|
2966
|
-
tag: 'g',
|
2967
|
-
attributes: {
|
2968
|
-
'class': 'missing'
|
2969
|
-
},
|
2970
|
-
children: gChildren
|
2971
|
-
};
|
2972
|
-
};
|
2973
|
-
}
|
2974
|
-
};
|
2975
|
-
|
2976
|
-
var SvgSymbols = {
|
2977
|
-
hooks() {
|
2978
|
-
return {
|
2979
|
-
parseNodeAttributes(accumulator, node) {
|
2980
|
-
const symbolData = node.getAttribute('data-fa-symbol');
|
2981
|
-
const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;
|
2982
|
-
accumulator['symbol'] = symbol;
|
2983
|
-
return accumulator;
|
2984
|
-
}
|
2985
|
-
};
|
2986
|
-
}
|
2987
|
-
};
|
2988
|
-
|
2989
|
-
var plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];
|
2990
|
-
|
2991
|
-
registerPlugins(plugins, {
|
2992
|
-
mixoutsTo: api
|
2993
|
-
});
|
2994
|
-
api.noAuto;
|
2995
|
-
api.config;
|
2996
|
-
const library$1 = api.library;
|
2997
|
-
const dom$1 = api.dom;
|
2998
|
-
api.parse;
|
2999
|
-
api.findIconDefinition;
|
3000
|
-
api.toHtml;
|
3001
|
-
api.icon;
|
3002
|
-
api.layer;
|
3003
|
-
api.text;
|
3004
|
-
api.counter;
|
3005
|
-
|
3006
|
-
/*!
|
3007
|
-
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
3008
|
-
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
3009
|
-
* Copyright 2024 Fonticons, Inc.
|
3010
|
-
*/
|
3011
|
-
const faHeading = {
|
3012
|
-
prefix: 'fas',
|
3013
|
-
iconName: 'heading',
|
3014
|
-
icon: [448, 512, ["header"], "f1dc", "M0 64C0 46.3 14.3 32 32 32l48 0 48 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 112 224 0 0-112-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l48 0 48 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 144 0 176 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-144-224 0 0 144 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-176L48 96 32 96C14.3 96 0 81.7 0 64z"]
|
3015
|
-
};
|
3016
|
-
const faBold = {
|
3017
|
-
prefix: 'fas',
|
3018
|
-
iconName: 'bold',
|
3019
|
-
icon: [384, 512, [], "f032", "M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z"]
|
3020
|
-
};
|
3021
|
-
const faImage = {
|
3022
|
-
prefix: 'fas',
|
3023
|
-
iconName: 'image',
|
3024
|
-
icon: [512, 512, [], "f03e", "M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"]
|
3025
|
-
};
|
3026
|
-
const faTableColumns = {
|
3027
|
-
prefix: 'fas',
|
3028
|
-
iconName: 'table-columns',
|
3029
|
-
icon: [512, 512, ["columns"], "f0db", "M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 64l0 256 160 0 0-256L64 160zm384 0l-160 0 0 256 160 0 0-256z"]
|
3030
|
-
};
|
3031
|
-
const faColumns = faTableColumns;
|
3032
|
-
const faItalic = {
|
3033
|
-
prefix: 'fas',
|
3034
|
-
iconName: 'italic',
|
3035
|
-
icon: [384, 512, [], "f033", "M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z"]
|
3036
|
-
};
|
3037
|
-
const faListOl = {
|
3038
|
-
prefix: 'fas',
|
3039
|
-
iconName: 'list-ol',
|
3040
|
-
icon: [512, 512, ["list-1-2", "list-numeric"], "f0cb", "M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"]
|
3041
|
-
};
|
3042
|
-
const faUpDownLeftRight = {
|
3043
|
-
prefix: 'fas',
|
3044
|
-
iconName: 'up-down-left-right',
|
3045
|
-
icon: [512, 512, ["arrows-alt"], "f0b2", "M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 96-96 0 0-32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-32 96 0 0 96-32 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0 0-96 96 0 0 32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 32-96 0 0-96 32 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z"]
|
3046
|
-
};
|
3047
|
-
const faArrowsAlt = faUpDownLeftRight;
|
3048
|
-
const faCircleQuestion = {
|
3049
|
-
prefix: 'fas',
|
3050
|
-
iconName: 'circle-question',
|
3051
|
-
icon: [512, 512, [62108, "question-circle"], "f059", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]
|
3052
|
-
};
|
3053
|
-
const faQuestionCircle = faCircleQuestion;
|
3054
|
-
const faEye = {
|
3055
|
-
prefix: 'fas',
|
3056
|
-
iconName: 'eye',
|
3057
|
-
icon: [576, 512, [128065], "f06e", "M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"]
|
3058
|
-
};
|
3059
|
-
const faLink = {
|
3060
|
-
prefix: 'fas',
|
3061
|
-
iconName: 'link',
|
3062
|
-
icon: [640, 512, [128279, "chain"], "f0c1", "M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"]
|
3063
|
-
};
|
3064
|
-
const faListUl = {
|
3065
|
-
prefix: 'fas',
|
3066
|
-
iconName: 'list-ul',
|
3067
|
-
icon: [512, 512, ["list-dots"], "f0ca", "M64 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48-208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z"]
|
3068
|
-
};
|
3069
|
-
const faQuoteLeft = {
|
3070
|
-
prefix: 'fas',
|
3071
|
-
iconName: 'quote-left',
|
3072
|
-
icon: [448, 512, [8220, "quote-left-alt"], "f10d", "M0 216C0 149.7 53.7 96 120 96l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-30.9 0-56 25.1-56 56l0 8 64 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64l0-32 0-32 0-72zm256 0c0-66.3 53.7-120 120-120l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-30.9 0-56 25.1-56 56l0 8 64 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64l0-32 0-32 0-72z"]
|
3073
|
-
};
|
3074
|
-
|
3075
|
-
library$1.add([
|
3076
|
-
faBold,
|
3077
|
-
faItalic,
|
3078
|
-
faHeading,
|
3079
|
-
faQuoteLeft,
|
3080
|
-
faListUl,
|
3081
|
-
faListOl,
|
3082
|
-
faLink,
|
3083
|
-
faImage,
|
3084
|
-
faEye,
|
3085
|
-
faColumns,
|
3086
|
-
faArrowsAlt,
|
3087
|
-
faQuestionCircle,
|
3088
|
-
]);
|
3089
|
-
dom$1.i2svg();
|
3090
|
-
dom$1.watch();
|
3091
|
-
|
3092
88
|
const QuestContext = createContext({
|
3093
89
|
open: false,
|
3094
90
|
setQuestsOpen: () => { },
|
@@ -4047,7 +1043,7 @@ const UserControl = () => {
|
|
4047
1043
|
const profile = user && items.find((i) => i.user_created?.id === user.id && i.layer?.userProfileLayer);
|
4048
1044
|
profile
|
4049
1045
|
? setUserProfile(profile)
|
4050
|
-
: setUserProfile({ id:
|
1046
|
+
: setUserProfile({ id: 'new', name: user?.first_name ?? '', text: '' });
|
4051
1047
|
}, [user, items]);
|
4052
1048
|
const onLogout = async () => {
|
4053
1049
|
await toast.promise(logout(), {
|
@@ -4083,7 +1079,7 @@ function NavBar({ appName }) {
|
|
4083
1079
|
!appState.embedded && nameRef.current && setNameWidth(nameRef.current.scrollWidth);
|
4084
1080
|
}, [nameRef, appName, appState.embedded]);
|
4085
1081
|
if (!appState.embedded) {
|
4086
|
-
return (jsx(Fragment, { children: jsxs("div", { className: 'tw:navbar tw:bg-base-100 tw:z-9998 tw:shadow-xl tw:relative tw:p-0', children: [jsx("button", { className: 'tw:btn tw:btn-square tw:btn-ghost tw:ml-3', "aria-controls": '#sidenav', "aria-haspopup": 'true', onClick: () => toggleSidebar(), children: jsx(ForwardRef, { className: 'tw:inline-block tw:w-5 tw:h-5' }) }), jsx("div", { className: 'tw:flex-1 tw:mr-2', children: jsxs("div", { className: 'tw:flex-1 tw:truncate tw:grid tw:grid-flow-col', style: { maxWidth: nameWidth +
|
1082
|
+
return (jsx(Fragment, { children: jsxs("div", { className: 'tw:navbar tw:bg-base-100 tw:z-9998 tw:shadow-xl tw:relative tw:p-0', children: [jsx("button", { className: 'tw:btn tw:btn-square tw:btn-ghost tw:ml-3', "aria-controls": '#sidenav', "aria-haspopup": 'true', onClick: () => toggleSidebar(), children: jsx(ForwardRef, { className: 'tw:inline-block tw:w-5 tw:h-5' }) }), jsx("div", { className: 'tw:flex-1 tw:mr-2', children: jsxs("div", { className: 'tw:flex-1 tw:truncate tw:grid tw:grid-flow-col', style: { maxWidth: nameWidth + 62 }, children: [jsx(Link, { className: 'tw:btn tw:btn-ghost tw:px-2 tw:normal-case tw:text-xl tw:flex-1 tw:truncate', to: '/', children: jsx("h1", { ref: nameRef, className: 'tw:truncate', children: appName }) }), jsx("button", { className: 'tw:btn tw:px-2 tw:btn-ghost', onClick: () => window.my_modal_3.showModal(), children: jsx(QuestionMarkIcon, { className: 'tw:h-5 tw:w-5' }) })] }) }), appState.showThemeControl && jsx(ThemeControl, {}), jsx(UserControl, {})] }) }));
|
4087
1083
|
}
|
4088
1084
|
else
|
4089
1085
|
return jsx(Fragment, {});
|
@@ -4410,7 +1406,7 @@ const PopupTextAreaInput$1 = ({ dataField, placeholder, style, item, }) => {
|
|
4410
1406
|
* @category Map
|
4411
1407
|
*/
|
4412
1408
|
const PopupTextInput$1 = ({ dataField, placeholder, style, item, }) => {
|
4413
|
-
return (jsx(TextInput, { defaultValue: item?.name ? item.name : '', dataField: dataField, placeholder: placeholder, inputStyle: style, type: 'text', containerStyle: 'tw:mt-4' }));
|
1409
|
+
return (jsx(TextInput, { defaultValue: item?.name ? item.name : '', dataField: dataField, placeholder: placeholder, inputStyle: style, type: 'text', containerStyle: 'tw:mt-4 tw:mb-2' }));
|
4414
1410
|
};
|
4415
1411
|
|
4416
1412
|
/**
|
@@ -4741,7 +1737,7 @@ const MarketView = () => {
|
|
4741
1737
|
};
|
4742
1738
|
|
4743
1739
|
const LoadingMapOverlay = () => {
|
4744
|
-
return (jsx(MapOverlayPage, { children: jsx("div", { className: 'tw:
|
1740
|
+
return (jsx(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-64 tw:bg-transparent', card: false, children: jsx("div", { className: 'tw:flex tw:justify-center tw:items-center tw:h-full', children: jsx("div", { className: 'tw:loading tw:loading-spinner tw:loading-xl' }) }) }));
|
4745
1741
|
};
|
4746
1742
|
|
4747
1743
|
const ItemContext = createContext(undefined);
|
@@ -5047,5 +2043,5 @@ const PopupCheckboxInput = templateify(PopupCheckboxInput$1);
|
|
5047
2043
|
const PopupTextAreaInput = templateify(PopupTextAreaInput$1);
|
5048
2044
|
const PopupStartEndInput = templateify(PopupStartEndInput$1);
|
5049
2045
|
|
5050
|
-
export { AppShell, AttestationForm, CardPage, Content, Layer, LoadingMapOverlay, LoginPage, MapOverlayPage, MarketView, Modal, OverlayItemsIndexPage, Permissions, PopupButton, PopupCheckboxInput, PopupForm, PopupStartEndInput, PopupTextAreaInput, PopupTextInput, PopupView, Quests, RequestPasswordPage, SelectUser, SetNewPasswordPage, SideBar, SignupPage, StartEndView,
|
2046
|
+
export { AppShell, AttestationForm, CardPage, Content, Layer, LoadingMapOverlay, LoginPage, MapOverlayPage, MarketView, Modal, OverlayItemsIndexPage, Permissions, PopupButton, PopupCheckboxInput, PopupForm, PopupStartEndInput, PopupTextAreaInput, PopupTextInput, PopupView, Quests, RequestPasswordPage, SelectUser, SetNewPasswordPage, SideBar, SignupPage, StartEndView, Tags, TextAreaInput, TextInput, TextView, TitleCard, UtopiaMap };
|
5051
2047
|
//# sourceMappingURL=index.esm.js.map
|